Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - ciao scusatemi tanto potete aiutarmi
Forum - C/C++ - ciao scusatemi tanto potete aiutarmi

Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 18:49
Venerdì, 10/04/2009
          do
     {
        cout<<"inserire il risultato[1,X,2]  ";
         gets_s(totocalcio[I].risultato);
        if((totocalcio[I].risultato=="x")||(totocalcio[I].risultato=="1")||(totocalcio[I].risultato=="2"))
                {
                    flag=true;
                }
                else
                {
                    flag=false;
                }

    }
    while(flag==false);

se inserisco x 1 o 2 non mi fà andare avanti ma continua a ripetere mi sapete spiegare come fare a farlo funzionare??
grazie mille


matteog
PM Quote
Avatar
®Useless (Normal User)
Rookie


Messaggi: 26
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 19:10
Venerdì, 10/04/2009
dopo la cout usa la cin>>  per immettere il risultato.
Il problema credo siano gli apici,prova a mettere gli apici singoli ==> 'x'
Poi le parentesi graffe dell if e dell else sono inutili,cmq non ti fanno danni.

Prova cosi

          do
     {
        cout<<"inserire il risultato[1,X,2]  ";
         cin>>totocalcio[I].risultato;
        if((totocalcio[I].risultato=='x')||(totocalcio[I].risultato=='1')||(totocalcio[I].risultato=='2')) break;
                

                

    }
    while(1);

Ultima modifica effettuata da ®Useless il 10/04/2009 alle 19:14


c++
PM Quote
Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 19:12
Venerdì, 10/04/2009
no se metto gli apici singoli mi dice
1>c:\documents and settings\privato\documenti\visual studio 2008\projects\pallette\pallette\pallette.cpp(51) : error C2446: '==': nessuna conversione da 'int' a 'char *'
1>        La conversione da tipo integrale a tipo puntatore richiede reinterpret_cast, cast di tipo C o cast di tipo funzione
1>c:\documents and settings\privato\documenti\visual studio 2008\projects\pallette\pallette\pallette.cpp(51) : error C2040: '==': 'char [20]' differisce da 'int' nei livelli dei riferimenti indiretti
1>c:\documents and settings\privato\documenti\visual studio 2008\projects\pallette\pallette\pallette.cpp(51) : error C2446: '==': nessuna conversione da 'int' a 'char *'
1>        La conversione da tipo integrale a tipo puntatore richiede reinterpret_cast, cast di tipo C o cast di tipo funzione
1>c:\documents and settings\privato\documenti\visual studio 2008\projects\pallette\pallette\pallette.cpp(51) : error C2040: '==': 'char [20]' differisce da 'int' nei livelli dei riferimenti indiretti
1>c:\documents and settings\privato\documenti\visual studio 2008\projects\pallette\pallette\pallette.cpp(51) : error C2446: '==': nessuna conversione da 'int' a 'char *'
1>        La conversione da tipo integrale a tipo puntatore richiede reinterpret_cast, cast di tipo C o cast di tipo funzione
1>c:\documents and settings\privato\documenti\visual studio 2008\projects\pallette\pallette\pallette.cpp(51) : error C2040: '==': 'char [20]' differisce da 'int' nei livelli dei riferimenti indiretti


matteog
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 20:31
Venerdì, 10/04/2009
ma scusa, perché hai tolto la strcmp che avevi messo nel post precedente?
Non puoi confrontare due stringhe usando l'operatore ==, quindi è ovvio che il programma non funziona.

Te lo rispiego:

1) char x = 'c';
   char y = 'z';
   if(x == y) va bene perché stai confrontando solo due caratteri singoli.

2) char x[] = "c";
   char y[] = "z";
   if(strcmp(x,y) == 0) devi usare la strcmp per confrontare due stringhe dato che
                        una stringa è un puntatore ad un array di caratteri char.

Quindi se hai i doppi apici devi confrontarli con la strcmp....forse è meglio che ti studi bene le stringhe prima di continuare con il programma...


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote