elikkäs: aloittelija kun olen, teen vasta yksinkertaisia laskimia, mutta tuli pieni brobleema.
Miten tässä tapauksessa while- silmukan saisi lopetettua switch (case)- rakenteen sisältä?:
#include <iostream.h>
int main(void)
{
int valinta = 0; // luodaan muuttujat
int valinta2 = 0;
double kerrottava = 0;
double kerroin = 0;
double jaettava = 0;
double jakaja = 0;
double yhteenlaskettava1 = 0;
double yhteenlaskettava2 = 0;
double vahennettava = 0;
double vahentaja = 0;
double tulos = 0;
cout << "**********************" << endl;
cout << "* -=:8 LASKIN 8:=- *" << endl;
cout << "* made by Nakkisormi *" << endl;
cout << "**********************" << endl;
while (1) // kierre aloitetaan
{
cout << endl;
cout << "1)Kertolasku 2)Jakolasku 3)Yhteenlasku 4)Vahennyslasku";
cout << endl;
cout << "Anna valinta 1, 2, 3, tai 4: ";
cin >> valinta;
switch (valinta) //laskun valinta
{
case 1:
cout << "luku ";
cin >> kerrottava;
cout << " kertaa ";
cin >> kerroin;
cout << endl;
cout << endl;
cout << kerrottava << " * " << kerroin << " = ";
tulos = kerrottava * kerroin;
cout << tulos;
break;
case 2:
cout << "luku ";
cin >> jaettava;
cout << " jaettuna luvulla ";
cin >> jakaja;
cout << endl;
cout << endl;
cout << jaettava << " / " << jakaja << " = ";
tulos = jaettava / jakaja;
cout << tulos;
break;
case 3:
cout << "luku ";
cin >> yhteenlaskettava1;
cout << " plus ";
cin >> yhteenlaskettava2;
cout << endl;
cout << endl;
cout << yhteenlaskettava1 << " + " << yhteenlaskettava2 << " = ";
tulos = yhteenlaskettava1 + yhteenlaskettava2;
cout << tulos;
break;
case 4:
cout << "luku ";
cin >> vahennettava;
cout << " miinus ";
cin >> vahentaja;
cout << endl;
cout << endl;
cout << vahennettava << " - " << vahentaja << " = ";
tulos = vahennettava - vahentaja;
cout << tulos;
break;
default:
cout << "Vaara valinta";
}
cout << endl;
cout << "Haluatko jatkaa? (1=Y/2=N)";
cin >> valinta2;
switch (valinta2) // kysytään halutaanko jatkaa
{
case 1:
system("CLS");
break;
case 2: // käsittääkseni tähän pitäisi laittaa jonkinlainen break
break; // komento, mutta jos laitan break; se vain katkaisee
default: // switch (case)- luupin. mikä neuvoksi?
cout << "Vaara valinta!";
cout << endl;
}
continue;
}
return 0; // lopetetaan 'pääohjelma'
}miten while- silmukan siis saa katkaistua tuon "haluatko jatkaa" luupin sisältä?
Älä looppaa while(1) vaan while(jokuflagi), jonka sitten asetat nollaksi kun pitää pääst pois.
Ja tulipahan vaan mieleen ettei nollalla voi jakaa. :/
Eikö käyttöliittymästä saisi nopeamman jos käyttäjä voisi syöttää laskut muodossa (5+3)*8 ja vastaukseksi tulisi 64?
Jaska kirjoitti:
Eikö käyttöliittymästä saisi nopeamman jos käyttäjä voisi syöttää laskut muodossa (5+3)*8 ja vastaukseksi tulisi 64?
Hänhän sanoi, että on aloittelija ja tekee yksinkertaisia laskimia.
Tuskin kukaan tuommoista tee ensimmäisenä ohjelmana.
Blaze kirjoitti:
Älä looppaa while(1) vaan while(jokuflagi), jonka sitten asetat nollaksi kun pitää pääst pois.
Err... tuotanoin, antaisiko joku pienen esimerkin (Falgi? va?) :P
bool lopetan = FALSE;
while(lopetan != TRUE) {
// Pistä haluamasi casen sisään
lopetan = TRUE;
}kaviaari kirjoitti:
Ja tulipahan vaan mieleen ettei nollalla voi jakaa. :/
No ei voi ei, koodista puuttuukin rivien 46,47 välistä pätkä
if (jakaja == 0)
{
cout << endl;
cout << "ei nollalla voi jakaa. "
break;
}Juu, mutta kiitosta tosta 'flagi' esimerkistä,
nyt toimii niinkuin pitääkin >_>
Aihe on jo aika vanha, joten et voi enää vastata siihen.