Dodaj do ulubionych

Instrukcja switch C++

13.10.05, 22:18
Dopiero zaczynam przygodę z c++ i mam do napisania programik który po
obliczeniu i wyswietleniu wieku uzytkownika sprawdza w jakim przedziale sie
ten wiek miesci i wyswietla odpowiedni komunikat (np, "Jestes nastolatkiem",
"Jestes staruszkiem", itd.). Wiem że trzeba yo zrobić instrukcją switch ale
nie wiem jak zaznaczyć przedział wiekowy np: switch (wiek) case 0-10: coś tam
.... Proszę o pomoc. Wiem że coś takiego w Visualu zaznaczało sie jako case 0
to 10, a jak to się zaznacza w C++ ???
Edytor zaawansowany
  • atrapa_kierownika 13.10.05, 22:40
    Nie ma takiej możliwości. Od razu zaznaczam, że nie jest to jakąś niedoróbką języka, tak jest z założenia, ponieważ instrukcja switch-case, w krótej można podać dla każdego przypadku tylko jedną wartość może być skompilowana do bardzo efektywnego kodu. Chcąc użyć przedziałów możesz napisać np.:

    void kim_jestem (int n)
    {
    if (n < 10) { cout << "Jesteś dzieckiem"; return; }
    if (n < 20) { cout << "Jesteś nastolatkiem"; return; }
    if (n < 30) { cout << "Jesteś jeszcze kimś tam innym"; return; }
    itd.itp.
    }

    Jeżeli taką formę uważasz za zbyt rozwlekłą, możesz łatwo za pomocą preprocesora sprowadzić ją do postaci równie zwięzłej, jak instrukcja switch-case.
  • alsor 13.10.05, 22:54
    lepiej zrób to tak:

    if( wiek <= 0 ) s = "be";
    else if( wiek < 10 ) s = "dziecko";
    else if( wiek < 20 ) s = "młodzik";
    .
    .
    else if( wiek < 100 ) s = "dobry wiek";
    else s = "bez przesady";
  • anna852 14.10.05, 14:43
    Dzięki za podpowiedzi. Myślałam że instrukcją swich da się to zrobić.

Popularne wątki

Nie pamiętasz hasła

lub ?

 

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka