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.