Diskuze: Chybnost programu
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
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
Tak ako by to malo potom vypadať ? Lebo mna pri - ani nepustí k tomu aby som si vybral či chcem počítať alebo nie.
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
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ý .
Zobrazeno 6 zpráv z 6.