Witam. Troche sie zacząłem uczyć c++... Udało mi sie skombinować 3 tomy Symfoni c++ J.Grebosza. Do tego jakieś fora(m.in. 4.programmers). I mam problem, zrobiłem taki niby kalkulator do obliczania różnych pól itd. I chce, żeby działał on non stop, do czasu, kiedy nie zostanie kliknięta litera S, zrobiłem to tak:
#include <iostream>
#include <windows.h>
using namespace std;
main()
{
char litera;
int wybor;
do
{
cout << "Podaj dzialanie, ktore chcesz wykonac, wynik bedzie widoczny przez 7 sekund!\n"
<<"1. Dodawanie\n"
<<"2. Odejmowanie\n"
<<"3. Mnozenie\n"
<<"4. Dzielenie\n"
<<"5. Potega drugiego i trzeciego stopnia\n"
<< "6. Obliczanie pola kola z jego promienia\n"
<< "7. Obliczanie obwodu kola z jego promienia\n"
<< "8. Obliczanie pola trojkata\n"
<< "9. Obliczanie pola trapezu\n"
<< "10. Klinij - S - aby zakonczyc\n";
cin >> wybor;
switch(wybor)
{
case 1:
float a, b, wynik;
cout << "Podaj pierwsza i druga liczbe: \n";
cin >> a;
cin >> b;
wynik = a + b;
cout << "Wynik dzialania: " << a << " + " << b << " wynosi: " << wynik;
break;
case 2:
float c, d, wynik_2;
cout << "Podaj odjemna i odjemnik: \n";
cin >> c;
cin >> d;
wynik_2 = c - d;
cout << "Wynik dzialania: " << c << " - " << d << " wynosi: " << wynik_2;
break;
case 3:
float e, f, wynik_3;
cout << "Podaj liczby, ktore chcesz pomnozyc: \n";
cin >> e;
cin >> f;
wynik_3 = e * f;
cout << "Wynik dzialania: " << e << " * " << f << " wynosi: " << wynik_3;
break;
case 4:
float g, h, wynik_4;
cout << "Podaj dzielna i dzielnik: \n";
cout << "Dzielna: ";
cin >> g;
cout << "Dzielnik: ";
cin >> h;
wynik_4 = g / h;
cout << "Wynik dzialania: " << g << " / " << h << " wynosi: " << wynik_4;
break;
case 5:
float pot, wynik_pot_2, wynik_pot_3;
cout << "Podaj liczbe, z ktorej chcesz znac potege: \n";
cin >> pot;
wynik_pot_2 = pot * pot;
wynik_pot_3 = pot * pot * pot;
cout << "Potega dla liczby " << pot << " drugiego stopania wynosi: "
<< wynik_pot_2 << " a trzeciego stopnia: " << wynik_pot_3;
break;
case 6:
float promien, wynik_6;
cout << "Aby obliczyc pole kola, podaj mi jego promien(pi~3.14159): ";
cin >> promien;
wynik_6 = promien * promien * 3.14159;
cout << "Pole kola o promieniu: " << promien << " wynosi: " << wynik_6;
break;
case 7:
float promien_2, wynik_7;
cout << "Podaj promien, aby obliczyc obwod kola(pi~3.14159): ";
cin >> promien_2;
wynik_7 = 2 * 3.14159 * promien_2;
cout << "Obwod kola o promieniu: " << promien_2 << " wynosi: " << wynik_7;
break;
case 8:
float x, y, wynik_8;
cout << "Aby obliczyc pole trojkata podaj jego: \n"
<< "Dlugosc podstawy: ";
cin >> x;
cout << "Wysokosc: ";
cin >> y;
wynik_8 = x * y / 2;
cout << "Pole trojkata i podstawie: " << x << " i wysokosci: " << y <<
" wynosi: " << wynik_8;
break;
case 9:
float m, n, o, wynik_9_a, wynik_9_b, wynik_9_c;
cout << "Aby obliczyc pole trapezu podaj mi:\n"
<< "Podstawe nr 1: ";
cin >> m;
cout << "Podstawe nr 2: ";
cin >> n;
cout << "Wysokosc: ";
cin >> o;
wynik_9_a = m + n;
wynik_9_b = wynik_9_a * o;
wynik_9_c = wynik_9_b / 2;
cout << "Pole trapezu o bokach: " << m << ", " << n << " i wysokosci: " << o;
cout << " wynosi: " << wynik_9_c;
break;
}
::Sleep(4 * 1000);
system("cls");
}
while(litera == 'S');
}
Niby to działa, ale nie tak jak chce... Gdy klikne "S" to program sie wyłącza, po 4 sec(o to mi chodzi), ale gdy zrobie jakieś działanie, to wtedy po 4 sekundach program też sie wyłącza... Co ja żle tutaj wpisałem? while(litera == 'S') oznacza że gdy klikne S to sie pętla kończy, czy to jest jakoś inaczej?(prawde mówiąc, mam problem z pętlami...)
P.S Nie czepiajcie sie, że program jest tak pogmatwany, robie go swoim sposobem(chce aby był jak najdłuższy kod, wtedy pojęcia wchodzą mi do głowy).
Z góry dziękuje za pomoc...