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++ ???
Obserwuj wątek
    • atrapa_kierownika Re: Instrukcja switch C++ 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 Re: Instrukcja switch C++ 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";

Popularne wątki

Nie pamiętasz hasła

lub ?

 

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka