Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++

Chtěl jsem se zeptat, když mám následující kód a přečtu pomocí getwchar() znak, který je buďto 'a' nebo 'b'. Jak je možné, že se mi v programu cin přeskočí a prostě proměnné int a či b zůstanou nulové?

#include <iostream>

using namespace std;

int a=0,b=0;
char znak=getwchar();

int main() 
{
    if(znak == 'a')
    {
        cin >> a;
        cout << a << endl;
    }
    else if (znak == 'b')
    {
        cin >> b;
        cout << b << endl;
    }
    else
    {
        cout << "error" << endl;
    }
    return 0;
}
Předmět Autor Datum
Proč máš char znak=getwchar(); mimo funkci main? nový
Niko Bellic 18.10.2013 10:32
Niko Bellic
Preskoci sa ti char znak=getwchar(); A nepouzivaj globalne premenne. Nechces zacat radsej nejakym tu… nový
MM.. 18.10.2013 10:56
MM..
A este len tak mimochodom, az si nastudujes jak funguje cin a getwchar, tak pochopis ze po getwchar… poslední
MM.. 18.10.2013 11:05
MM..

Preskoci sa ti char znak=getwchar();
A nepouzivaj globalne premenne.
Nechces zacat radsej nejakym tutorialm ktoremu budes aj rozumiet? Alebo kniha?

P.S> a len tak mimochodom getwchar nevracia hodnotu char. To len tak na okraj. Viz msdn alebo google.

Zpět do poradny Odpovědět na původní otázku Nahoru