Autor Zpráva
Tworec
Profil
Ahoj, snad jsem se trefil správně, když tenhle dotaz radim k Práce s počítačem. Začínám s C++ a nemůžu přijít na to, jak převést odpověď na otázku ve tvaru y nebo n (případně ano/ne) na hodnotu true nebo false, zkoušel jsem něco jako if (x == y) {x = 1}, ale x==y mi program neuznal. Poradíte mi, prosím?
Darker
Profil
Na programujte.com je fórum věnující se mimo jiné i fórum věnující se C++, se kterým mám dobrou zkušenost.
Teď k věci. Zaprvé by mě zajímalo, jak bereš uživatelský vstup, i když hádám na cin.
Skusil bych toto:
char promenna;
cout<<"Pokracovat y/n";
cin>>promenna;
if(promenna=='y')pokracovat();
else return 0;

Asi tam bude chyba, C++ jsem nejméně měsíc nedělal, ale chybu už si opravíš, pokud tam je.
Nox
Profil
1. Ta sekce je tu dost podivně, sice existuje, ale dotazy mimo weby tu nejsou moc vítané, tak nevim...
2. Kolem řetězců/znaků se snad píše " "/' ' - to je úplný základ
3. Pak si prostuduj něco o datových typech, C/C++ není jako PHP... chceš přeměnit (ze záhadného důvodu) boolean na char?
4. Nepojmenovávej proměnné stylem x jinak v tom bude bordel (pokud to není "souřadnice x" nebo iterační proměnná v cyklu nebo tak)

Darker:
Zaprvé by mě zajímalo, jak bereš uživatelský vstup, i když hádám na cin.
Ono je to asi jedno, spíš záleží na typu proměnné... to y mu neuzná nejspíš proto, že to má být to "y" (jako "yes"), ale má to zapsané jako proměnnou a ta nikde není deklarovaná
Tworec
Profil
Darker:
Díky za odkaz na forum. Uhodl jsi správně, dělám to přes cin, už jsem někde viděl funkci, která dělá to samé, ale funkce ještě zatím nezvládám. A taky díky za řešení, můj problém byl, že jsem psal promenna==y, ne 'y'. V knížce, ze které se učím jsem se s podobnou věcí ještě nesetkal, chtěl jsem trošku předbíhat a proto jsem udělal tu chybu.
Nox:
2. učím se z anglické literatury, tak jsem to možná přehlídnul, nebo to napsali až na stránkách, které jsem ještě nečetl. Samotného mě nenapadlo, ze by mohla být chyba zrovna v tomhle, spíš jsem myslel, že dělám chybu v tom, že se snažím převést character na boolean
3. ten důvod není záhadný, uživatel si vybere ano/ne a já musím říct programu, co si vlastně uživatel vybral tak, aby to pochopil.
4. jasnačka, to byl jen příklad
Nox
Profil
Můžeš udělat jinou boolean proměnnou. C++ má narozdíl od C už boolean typ, nemusí pracovat s 0/1... teoreticky byl šlo dát do původního charu 0 nebo 1, ale nevim... proč už rovnou nepracovat s 'y', 'n' ... případně to nahradit nějakou konstantou aby to šlo lehce měnit

Vaše odpověď

Mohlo by se hodit

Zvažte, zda se neobrátit na specializované fórum, toto se zabývá především webovou problematikou.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0