• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Menu wyboru w pętli switch

Object Storage Arubacloud
0 głosów
1,816 wizyt
pytanie zadane 19 kwietnia 2016 w C i C++ przez Arturo332 Początkujący (250 p.)

Cześć,

Zrobiłem menu jednokrotnego wyboru w zależności od tego co wprowdzi uzytkownik, wygląda mniej-więcej tak:

int user=_getch();
switch(user)
{
case '1': //blablabla
case'2': //blablabla
.
.
.
}

Mam pytanie: w jaki spsób mogę zabezpieczyć to menu przed wciśnięciem innej wartości niż możliwa ale w taki sposób aby pętla wyboru cały czas działała i czekała na dokonanie wyboru. Nie wiem co musiałbym włożyc do default.

Pozdrawiam i z góry dziękuję

1
komentarz 19 kwietnia 2016 przez ScriptyChris Mędrzec (190,190 p.)

Zamknij switch w funkcję i w default umieść wywołanie tej funkcji? Oczywiście będziesz musiał też wywołać funkcje po pobraniu danych od użytkownika (żeby pierwszy raz uruchomić ten switch)

1 odpowiedź

+1 głos
odpowiedź 19 kwietnia 2016 przez Józef Mądrala (5,200 p.)

Musisz zamknąć wszystko w pętli do...while i na końcu switcha dodać polecenie, które będzie się wykonywało, gdy zmienna nie przyjmie żadnej przewidzianej wartości:

int a;
    cout<<"Wpisz 1, 2 lub 3"<<endl;
    do
    {
        cin>>a;
        switch(a)
        {
            case 1: cout<<"1";
            break;
            case 2: cout<<"2";
            break;
            case 3: cout<<"3";
            break;
            default: cout<<"Blad. Wpisz jeszcze raz"<<endl;
        }
    }while(a>3 || a<1);

Zauważyłem również, że w Twoim kodzie brakuje linii z poleceniem break, bez której całość nie będzie działać poprawnie.

Oczywiście jest to tylko ogólny schemat, więc nie zabezpiecza przed np. wprowadzeniem napisu zamiast wartości dla zmiennej int.

komentarz 19 kwietnia 2016 przez Patryk Krajewski Nałogowiec (26,170 p.)
Nie dawaj gotowych rozwiązań!

Podobne pytania

0 głosów
1 odpowiedź 1,171 wizyt
pytanie zadane 14 grudnia 2019 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
1 odpowiedź 2,650 wizyt
0 głosów
1 odpowiedź 502 wizyt

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...