Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

problem z pętlami

Ostatnio zmodyfikowano 2021-03-21 18:02
Autor Wiadomość
mateuszuczen
Temat założony przez niniejszego użytkownika
problem z pętlami
» 2021-03-21 14:08:18
cześć , mam pewien problem , przed rozpoczęciem nauki 2 poziomu z kursu , chciałem zrobić kilka programów w, których jednocześnie będą wbudowane rozne funkcje z 1 poziomu . I ostatni program jaki już robie , chciałem zrobić bardziej rozbudowany i napotkałem pewien problem. program ma działać tak:
1. wybór figury
2. podaje dane
3. wybor obliczen
i powrot do wyboru figur

problem w tym, że po kazdym case chciałbym zrobić mozliwosc powrotu do poczatku . działa mi tylko 1 pętla obojetnie po której figurze ją dam. Gdy dodaje drugą petle z innych figur wyrzuca mi błąd . Nie wiem w którym miejscu dać znaki {} i pętle tak aby  zasada powrotu była mozliwa .
(program nie jest dokonczony ale działa - chce tylko wiedziec jak powracać do MENU.)

C/C++
#include <iostream>
using namespace std;
int main()
{
   
int wybor, cofnij1, cofnij2, cofnij3;
   
   
do {
       
       
cout << "[1]-PROSTOKAT   [2]-TROJKAT   [3]-TRAPEZ   [4]-WYJSCIE " << endl;
       
cin >> wybor;
       
switch( wybor )
       
{
           
       
case 1:
           
int prostokat;
           
float A, B;
           
           
           
cout << "A = ";
           
cin >> A;
           
           
cout << "B = ";
           
cin >> B;
           
           
cout << "[1]-POLE   [2]-OBWOD   [3]-cofnij" << endl;
           
cin >> prostokat;
           
           
switch( prostokat )
           
           
{
               
           
case 1:
               
cout << "P = " << A * B << "cm2" << endl;
               
break;
               
           
case 2:
               
cout << "Obw = " << A * 2 + B * 2 << "cm" << endl;
               
break;
               
               
               
           
} //koniec prostokota
           
           
           
           
           
       
case 2:
           
int trojkat;
           
float A1, h, B1, C1;
           
           
cout << "A = ";
           
cin >> A1;
           
           
cout << "h = ";
           
cin >> h;
           
           
cout << "B = ";
           
cin >> B1;
           
           
cout << "c = ";
           
cin >> C1;
           
           
cout << "[1]-POLE   [2]-OBWOD   [3]-cofnij" << endl;
           
cin >> trojkat;
           
           
switch( trojkat )
           
{
               
           
case 1:
               
cout << "P = " <<( A1 * h ) / 2 << "cm2" << endl;
               
break;
               
           
case 2:
               
cout << "Obw = " << A1 + B1 + C1 << "cm" << endl;
               
break;
               
           
default:
               
cout << "cofnij" << endl;
               
           
}
           
           
           
           
           
           
           
           
           
       
case 3:
           
int trapez;
           
float A2, h1, B2, C2, D2;
           
           
cout << "A = ";
           
cin >> A2;
           
           
cout << "h = ";
           
cin >> h1;
           
           
cout << "B = ";
           
cin >> B2;
           
           
           
cout << "[1]-POLE   [2]-OBWOD   [3]-cofnij" << endl;
           
cin >> trapez;
           
           
switch( trapez )
           
{
               
           
case 1:
               
cout << "P = " <<(( A2 + B2 ) / 2 ) * h1 << "cm2" << endl;
               
break;
               
           
case 2:
               
cout << "Obw = " << A2 + B2 + C2 + D2 << "cm" << endl;
               
break;
               
           
}
        }
       
       
       
    }
while( cofnij3 != 3 );
   
   
return 0;
   
}
P-178326
DejaVu
» 2021-03-21 16:00:41
Brakuje Ci 'break' dla każdego case-a pierwszego poziomu.

https://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Warunek-wielokrotnego-wyboru-switch-case/17
Jeśli zabraknie słowa kluczowego break to program wykona wszystkie instrukcje od momentu spełnienia warunku aż do samego końca switch'a.
P-178327
mateuszuczen
Temat założony przez niniejszego użytkownika
» 2021-03-21 18:02:17
faktycznie dzieki wielkie. 3 godziny próbowałem to naprawić a wystarczylo dodać jedno słowo
P-178328
« 1 »
  Strona 1 z 1