Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Warunki "nie spełniają swojej funkcji"

Ostatnio zmodyfikowano 2016-08-29 11:43
Autor Wiadomość
Etealin
Temat założony przez niniejszego użytkownika
Warunki "nie spełniają swojej funkcji"
» 2016-08-28 20:11:36
Witam! Otóż napisałem w Notepad++ taki oto programik do skompilowania w CodeBlocks. Otóż kompilator "radzi sobie" z kodem, jednakże, gdy wpiszę liczbę większą od stu lub mniejszą od zera, pojawia się tekst "Dobrze, wpisano liczbę xyz". Co zrobiłem nie tak? Proszę o poprawienie kodu i naukę.

C/C++
#include <iostream>
using namespace std;


int main()
{
    int liczba;
    std::cout << "Witaj w programie! Wpisz liczbe calkowita od 1 do 120." << endl;
    std::cin >> liczba;
    if( liczba > 0 || liczba < 101 )
    {
        std::cout << "Dobrze. Wpisano liczbe " << liczba << "." << endl;
        if( liczba == 7 )
        {
            std::cout << "Liczba siedem jest zwana inaczej szczesliwa liczba. Chociaz dzieki niej nie wygrasz w totolotka, mozesz dzieki niej liczyc na szostke!" << endl;
        }
        if( liczba == 13 )
        {
            std::cout << "Ta liczba jest pechowa! Dzieki niej nie wygrasz w totolotka!" << endl;
        }
        return 1;
    }
    if( liczba < 0 || liczba > 100 )
    {
        std::cout << "Wpisano liczbe niezgadzajaca sie z kryteriami wyszukania! Wpisano liczbe " << liczba << ", a powinna byc w zakresie od powyzej zera do stu!" << endl;
        return 0;
    }
}
P-151166
carlosmay
» 2016-08-28 21:06:10
if( liczba > 0 || liczba < 101 )
 ten warunek jest zawsze
true
.
P-151170
polkom21
» 2016-08-29 11:43:46
Zamiast
if( liczba > 0 || liczba < 101 )
powinno być
if( liczba > 0 && liczba < 101 )

i ten drugi warunek jest niepotrzebny. Wystarczy tam wstawić else.
P-151193
« 1 »
  Strona 1 z 1