Ragazzi avrei bisogno di un piccolo aiuto... Sto facendo un programma sui file di testo in c che in pratica dati 2 file in input di cui il primo contenente i nomi di squadre di calcio che giocano in casa e goal fatti dalla stessa squadra , il secondo contiene i nomi delle squadre che giocano in trasferta e i goal fatti dalle squadre ospiti, scriva su un ulteriore file esito "1" per la vittoria, "2" per la sconfitta e "x" per il pareggio; il programma viene compilato bene però mi stampa a video il messaggio di "file non trovato" anche se ho creato nella stessa cartella del mio progetto tutti e 3 i file.txt necessari.
Questo è il codice e grazie per la vostra collaborazione
codice:const int max_dim=100; typedef char stringa[max_dim]; struct calcio { stringa squadra; int goal; }; typedef char carattere[max_dim]; typedef calcio vettore[max_dim]; void leggi_vett(vettore, int &, const char*); void verifica(vettore, vettore, int, carattere); void stampa_sched(carattere, int, const char*);codice:#include <iostream> #include "lib.h" using namespace std; int main() { vettore v1, v2; carattere esito; int riemp1, riemp2; leggi_vett(v1, riemp1, "input1.txt"); leggi_vett(v2, riemp2, "input2.txt"); if(riemp1!=riemp2) cout<<"riempimenti diversi, non si puo' continuare"<<endl; else { verifica(v1, v2, riemp1, esito); stampa_sched(esito, riemp1, "output.txt"); } system("PAUSE"); return 0; }codice:#include <iostream> #include "lib.h" #include <string.h> using namespace std; void leggi_vett(vettore v, int &riemp, const char *nomefile) { int i; FILE* fp=fopen(nomefile, "r"); if(!fp) { cout<<"file non trovato"<<endl; system("PAUSE"); exit(1); } fscanf(fp, "%d", &riemp); for(i=0; i< riemp; i++) { fscanf(fp, "%s", v[i].squadra); fscanf(fp, "%d", v[i].goal); } } void verifica(vettore v1, vettore v2, int riemp1, carattere esito) { int i; for(i=0;i<riemp1;i++) { if(v1[i].goal>v2[i].goal) esito[i]='1'; else if(v1[i].goal<v2[i].goal) esito[i]='2'; else esito[i]='x'; } } void stampa_sched(carattere esito, int riemp1, const char *nomefile) { int i; FILE* fp=fopen(nomefile,"w"); if(!fp) { cout<<"file non trovato"<<endl; system("PAUSE"); exit(1); } for(i=0;i<riemp1;i++) fprintf(fp, "%c", esito[i]); }

Rispondi quotando