Oppure

Loading
08/04/09 12:32
mmp94
void insgio()
{
ifstream fin; //per lettura
ofstream fout; // per scrittura
int numerogiocatori;
char nomegiocatore[30];
int i;
int buche;
int numletto;
int scelta;
int scelta1;
char buffer[30];
int colpi;
int buchegiocate;
int colpigiocati;
int giociscritti;
int buchedagioc;

fout.open("punteggio.txt",ios::out);//lo apro in sovrascrittura

if(fout.fail()){
cout<< "Errore apertura del file"<<endl;
exit(1); }
//Questa funzione controlla la corretta apertura del file di scrittura

fout<<endl; //dico al programma di scrivere qualcosa ma in realta non scrivo
//nulla.....cancello quello che Ë presente sul file giocatori di un altro
//torneo....mi permette di aver un file giocatori.txt completamente nuovo!!!!
//chiusura del file aperto
fout.close(); //chiudo

// ora inizio a scrivere i nomi dei giocatori che parteciperanno al torneo sul
//file giocatori.txt
fout.open("giocatori.txt",ios::out); // apro il file giocatori sovrascrittura

if(fout.fail()) // controllo la corretta apertura del file
{
cout<< "Errore apertura del file"<<endl;
exit(1);
}
// andiamo ad inserire il numero di giocatori del torneo

cout<<"Inserire il numero di giocatori da iscrivere al torneo: ";
cin>>numerogiocatori;
i=0;
for(i=0;i<numerogiocatori;i++){
cout<<"Inserire il Nome del giocatore "<<i+1<<" : ";
cin>>nomegiocatore;
fout<<nomegiocatore<<endl; // scrive il nome del giocatore sul file aperto
}
fout.close();

//devo sapere quante buche ci sono nel torneo
// conto il numero di linee del file torneo...
fin.open("torneo.txt",ios::in);
if(fin.fail()) {
cout<< "Errore apertura del file"<<endl;
exit(1); }
//Questa funzione controlla la corretta apertura del file di scrittura

numletto=0; // inizializzo la mia variabile a 0

while(fin.getline(buffer,30)){
numletto++; }
fin.close();
buche=numletto;

cout<< "Il numero delle buche e': " << buche<<endl; // temporanea per vedere il
fin.close(); // corretto funzionamento
//chiudo il mio file in lettura

// inizio ad inserire i colpi effettuati
i=0;
fout.open("punteggio.txt",ios::out);
if(fout.fail()){
cout<< "Errore apertura del file"<<endl;
exit(1);}
do{
if(i<buche){
fin.open("giocatori.txt",ios::in);
if(fin.fail()){
cout<< "Errore apertura del file"<<endl;
exit(1); }
while( fin.getline(buffer,30)){
cout<<"Colpi di "<< buffer <<" alla buca "<<i+1<<":";
cin>>colpi;
fout<<colpi<<endl;
}
fin.close(); }
i++;
buchedagioc=buche-i;
if(buchedagioc==0)
{
cout<<"Il torneo e'terminato"<<endl;
fout.close();
insgioocolpi();
}
else
{
cout<<"Rimangono da giocare: "<<buchedagioc<<" buche"<<endl;
}
cout<<"Per inserire il punteggio della buca successiva inserire 1: ";
cin>>scelta1;
}while(scelta1==1);
fout.close();
insgioocolpi();
};
ho questa funzione di un programma....è corretta,e funziona,ma quando deve scrivere,mi scrive solo la prima volta e non tutte le volte che reinizzia il ciclo!!!
aaa
08/04/09 13:44
mmp94
trovato l errore
aaa