Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    7

    Problema registrazione su file c++

    salve a tutti
    sto facendo un programma che deve gestire un campionato di calcio, ma quando cerco di registrare la classifica su file continua a scrivere la stessa riga all'infinito...
    questo è il codice.. non capisco cosa ci sia di sbagliato...

    int registrasquadre(campionato *&p_head,char* nomefile)
    {
    int letti;
    ofstream fout;
    char buffer[200];
    char buffer1[200];
    char buffer2[200];
    char buffer3[200];
    campionato *p;

    //apertura del file
    fout.open(nomefile, ios:ut);
    p=p_head;
    while(p!=NULL)
    {
    //formattazione del buffer
    strcpy(buffer, p->squadra);
    riempistringa(buffer,30,' ' );
    strcpy(buffer1, p->allenatore);
    riempistringa(buffer1,30,' ');
    strcpy(buffer2, p->stadio);
    riempistringa(buffer2,30,' ');
    sprintf(buffer3, "%5d", p->anno);
    //scrittura sul file
    fout<<buffer<<buffer1<<buffer2<<buffer3<<endl;
    if (fout.fail())
    {
    cout<<"Errore di scrittura sul file "<<nomefile<<endl;
    fout.close();
    return 1;
    }
    p=p->next;
    }
    fout.close();
    return 0;
    }

  2. #2
    Innanzitutto, dato che la lista di strutture campionato non è modificata
    dalla funzione, alla stessa passerei un puntatore semplice.

    codice:
    int registrasquadre( campionato *p_head, char *nomefile)
    {
    ...
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    Originariamente inviato da Samuele_70
    Innanzitutto, dato che la lista di strutture campionato non è modificata
    dalla funzione, alla stessa passerei un puntatore semplice.

    codice:
    int registrasquadre( campionato *p_head, char *nomefile)
    {
    ...
    meglio allora un:
    codice:
    int registrasquadre( const campionato *p_head, const char *nomefile)
    Riguardo al problema della non uscita dal ciclo while, o p non diventa mai NULL, oppure altrove crei un comportamento indefinito. Insomma il codice che hai inviato non è sufficiente per diagnosticare il tuo problema ;-)

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    7
    si era un problema di puntamento.. ora ho risolto
    ora ho un altro problema nel conteggio dei punti...

    void InserisciRisultati(campionato*&p_head, classifica*&testa, char*squadracasa,giornata*&testa2,char* data)
    {
    campionato*c;
    classifica*t;
    char squadraospite[31];
    int golfatt=0;
    int golsub=0;
    int vittorie=0;
    int pareggi=0;
    int sconfitte=0;
    int punti=0;
    char conferma;
    cout<<"Gol fatti: ";
    cin>>golfatt;
    cout<<"Gol subiti: ";
    cin>>golsub;
    if(golfatt>golsub)
    {
    vittorie=1;
    punti=3;
    }
    if(golfatt<golsub)
    {
    sconfitte=1;
    punti=0;
    }
    if(golfatt==golsub)
    {
    pareggi=1;
    punti=1;
    }
    InserisciRisultati2(golfatt,golsub,p_head,testa,sq uadracasa,testa2,data);
    }


    per calcolare i punti uso questa funzione ma alla fine mi conteggia solo le vittorie e i relativi punti ma non pareggi e sconfitte... fatto in questo modo non è corretto?

  5. #5
    Originariamente inviato da Fagna
    void InserisciRisultati(campionato *&p_head, classifica*&testa, char*squadracasa,giornata*&testa2,char* data)
    VVoVe:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.