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

[C++] Switch w switchu.

Ostatnio zmodyfikowano 2016-10-25 21:45
Autor Wiadomość
glivh
Temat założony przez niniejszego użytkownika
[C++] Switch w switchu.
» 2016-10-25 19:16:48
Witam, od niedawna uczę się programowania. Za cel postawiłem sobie program, którego zadaniem będzie obliczanie pola bądź obwodu wybranej przez nas figury. Próbuję zrobić to za pomocą switchów, aczkolwiek za bardzo mi to nie wychodzi. Prosiłbym o radę/naprowadzenie/przedstawienie jak kod powinien wyglądać.


C/C++
int x;
char zn;
double a, b, r, h, pole;
do {
   
    cout << "1. Kwadrat" << endl;
    cout << "2. Pole prostokata" << endl;
    cout << "3. Pole kola" << endl;
    cout << "4. Pole trojkata" << endl;
    cout << "5. Pole trapezu" << endl;
    cout << "Wybierz od 1 do 5" << endl;
    cin >> x;
   
    switch( x ) {
       
    case 1:
       
       
        long y;
        cin >> y;
        switch( y )
        {
        case 1:
            cout << "1. Pole" << endl;
            break;
        case 2:
            cout << "2. Obwod";
            break;
        default:
           
            break;
        }
P-152915
motorasek
Program
» 2016-10-25 20:35:38
Zrobiłem coś takiego:

C/C++
#include <iostream>
using namespace std;

int main() {
   
    double a, b, c, r, h;
    int liczba;
   
    cout << "1. Kwadrat" << endl;
    cout << "2. Prostokat" << endl;
    cout << "3. Kolo" << endl;
    cout << "4. Trojkat" << endl;
    cout << "5. Trapez" << endl;
    cin >> liczba;
   
    switch( liczba ) {
    case 1:
        cout << endl << endl << "Wybrales kwadrat: " << endl;
        cout << "Podaj a =";
        cin >> a;
       
        cout << "Pole: " <<( a * a ) << endl;
        cout << "Obwod: " <<( 4 * a ) << endl;
       
        break;
       
    case 2:
        cout << endl << endl << "Wybrales protokat: " << endl;
       
        cout << "Podaj a =";
        cin >> a;
       
        cout << "Podaj b =";
        cin >> b;
       
        cout << "Pole: " <<( a * b ) << endl;
        cout << "Obwod: " <<(( 2 * a ) +( 2 * b ) ) << endl;
       
        break;
       
    case 3:
        cout << endl << endl << "Wybrales kolo: " << endl;
       
        cout << "Podaj r =";
        cin >> r;
       
        cout << "Pole: " <<( 3.14 *( r * r ) ) << endl;
        cout << "Obwod: " <<( 2 * 3.14 * r ) << endl;
       
        break;
       
    case 4:
        cout << endl << endl << "Wybrales trojkat: " << endl;
       
        cout << "Podaj a =";
        cin >> a;
       
        cout << "Podaj b =";
        cin >> b;
       
        cout << "Podaj c =";
        cin >> c;
       
        cout << "Podaj h =";
        cin >> h;
       
        cout << "Pole: " <<(( a * h ) / 2 ) << endl;
        cout << "Obwod: " <<( a + b + c ) << endl;
       
        break;
       
    case 5:
        cout << endl << endl << "Wybrales trapez: " << endl;
       
        cout << "Podaj a =";
        cin >> a;
       
        cout << "Podaj b =";
        cin >> b;
       
        cout << "Podaj h =";
        cin >> h;
       
        cout << "Pole: " <<((( a + b ) * h ) / 2 ) << endl;
        cout << "Obwod: " << "nie chcialo mi sie wprowadzac tylu zmiennych, ale to prosta sprawa :)" << endl;
       
        break;
       
        default:
        cout << "Podales zle wartosci";
        break;
    }
    return 0;
}

Też dopiero się uczę także gdybym coś źle napisał proszę mnie poprawić.
P-152918
carlosmay
» 2016-10-25 21:45:04
Jeżeli chcesz coś deklarować w
case
ach, musisz jego blok wziąć w nawias klamrowy.
C/C++
case 1: {
    long y;
    cin >> y;
} break;
case 2:
// opcja 2
P-152921
« 1 »
  Strona 1 z 1