Prikaži potpunu verziju : Помоћ око кода
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
float a;
float b;
int odabir, kraj=1, odabrano=1;
while (kraj)
{
cout<<"Digitron"<<endl;
cout<<endl;
cout<<"Unesite prvi broj"<<endl;
cin>>a;
cout<<endl;
cout<<"Unesite drugi broj"<<endl;
cin>>b;
cout<<endl;
while (odabrano)
{
cout<<"Odaberite operaciju"<<endl;
cout<<"1.sabiranje"<<endl;
cout<<"2.oduzimanje"<<endl;
cout<<"3.mnozenje"<<endl;
cout<<"4.deljenje"<<endl;
cin>>odabir;
cout<<endl;
odabrano=1;
switch (odabir)
{
case 1:
cout<<a<<"+"<<b<<"="<<a + b<<endl; odabrano=0;
break;
case 2:
cout<<a<<"-"<<b<<"="<<a - b<<endl;odabrano=0;
break;
case 3:
cout<<a<<"x"<<b<<"="<<a * b<<endl;odabrano=0;
break;
case 4:
cout<<a<<":"<<b<<"="<<a / b<<endl;odabrano=0;
break;
default:
cout<<"Morate uneti 1,2,3 ili 4!"<<endl;
}
}
cout<<endl;
cout<<"Unesite 0 za kraj ili bilo koji drugi brojza ponovno racunanje!";
cin>>kraj;
}
system ("PAUSE");
return 0;
}
Када покренем програм и завршим рачунање,све је уреду.А када хоћу поново да рачунам могу само да унесем два броја и ту је крај.Где је проблем?
Zato što postaviš odabrano na 0 kada se izvrši neka operacija, i onda ne prolazi kroz taj while. Bolje uradi do-while, ovako:
do
{
cout << "Odaberite operaciju" << endl;
cout << "1. sabiranje" << endl;
cout << "2. oduzimanje" << endl;
cout << "3. mnozenje" << endl;
cout << "4. deljenje" << endl;
cin >> odabir;
cout << endl;
switch (odabir)
{
case 1:
cout << a << "+" << b << "=" << (a + b) << endl;
odabrano=0;
break;
case 2:
cout << a << "-" << b << "=" << (a - b) << endl;
odabrano=0;
break;
case 3:
cout << a << "x" << b << "=" << (a * b) << endl;
odabrano=0;
break;
case 4:
cout << a << ":" << b << "=" << (a / b) << endl;
odabrano=0;
break;
default:
cout<<"Morate uneti 1,2,3 ili 4!"<<endl;
odabrano = 1;
}
} while (odabrano);
Чини ми се да не ради! :(
EclipsE-ovo resenje bi moralo da radi, al ako bas hoces, mozes da zadrzis identican kod koji si i postavio.
samo ispod prvog while, dakle ispod while (kraj)
{
dodaj
odabrano = 1;
Belphegor
28.7.2011, 13:40
Ili ovako:
#include <iostream>
int main()
{
float operandi[2];
int operacija;
while(1)
{
std::cout << "Unesite prvi broj: ";
std::cin >> operandi[0];
std::cout << "Unesite drugi broj: ";
std::cin >> operandi[1];
std::cout << "Unesite operaciju:" << std::endl;
std::cout << "prekinuti\t(0)" << std::endl;
std::cout << "sabiranje\t(1)" << std::endl;
std::cout << "oduzimanje\t(2)" << std::endl;
std::cout << "mnozenje\t(3)" << std::endl;
std::cout << "deljenje\t(4)" << std::endl;
std::cin >> operacija;
if(0 == operacija)
break;
switch(operacija)
{
case 1:
{
std::cout << operandi[0] << " + " << operandi[1] << " = " << operandi[0] + operandi[1] << std::endl;
}break;
case 2:
{
std::cout << operandi[0] << " - " << operandi[1] << " = " << operandi[0] - operandi[1] << std::endl;
}break;
case 3:
{
std::cout << operandi[0] << " * " << operandi[1] << " = " << operandi[0] * operandi[1] << std::endl;
}break;
case 4:
{
std::cout << operandi[0] << " / " << operandi[1] << " = " << operandi[0] / operandi[1] << std::endl;
}break;
};
}
return 0;
}
tvoje resenje drasticno menja formu koju je OP trazio.
kod njega iz programa moze da se izadje samo kod unosa broja, ne kod unosa operacije i kod njega ako ne uneses jednu od ponudjenih operacija opet pita samo za operaciju da uneses dok ne napravis validan unos.
daleko od toga da je njegov kod napisan elegantno i optimalno, niti nesto fali tvom.
ali njegov pocetnicki stil nece nestati gledanjem jednog stogod streamline-ovanog programa tako da smatram da je bolje ukazati mu gde je greska u njegovom kodu nego predstaviti potpuno drugi kod.
ima vremena, naucice da optimizuje i uskladi svoj kod, sad je bitno da razume zasto ne radi, odnosno da detaljno savlada samu logiku.
tvoje resenje drasticno menja formu koju je op trazio.
Kod njega iz programa moze da se izadje samo kod unosa broja, ne kod unosa operacije i kod njega ako ne uneses jednu od ponudjenih operacija opet pita samo za operaciju da uneses dok ne napravis validan unos.
Daleko od toga da je njegov kod napisan elegantno i optimalno, niti nesto fali tvom.
Ali njegov pocetnicki stil nece nestati gledanjem jednog stogod streamline-ovanog programa tako da smatram da je bolje ukazati mu gde je greska u njegovom kodu nego predstaviti potpuno drugi kod.
Ima vremena, naucice da optimizuje i uskladi svoj kod, sad je bitno da razume zasto ne radi, odnosno da detaljno savlada samu logiku.
У потпуности управу! :)
Чини ми се да не ради! :(
Naravno da radi:
http://i54.tinypic.com/c3q8n.jpg
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.