Salut , am si eu o intrebare . Ce e gresit in acest fragment de cod ? Este gresita negatia pentru caractere ? Cum pot sa rezolv ? Ce rapid sprijin
char TipJucator;
cout<<"Ce jucator esti ?";
cin>>TipJucator;
do
{
cout<<"Trebuie sa alegi ori Z ori Y";
cin>>TipJucator;
}while(TipJucator!= 'Z' || TipJucator!= 'Y');
Răspunsuri la întrebare
Răspuns de
1
char TipJucator;
do
{
cout << "Ce jucator esti ?";
cin >> TipJucator;
if (!(TipJucator == 'Z' || TipJucator == 'Y')) {
cout << "Trebuie sa alegi ori Z ori Y";
}
} while (!(TipJucator == 'Z' || TipJucator == 'Y'));
Am inlocuit (TipJucator!= 'Z' || TipJucator!= 'Y') cu (!(TipJucator == 'Z' || TipJucator == 'Y')) deoarece while-ul va repea instructiunea (in codul tau) atata timp cat TipJucator nu este Z sau Y, deci atata timp cat valoarea propozitiei este true. De exemplu daca introducem Y, valoarea preopozitiei va fi true || false, ceea ce rezulta, in urma operatorului || (sau), ca valoarea va fi tot true. Bucata de cod poate fi de asemenea inlocuita cu (TipJucator != 'Z' && TipJucator != 'Y'), rezultatul fiind acelasi.
De asemenea am rescris putin codul deoarece de la prima introducere deja afisa eroarea "Trebuie sa alegi ori Z ori Y" chiar daca raspunsul era Z sau Y.
do
{
cout << "Ce jucator esti ?";
cin >> TipJucator;
if (!(TipJucator == 'Z' || TipJucator == 'Y')) {
cout << "Trebuie sa alegi ori Z ori Y";
}
} while (!(TipJucator == 'Z' || TipJucator == 'Y'));
Am inlocuit (TipJucator!= 'Z' || TipJucator!= 'Y') cu (!(TipJucator == 'Z' || TipJucator == 'Y')) deoarece while-ul va repea instructiunea (in codul tau) atata timp cat TipJucator nu este Z sau Y, deci atata timp cat valoarea propozitiei este true. De exemplu daca introducem Y, valoarea preopozitiei va fi true || false, ceea ce rezulta, in urma operatorului || (sau), ca valoarea va fi tot true. Bucata de cod poate fi de asemenea inlocuita cu (TipJucator != 'Z' && TipJucator != 'Y'), rezultatul fiind acelasi.
De asemenea am rescris putin codul deoarece de la prima introducere deja afisa eroarea "Trebuie sa alegi ori Z ori Y" chiar daca raspunsul era Z sau Y.
Kosty1996:
Mersi mult
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă