Diskuze: Chybnost programu
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Absolvováno
Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500

Člen

Odpovídá na Jakub Sobinovsky
Petr Šťastný:26.11.2016 0:06
Petr Šťastný:26.11.2016 0:06
Pouzivej formatovani kodu - ten znak </> nad textovym polem
Program:
#include <iostream>
using namespace std;
int main()
{
DEKLARACIA PREMENYCH
bool ukonceno = false;
char volba;
int cislo1, cislo2, vysledok;
int pocitanie =1;
DEKLARACIA PREMENYCH
VSTUP
cout << "Zadajte co chcete robit,mate na výber +,-,/,* ";
cin >> volba;
cout << "Zadajte cislo: ";
cin >> cislo1;
cout << "Zadajte druhé cislo: ";
cin >> cislo2;
VSTUP
SČÍTANIE
while(1)
{
char volba2;
if(volba == '+')
{
vysledok = cislo1 + cislo2;
cout << "Váš vysledok je: " << vysledok << "\n";
cout << "Chcete este pocitat ?(A/N): ";
cin >> volba2;
}
if(volba2 == 'A')
{
cout << "Zadajte prve cislo: ";
cin >> cislo1;
cout << "Zadatje druhe cislo: ";
cin >> cislo2;
}
else if(volba2 == 'N')
{
ukonceno = true;
break;
}
}
ODČÍTANIE
while(1)
{
char volba2;
if(volba == '-')
{
vysledok = cislo1 - cislo2;
cout << "Váš vysledok je: " << vysledok << "\n";
cout << "Chcete este pocitat ?(A/N): ";
cin >> volba2;
}
if(volba2 == 'A')
{
cout << "Zadajte prve cislo: ";
cin >> cislo1;
cout << "Zadatje druhe cislo: ";
cin >> cislo2;
}
else if(volba2 == 'N')
{
ukonceno = true;
break;
}
}
return 0;
}
A ta chyba je v tom, ze u podminek pouzivas char volba2, ale nikde ji
nenaplnujes hodnotou. Asi jsi ji zapomnel nacist od uzivatele
Jakub Sobinovsky:26.11.2016 12:21
Tak ako by to malo potom vypadať ? Lebo mna pri - ani nepustí k tomu aby som si vybral či chcem počítať alebo nie.
Odpovídá na Jakub Sobinovsky
Petr Šťastný:26.11.2016 17:00
Editováno 26.11.2016 17:01
Petr Šťastný:26.11.2016 17:00
Zkus to takhle:
Inicializace promennych
While cyklus (zacatek)
Nacteni cisel
Podminky a vypocet
Zobrazeni vypoctu
Nacti char 'volba2'
Kdyz je vysledek u volba2 'N' vypadni z cyklu
While cyklus (konec)
Program(konec)
// A kdyz mi pises, klikni na tlacitko odpovedet, aby mi doslo upozorneni
Odpovídá na Petr Šťastný
Jakub Sobinovsky:27.11.2016 0:30
Jakub Sobinovsky:27.11.2016 0:30
Nakoniec som to poriešil takto:
#include <iostream>
using namespace std;
int main()
{
//DEKLARACIA PREMENYCH//
bool ukonceno = false;
char volba,volba2;
int cislo1, cislo2, vysledok;
int pocitanie =1;
//DEKLARACIA PREMENYCH//
//VSTUP//
cout << "Zadajte co chcete robit,mate na výber +,-,/,*,%(Zvysok po deleni): ";
cin >> volba;
//VSTUP//
while(1)
{
//SČÍTANIE//
if(volba == '+')
{
while (true)
{
cout << "Zadajte cislo: ";
cin >> cislo1;
cout << "Zadajte cislo2: ";
cin >> cislo2;
vysledok = cislo1 + cislo2;
cout << "Vas vysledok je: " << vysledok << "\n";
cout << "Chcete pocitat dalej ?(A/N): ";
cin >> volba2;
if(volba2 != 'A')
{
ukonceno = true;
break;
}
}
}
//ODCITANIE//
if(volba == '-')
{
while (true)
{
cout << "Zadajte cislo: ";
cin >> cislo1;
cout << "Zadajte cislo2: ";
cin >> cislo2;
vysledok = cislo1 - cislo2;
cout << "Vas vysledok je: " << vysledok << "\n";
cout << "Chcete pocitat dalej ?(A/N): ";
cin >> volba2;
if(volba2 != 'A')
{
ukonceno = true;
break;
}
}
}
//Nasobenie//
if(volba == '*')
{
while (true)
{
cout << "Zadajte cislo: ";
cin >> cislo1;
cout << "Zadajte cislo2: ";
cin >> cislo2;
vysledok = cislo1 * cislo2;
cout << "Vas vysledok je: " << vysledok << "\n";
cout << "Chcete pocitat dalej ?(A/N): ";
cin >> volba2;
if(volba2 != 'A')
{
ukonceno = true;
break;
}
}
}
//DELENIE//
if(volba == '/')
{
while (true)
{
cout << "Zadajte cislo: ";
cin >> cislo1;
cout << "Zadajte cislo2: ";
cin >> cislo2;
vysledok = cislo1 / cislo2;
cout << "Vas vysledok je: " << vysledok << "\n";
cout << "Chcete pocitat dalej ?(A/N): ";
cin >> volba2;
if(volba2 != 'A')
{
ukonceno = true;
break;
}
}
}
//ZVYSOK PO DELENI//
if(volba == '%')
{
while (true)
{
cout << "Zadajte cislo: ";
cin >> cislo1;
cout << "Zadajte cislo2: ";
cin >> cislo2;
vysledok = cislo1 % cislo2;
cout << "Vas vysledok je: " << vysledok << "\n";
cout << "Chcete pocitat dalej ?(A/N): ";
cin >> volba2;
if(volba2 != 'A')
{
ukonceno = true;
break;
}
}
}
//////////VYSTUP////////////
if(ukonceno)
{
cout << "Chcete vybrat inu moznost pocitania ?(A/N): ";
cin >> volba2;
if(volba2 != 'A')
{
ukonceno = true;
break;
}
cout << "Zadajte co chcete robit,mate na výber +,-,/,*: ";
cin >> volba;
}
}
if(ukonceno)
cout << "Program sa konci\n";
//////////VYSTUP////////////
return 0;
}
Ďakujem za rady a sorry som tu nový .
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.
Zobrazeno 6 zpráv z 6.