
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;
}
Proč máš char znak=getwchar(); mimo funkci main?
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.
A este len tak mimochodom, az si nastudujes jak funguje cin a getwchar, tak pochopis ze po getwchar ti moze ostat na vstupe CR LF, a teda cin precita koniec riadku a je spokojny.