Niechciany efekt w programie.

0

Witam wykonuję zadanie z książki do nauki C++ i mam pewien kłopot. O to treść zadania: Poproś użytkownika o podanie wieku dwóch osób i wskaż, która z nich jest starsza. Jeśli obie osoby mają powyżej 100lat, program powinien zachować się w szczególnych sposób.
I mój problem polega na tym że w momencie kiedy wpiszę że obie osoby mają po sto lat to wyświetla się zarówno komunikat "Jesteś stary" jak i "Osoby są w tym samym wieku"

#include<iostream>

using namespace std;



int main()
{
    int wiek1;
    int wiek2;
    cout<<"Podaj wiek pierwszej osoby: ";
    cin>>wiek1;
    cout<<"Podaj wiek drugiej osoby: ";
    cin>>wiek2;

    if(wiek1>=100&&wiek2>=100)
        {
             cout <<"Jestes stary "<< endl;
        }

    if(wiek1>wiek2)
    {
        cout<<"Pierwsza osoba jest starsza";
    }
    else if (wiek1<wiek2)
    {
        cout<<"Druga osoba jest starsza";
    }
    else
    {
        cout<<"Osoby sa w tym samym wieku";
    }


    return 0;
}
1

Nie rozumiem problemu, przecież program zachowuje się w szczególny sposób jeśli obie osoby mają ponad 100 lat (swoją drogą, masz ponad 99 lat, według litery zadania 100 to nie jest "ponad 100")

0

Tak zgadza się zachowuję się w szczególny sposób tyle tylko że wyświetlają się dwa komunikaty w momencie kiedy chciałbym widzieć komunikat tylko z pierwszego if i nie wiem co zrobiłem nie tak że wyświetlają się oba komunikaty.

3

Masz dwie osobne instrukcje if, zamiast if i else if.

if (a < 2) cout << "a jest mniejsze niż 2\n";
if (a < 5) cout << "a jest mniejsze niż 5\n";

np tutaj, jeśli a jest mniejsze od 2 to wyświetlą się oba komunikaty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1