D4rkAng3l
25-02-2005, 08:55
ahhh l'esame di programmazione è una rovina
Qualche giorno fà avevo fatto un programma che scriveva su file (allegato quà sotto), oa ne ho fatto uno che dovrebbe leggere i dati precedentemente inseriti dal file e stamparli sullo schermo ma non mi funziona (me ne girasse mai uno...) che c'ha secondo voi?
1)
/* Creare un file sequenziale */
#include <stdio.h>
int main(){
int account;
int name[30];
float balance;
FILE *cfPtr; // Puntatore al file clients.dat
if((cfPtr = fopen("clients.dat", "w")) == NULL)
printf("Il file non puo' essere aperto\n");
else{
printf("Inserire l'account, il nome e il bilancio\n");
printf("? ");
scanf("%d%s%f", &account, name, &balance);
while(!feof(stdin)){
fprintf(cfPtr, "%d %s %.2f\n", account, name, balance);
printf("? ");
scanf("%d%s%f", &account, name, &balance);
}
fclose(cfPtr);
system("PAUSE");
}
return 0;
}
2)/* Leggere e stampare un file sequenziale */
#include <stdio.h>
int main(){
int account;
int name[30];
float balance;
FILE *cfPtr; // Puntatore al file clients.dat
if((cfPtr = fopen("clients.dat", "r")) == NULL)
printf("Il file non può essere aperto");
else{
printf("%-10s%-13s%s\n", "Account", "Name", "Balance");
fscanf(cfPtr, "%d%s%f", &account, name, &balance);
while(!feof(cfPtr)){
printf("%-10d%-13s%7.2f\n", account, name, balance);
fscanf(cfPtr, "%d%s%f", &account, name, &balance);
}
fclose(cfPtr);
}
system("PAUSE");
return 0;
}
3)contenuto del file clients.dat
100 Ugo 74.50
200 Massimo 66.00
300 Francesca 454.00
Qualche giorno fà avevo fatto un programma che scriveva su file (allegato quà sotto), oa ne ho fatto uno che dovrebbe leggere i dati precedentemente inseriti dal file e stamparli sullo schermo ma non mi funziona (me ne girasse mai uno...) che c'ha secondo voi?
1)
/* Creare un file sequenziale */
#include <stdio.h>
int main(){
int account;
int name[30];
float balance;
FILE *cfPtr; // Puntatore al file clients.dat
if((cfPtr = fopen("clients.dat", "w")) == NULL)
printf("Il file non puo' essere aperto\n");
else{
printf("Inserire l'account, il nome e il bilancio\n");
printf("? ");
scanf("%d%s%f", &account, name, &balance);
while(!feof(stdin)){
fprintf(cfPtr, "%d %s %.2f\n", account, name, balance);
printf("? ");
scanf("%d%s%f", &account, name, &balance);
}
fclose(cfPtr);
system("PAUSE");
}
return 0;
}
2)/* Leggere e stampare un file sequenziale */
#include <stdio.h>
int main(){
int account;
int name[30];
float balance;
FILE *cfPtr; // Puntatore al file clients.dat
if((cfPtr = fopen("clients.dat", "r")) == NULL)
printf("Il file non può essere aperto");
else{
printf("%-10s%-13s%s\n", "Account", "Name", "Balance");
fscanf(cfPtr, "%d%s%f", &account, name, &balance);
while(!feof(cfPtr)){
printf("%-10d%-13s%7.2f\n", account, name, balance);
fscanf(cfPtr, "%d%s%f", &account, name, &balance);
}
fclose(cfPtr);
}
system("PAUSE");
return 0;
}
3)contenuto del file clients.dat
100 Ugo 74.50
200 Massimo 66.00
300 Francesca 454.00