Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    105

    [c++] problema con &&

    ciao e buona serata a tutti, sono ai primi programmini ed ho subito un problema con gli operazionali ligici, vi mostro quello che ho fatto:

    #include <iostream>
    #include <cstdlib>
    using namespace std;

    int main() {

    int J=8, Q=9, K=10;
    int n, m;
    char another;

    srand (time (NULL));
    n=1+rand() %7;

    cout<<" SETTE E MEZZO";
    cout<<"\n";
    cout<<"\nla tua carta: " <<n;
    cout<<"\nvuoi un'altra carta (c) o stai (s)?: ";
    cin>>another;


    if (another=='c') {
    m=1+rand() %7;
    cout<<"carta: "<<m;
    }

    if (another=='s') cout<<"tocca al banco";

    if (another != 's' && 'c') cout<<"lettera sbagliata";

    /*il problema penso sia in quest'ultima riga,in quanto se scelgo la lettera 'c' mi da un'altra carta ma di seguito mi scrive anche "lettera sbagliata" che non dovrebbe...bo! ho usato bene && ?*/



    system("pause");
    return 0;
    }




    scusate so che è un problema banale ma non ne vengo a capo.
    grazie a tutti

  2. #2
    codice:
    if (another != 's' && another!='c') cout<<"lettera sbagliata";
    In ogni caso basta usare un'etichetta else
    codice:
    if (another=='c') {
    m=1+rand() %7;
    cout<<"carta: "<<m;
    }
    else if (another=='s') cout<<"tocca al banco";
    else cout<<"lettera sbagliata";
    o anche un blocco switch, che mi pare il più adeguato in questo caso:
    codice:
    switch (another)
    {
        case 'c':
            m=1+rand() %7;
            cout<<"carta: "<<m;
            break;
        case 's':
            cout<<"tocca al banco";
            break;
        default:
            cout<<"lettera sbagliata";
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    105
    grazie mille!!
    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.