Salve a tutti, sono di nuovo qui a chiedere il vostro aiuto
Devo scrivere un programma che gestisca i tavoli di un ristorante, usando le tabelle. Ora, quando salvo la tabella dei tavoli su un file e la carico, mi escono dei numeri strani ò.ò Onestamente non me lo riesco a spiegare, quindi se poteste aiutarmi, mi fareste un immenso piacere
Vi lascio i due stralci di codice relativi al salvataggio della tabella sul file e al caricamento della stessa. Se necessario successivamente upperò tutto il programma ç__ç
int salva_tabella_su_file (TipoTabella t, char *nmf) {
FILE *f;
int i;
f=fopen(nmf, "w");
if(f==NULL) {
printf("Errore.\n");
return 0;
}
fprintf(f, "%d", t.quanti_tavoli);
for(i=0; i < t.quanti_tavoli; i++) {
fprintf(f, "%s", t.array_tavoli[i].numTavolo);
fprintf(f, "%d", t.array_tavoli[i].persone);
fprintf(f, "%d", t.array_tavoli[i].ora_arrivo.ora);
fprintf(f, "%d", t.array_tavoli[i].ora_arrivo.min);
fprintf(f, "%g", t.array_tavoli[i].conto.antipasti);
fprintf(f, "%g", t.array_tavoli[i].conto.primi);
fprintf(f, "%g", t.array_tavoli[i].conto.secondi);
fprintf(f, "%g", t.array_tavoli[i].conto.altro);
}
fclose(f);
return 1;
}
int tabella_da_File(TipoTabella *t, char *nmf) {
FILE *fin;
int i;
char buf[MAXLUNG];
fin = fopen(nmf, "r");
if(fin==NULL) {
printf("Errore.\n");
return 0;
}
fscanf(fin, "%d\n", &(t->quanti_tavoli));
for(i = 0; i < t->quanti_tavoli; i++) {
fscanf(fin, "%s", buf);
t->array_tavoli[i].numTavolo = (char *)malloc(strlen(buf) + 1);
if(t->array_tavoli[i].numTavolo == NULL) {
printf("Errore.\n");
return 0;
}
else strcpy(t->array_tavoli[i].numTavolo, buf);
fscanf(fin, "%d", &(t->array_tavoli[i].persone));
fscanf(fin, "%d", &(t->array_tavoli[i].ora_arrivo.ora));
fscanf(fin, "%d", &(t->array_tavoli[i].ora_arrivo.min));
fscanf(fin, "%lf", &(t->array_tavoli[i].conto.antipasti));
fscanf(fin, "%lf", &(t->array_tavoli[i].conto.primi));
fscanf(fin, "%lf", &(t->array_tavoli[i].conto.secondi));
fscanf(fin, "%lf", &(t->array_tavoli[i].conto.altro));
}
fclose(fin);
return 1;
}