Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Konstrukcja warunkowa if - gdzie wkradł się błąd?

shiori 12 Kwi 2017 19:28 585 3
  • #1 12 Kwi 2017 19:28
    shiori
    Poziom 3  

    C++:
    Napisz program, który prosi o podanie imienia i wieku, a następnie wypisuje komunikat:
    "Siema << imię >>" jeżeli wiek =<10
    "Cześć << imię >>" jeżeli 10<wiek<35
    "Dzień dobry << imię >>" jeżeli wiek =<35
    *program inteligentny (nie uznaje wieku np. -5; oddzielny komunikat)

    Mój program działa dobrze do czasu kiedy liczby nie są ujemne ani nie są większe od 34.

    MÓJ PROGRAM:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 3
  • #3 12 Kwi 2017 20:03
    rajszym
    Poziom 19  

    Tu masz błędy:

    shiori napisał:

    "Dzień dobry << imię >>" jeżeli wiek =<35
    ...
    else if (10<b<35)
    ...
    else if (b<=35)

    0
  • #4 15 Kwi 2017 13:31
    VIGOR_PICTURES
    Poziom 20  

    shiori napisał:
    C++:
    Napisz program, który prosi o podanie imienia i wieku, a następnie wypisuje komunikat:
    "Siema << imię >>" jeżeli wiek =<10
    "Cześć << imię >>" jeżeli 10<wiek<35
    "Dzień dobry << imię >>" jeżeli wiek =<35
    *program inteligentny (nie uznaje wieku np. -5; oddzielny komunikat)

    Mój program działa dobrze do czasu kiedy liczby nie są ujemne ani nie są większe od 34.

    MÓJ PROGRAM:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Witaj,
    Najpierw pytanie - nie zapomniałeś przypadkiem o poniższym? :)
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Teraz pora na resztę.
    Pierwszy błąd wynika z nieprawidłowego użycia argumentów logicznych w pętli IF
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Zamiast powyższego powinieneś użyć dwóch warunków i operatora logicznego koniunkcji:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Czyli w tłumaczeniu: zawartość tej pętli ELSE IF wykona się gdy zostanie spełniony warunek (b>10) i warunek (b<35)

    Kolejna sprawa to błędne założenia programu dla ostatniej pętli ELSE IF ( b<= 35) Według mnie warunek powinien wyglądać tak (b >=35)

    Ostatnia kwestia to liczby mniejsze od zera. Wystarczy w pierwszej pętli (IF) dodać drugi warunek, który sprawi, że pętla wykona się wyłącznie w przedziale liczb od 0 do 10.

    Pozdrawiam!

    0