codice:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main () {
FILE *pf;
srand((unsigned)time(NULL));
int i;
.
.
.
//la matricola è l'intero "i" che si incrementa
.
.
.
int a, m, g; //data_nascita
int anno; //anno_assunzione
int stip; //stipendio
.
.
int uff; //numero dell'ufficio
int rep; //numero reparto
int f=0; //intero per scegliere a caso se avrò un ufficio o meno
pf = fopen ("dati.txt", "w");
if (pf) {
for (i=1; i<20; i++) {
anno=rand()%40 + 1970;
stip=rand()%750 + 850;
a=rand()%41 + 1950;
m=rand()%12 + 1;
g=rand()%31 + 1;
rep=rand()%11 + 1; //scelgo un reparto da 1 a 10 casuale
f=rand()%3 + 1; //scegli se avrò un ufficio
if (f==1) { // dipendente con ufficio
uff=rand()%11 + 1;
fprintf(pf,"%s%d%s%s%d%s%s%d%s%d%s%d%s%d%s%d%s%d%s%d%s%s%d%s\n", &s,i,&s2,&nome,i,&s2,&cognome,i,&s2,a,&separatore,m,&separatore,g,&s2,anno,&s2,stip,&s2,&uff,&s2,reparto,&rep,&s3);
}
else { // dipendente senza ufficio
fprintf(pf,"%s%d%s%s%d%s%s%d%s%d%s%d%s%d%s%d%s%d%s%s%s%s%d%s\n", &s,i,&s2,&nome,i,&s2,&cognome,i,&s2,a,&separatore,m,&separatore,g,&s2,anno,&s2,stip,&s2,&vuoto,&s2,reparto,&rep,&s3);
}
}
fprintf(pf,"%d",&rep);
fclose (pf);
}
else printf("\nnon sei entrato.\n");
}
Come posso risolvere questa stranissima cosa??