[C++] Sprawdzenie przedziału - prośba o pomoc

Witam.

Na zaliczenie otrzymałem do zrobienia taki program:

“Napisz program, który sprawdza, czy podana przez użytkownika liczba należy do przedziału:<-20;9){0}”

Udało mi się osiągnąć taki kod:

#include 

#include 


using namespace std;


int main(int argc, char *argv[])

{

    int a;

    cout<<"Podaj liczbę" <
    cin>> a; 

    if ((a>= -20) && (a< 9) && (a != 0))

    {

    cout<<"Podana liczba należy do przedziału" <
    }

    else if ((a< -20) && (a> 9) && (a == 0))

    cout<<"Podana liczba nie należy do przedziału" <


    system("PAUSE");

    return EXIT_SUCCESS;

}

Jednak nie potrafię wyświetlić tekstu “Podana liczba nie należy do przedziału”, gdy podam liczbę z poza przedziału, program po prostu kończy działanie.

Proszę o pomoc… Błagam… :frowning:

Wyrzuć drugi warunek, jest zbędny i do tego błędny. Bo jaka liczba jest ZARÓWNO mniejsza od -20 i większa od 9? Jeśli pierwszy warunek nie jest spełniony to wiadomo, że liczba do tego przedziału nie należy, po co to dodatkowo testować?

Instrukcja else if wg mnie raczej nigdy nie może być spełniona. Istnieje jakaś liczba, która jest jednocześnie mniejsza od -20, większa od 9 i równa zeru :?:

EDIT:

Wyprzedzony :razz:

Zamiast tej instrukcji użyj zwykłe else

Panowie dziękuję za wyrozumiałość dla osoby dopiero co ucząccej się C++…

Zrobiłem tak:

#include 

#include 


using namespace std;


int main(int argc, char *argv[])

{

    int a;

    cout<<"Podaj liczbę" <
    cin>> a; 

    if ((a>= -20) && (a< 9) && (a != 0))

    {

    cout<<"Podana liczba należy do przedziału" <
    }

    else 

    {

    cout<<"Podana liczba nie należy do przedziału" <
    }     


    system("PAUSE");

    return EXIT_SUCCESS;

}

I działa… :!: :!: :!:

Jesteście wielcy… Dziękuję… =D> dla Was.