salve a tutto mi sono appena iscritto a HTML.IT mi chiamo roberto e ho questo grattacapo
allora io dichiaro una struct
codice:
struct d {
int a,d;
char b[30];
char c[30];};
che rappresenterà un ipotetico dipendente per il mio esercizio quando
la passo dal main a questa funzione che dovrebbe aggiungere un tot dipendenti al file già creato in precedenza
la funzione viene passsata del main cosi [aggdat(p,&c)] passando tutto per riferimento, dove p nel main è (FILE *p) e la struct è (struct d dipendente = {0,0,"",""}
codice:
void aggdat (FILE *p,struct d *op) {
int m,n;
if ((p = fopen ("lista.txt","rb+")) != NULL){
printf("quanti nuovi utenti vuoi aggiungere?\n");
scanf("%d" ,&m);
for(n = 0;n<m;n++){
fseek(p, n*sizeof(struct d), SEEK_END);
printf("inserisci numero di conto\n");
scanf("%d",op.a);
printf("inserisci nome\n");
scanf("%s",op.b);
printf("inserisci cognome\n");
scanf("%s",op.c);
printf("inserisci bilancio\n");
scanf("%d",op.d);
fwrite(dip,sizeof(struct d),1,p);
if (n+1 != m){printf("inserisci prossimo cliente\n\n");}
}fclose(p);}
allora io ho visto che il compilatore dev c++ 4 mi da
(request for member `a' in `op', which is of non-aggregate type `cl *') perchè io ho provato in tutti i modi e mi sembra un errore strano. spero che non abbia fatto la figura del niubbo ma propio mi sembra strano ho anche guardato questo post per evitare che non avessi sbagliato nulla a livello sintattico ( qualcosa mi sarà sicuramente sfuggito) ma io non lo trovato spero che voi mi aiutiate grazie a tutti in anticipo