Witam, jestem tu nowy i piszę z prośbą o pomoc w programie. Otóż stworzyłem prosty programik "wielozadaniowy", lecz po uruchomieniu opcji 2 (Kalkulator) robi się bałagan (liczy dobrze, lecz po obliczeniu nie robi tego co chcę tj. zamyka się). Czy mógłby mnie ktoś naprowadzić jak powinno to wyglądać? Oraz chciałbym dowiedzieć się w jaki sposób wrócić do początku programu (do wyboru). Pozdrawiam.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int wybor;
double a, przelicznik;
std::cout << "Witaj znow, co bys chcial?\n";
std::cout << "1.Przelicznik z metrow na centymetry\n";
std::cout << "2.Kalkulator\n";
std::cout << "3.Pierwiastki funkcji kwadratowej\n";
std::cout << "4.Wyjscie\n";
std::cout << "Wybierz numer od 1 do 4 :) ";
std::cin >> wybor;
switch (wybor)
{
case 1:
{
std::cout << "Podaj dlugosc w metrach, ktora ma byc przeliczona na centymetry\n";
std::cin >> a;
if (a <= 0)
{
std::cout << "Podaj liczbe wieksza od zera!\n";
}
else
{
przelicznik = a * 100;
std::cout << "\nDlugosc wynosi " << przelicznik << " centymetrow.\n";
}
}
break;
case 2:
{
float x, y;
int wybor2;
std::cout << "Podaj pierwsza liczbe: ";
std::cin >> x;
std::cout << "\nPodaj druga liczbe: ";
std::cin >> y;
std::cout << "KALKULATOR:\n";
std::cout << "5.Dodawanie\n";
std::cout << "6.Odejmowanie\n";
std::cout << "7.Mnozenie\n";
std::cout << "8.Dzielenie\n";
std::cout << "Co chcesz zrobic? Wybierz liczbe od 5 do 8: ";
std::cin >> wybor2;
switch (wybor2)
{
case 5:
{
std::cout << "Suma wynosi: " << x + y;
}
break;
case 6:
{
std::cout << "Roznica wynosi: " << x - y;
}
break;
case 7:
{
std::cout << "Mnozenie wynosi: " << x*y;
}
break;
case 8:
{
std::cout << "Dzielenie wynosi: " << x / y;
}
break;
default:
{
system("pause");
}
}
}
case 3:
{
float ax2, bx, c, delta, pierw1, pierw2, pierw0;
std::cout << "Podaj wspolczynniki funkcji kwadratowej: \n";
std::cout << "a= ";
std::cin >> ax2;
std::cout << "\nb= ";
std::cin >> bx;
std::cout << "\nc= ";
std::cin >> c;
delta = bx*bx - 4 * ax2*c;
if (delta > 0)
{
pierw1 = (-bx - sqrt(delta) / 2 * ax2);
pierw2 = (-bx + sqrt(delta) / 2 * ax2);
std::cout << "Pierwszy pierwiastek wynosi: " << pierw1;
std::cout << "\nDrugi pierwiastek wynosi: " << pierw2;
}
else if (delta = 0)
{
pierw0 = -bx / 2 * ax2;
std::cout << "Pierwiastek wspolny wynosi: " << pierw0;
}
else(delta < 0);
{
std::cout << "Nie ma pierwiastkow rownania :<";
}
}
break;
case 4:
{
return 0;
}
break;
default:
std::cout << "Nie ma takiego numeru na liscie! ";
}
system("pause");
}