Aiuto per programma in C++

di il
2 risposte

Aiuto per programma in C++

Ho dovuto scrivere questo programma sulla briscola per il mio esame di informatica.
Ho scritto varie funzioni e vanno bene, tranne alcune che non sono prese in considerazione (scusate il linguaggio non da esperta). Ovvero, le condizioni ci sono, le variabili si aggiornano (ho provato a stamparle e sono quelle che dovrebbero essere) però esce dal ciclo anche in circostanze in cui non dovrebbe!

Questa è la funzione;

void asso ()
{
if (manoC[0].v == 1 && manoC[0].s == manoU[N-1].s)
n = 0;
else if (manoC[1].v == 1 && manoC[1].s == manoU[N-1].s)
n = 1;
else if (manoC[2].v == 1 && manoC[2].s == manoU[N-1].s)
n = 2;
else cout << "no";
}

anche quando le condizioni ci sono, cioè N-1 è del valore che dovrebbe essere e il valore di manoC[] è giusto, non sceglie il valore n dell'istruzione. Spero di essermi spiegata. Vorrei sapere, a prima vista, c'è qualcosa di scritto male? Cose che entrano in conflitto che non ho considerato? Potreste dirmi cosa posso modificare? Ho fatto tutte le altre funzioni così e vanno bene, solo quelle di questo tipo mi da problemi; spero possiate capire quello che intendo e aiutarmi, grazie in anticipo a tutti.

2 Risposte

  • Re: Aiuto per programma in C++

    Mmmmh sembra strano che se i valori hanno i giusti valori scelga l'istruzione errata. Prova a mettere le parentesi e vedere, piutosto che sintatticamente, se semanticamente è giusto qllo che vuoi dirgli:

    void asso ()
    {
    if (manoC[0].v == 1 && manoC[0].s == manoU[N-1].s){
    n = 0;
    }else {
    if (manoC[1].v == 1 && manoC[1].s == manoU[N-1].s){
    n = 1;
    }else {
    if (manoC[2].v == 1 && manoC[2].s == manoU[N-1].s){
    n = 2;
    }else {
    cout << "no";
    }
    }
    }
    }

    Le ho scritte qui e non sul compilatore, spero di nn averne saltate.
  • Re: Aiuto per programma in C++

    Ma

    s

    cosa è nella struttura ?

    E comunque è un thread un po' vecchiotto ... forse ha risolto...
Devi accedere o registrarti per scrivere nel forum
2 risposte