Kłopot z char

0

Witam, mam problem z programem wszystko pięknie działa kiedy podaje wartość 't' lub 'n' lecz gdy podam jakąś inną literę program i tak wchodzi w if'a do ktorego wejść nie powinien.

#include <iostream>

using namespace std;

int main()
{
    char potw={'t'};
    while(potw == 't')
    {
        cout<<"Tekst ktorego nie pamietam"<<endl;
            while(1)
            {
                cout<<"Czy chcesz powtorzyc?(t/n)"<<endl;
                cin>>potw;
                cout<<potw;
                    if(potw=='t'||'n')
                    {
                    break;
                    }
                cout<<"Blad wprowadz poprawna litere."<<endl;

            }
    }
}
1

if(potw=='t'||'n')
oho

0

A co z tym nie tak?

1

Taka składnie nie egzystuje chyba w żadnym języku programowania. Oczywiście zgodnie ze składnią C++ powinno być
if (potw == 't' || powt == 'n')
co nie zmienia faktu, że masz kilka innych dziwnych konstrukcji w tym kodzie.

1
if(potw=='t'||'n')

Pozwól, że przedstawię Ci równoważnik tego kodu:

if ( (potw == 't') || ('n') )
0

Dziękuje za pomoc program już działa :)

3

@Patryk27 rozwijając:
if ( (potw == 't') || bool('n') )

if ( (potw == 't') || true )

if ( true )

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0