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]);
}