Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema
Forum - C/C++ - problema

Avatar
mmp94 (Normal User)
Newbie


Messaggi: 6
Iscritto: 03/02/2009

Segnala al moderatore
Postato alle 14:32
Mercoledì, 08/04/2009
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!!!

PM Quote
Avatar
mmp94 (Normal User)
Newbie


Messaggi: 6
Iscritto: 03/02/2009

Segnala al moderatore
Postato alle 15:44
Mercoledì, 08/04/2009
trovato l errore

PM Quote