C++ kalkulačka

Programovacie jazyky, rady, poradňa...
SolitaryRoach
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 17
Registrovaný: 25 júl 2013, 16:26

C++ kalkulačka

Príspevok od používateľa SolitaryRoach »

Ahoj, potreboval by som pomôcť s kalkulačkou ktorú som vytvoril v C++ (som začiatočník)

Kód: Vybrať všetko

int main()
{	
	int a, b, v;
	char z;
	cout << "Zadaj cislo a: " << endl;
	cin >> a;
	cout << "Zadaj cislo b: " << endl;
	cin >> b;
	cout << "Zadaj znamienko: " << endl;
	cin >> z;
	if(z == '+')
	{	
		v=a+b;
		cout << "Vysledok je: " << v << endl;
	}
	else if(z == '-')
	{	
		v=a-b;
		cout << "Vysledok je: " << v << endl;
	}
	else if(z == '*')
	{
		v=a*b;
		cout << "Vysledok je: " << v << endl;
	}
	else if(z == '/'){
		 if (b == 0) {
			cout << "Nulou sa neda delit!" << endl;
         }
		 else{
			 v=a/b;
			 cout << "Vysledok je: " << v << endl;
		 }
	}
	else cout << "zle zadanie" << endl;
	system("pause");
    return 0;
}
napísal som takýto kód všetko funguje v poriadku len namiesto system("pause"); som mal getchar(); ktorý fungoval v poriadku no keď som mal kód trochu dlhší zrazu som zistil že nefunguje :shock: tak som ho vymenil bol by som rád keby mi to niekto vysvetlil a druhá vec je či by niekto nevedel ako spraviť zadanie celého príkladu do jedného vstupu ale čo najjednoduchšie.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ kalkulačka

Príspevok od používateľa BX »

getchar() si berie znak zo štandardného vstupu. Je možné, že ti tam niečo ešte ostalo (zadal si napr príklad a za tým ešte niečo, medzeru a tak) a ten getchar() to zožral - nemusel na nič čakať. Btw. streamovská verzia getchar() je cin.get()

Ako to načítať v jednom vstupe? Normálne. To čo napíšeš do vstupu sa zapíše na štandardný vstup a s ním potom robíš cez objekt cin. Preto ak napíšeš "56+23", môžeš si cez cin načítať jedno číslo, jeden znak (ako znamienko) a potom zase číslo. Skontroluješ platnosť vstupov (či naozaj všetko prečítalo a či sú správne) a v závislosti na nich vypíšeš výsledok.

btw. prečo v vypisuješ sto krát? Nestačilo by raz za všetkými tými ifmi? ;)
SolitaryRoach
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 17
Registrovaný: 25 júl 2013, 16:26

Re: C++ kalkulačka

Príspevok od používateľa SolitaryRoach »

lebo ako som písal sa to len učím a nemám nikoho v okolí kto by mi poradil ale dík :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ kalkulačka

Príspevok od používateľa BX »

To bola rečnícka otázka, na ktorú si si mal odpovedať sám a odpoveď mala znieť nejako takto: "Hm, na nič, naozaj to stačí raz za tými ifmi!"
Veď ak budeš mať problém, kľudne sa pýtaj tu :)
Napísať odpoveď