2017-10-28 2 views
-4

Problem ist, dass ich weiß nicht, was ich falsch hier tue ...nicht gleich C++ (else if-Anweisungen)

i bekommen müssen, wenn a = 1 cout ist "pasirinkai fizika ..." und ! wenn a = 1 cout ist "nieko nepasirinkai ..."

hier ist der Code:

cout << "Pasirinkimai:        parasyk skaiciu... \n"; 

    cout << "1 ---- Skaiciuoti fizika 9 klasiai...\n"; 
    cin >> a; 
    std::getchar(); 

    if (a = 1) { 
     cout << "pasirinkai fizika..."; 
    } 
    else if (a != 1) { 
     cout << "nieko nepasirinkai..."; 
    } 
    std::getchar(); 

wenn ich 2 zum Beispiel geben sie sagt es, dass "pasirinkai fizika ..." und wie ich sagte, bevor es "nieko nepasirinkai ..." sagen sollte

+3

'a = 1' sollte' a == 1' sein. – Ron

+0

'a' ist in Typ' bool' umwandelbar, 'a = 1' wird vermutlich immer als wahr ausgewertet, aber Sie haben uns nie' a's Typ gegeben. – George

+0

Wenn der Compiler Sie nicht warnt, sollten Sie die Warnstufe erhöhen. –

Antwort

0

= ist ein assignmenet-Operator, Sie suchen nach Gleichheitsoperator == z. if (a == 1).

Viele Sprachen verwenden diese Notation C, Sie müssen sich vielleicht daran gewöhnen.