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++ - 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

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
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

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...

PM Quote