Tym razem brzmi ono: “Napisz program, który sprawdza, czy podana przez użytkownika liczba nie należy do przedziału: <0;50) suma <100;200){150}.”
Osiągnąłem taki kod:
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int a;
cout<<"Podaj liczbe" <
cin>> a;
if ((a<= 0) && (a < 50) && (a>=100) && (a<200) && (a != 150))
{
cout<<"Podana liczba nalezy do przedzialu" <
}
else
{
cout<<"Podana liczba nie nalezy do przedziału" <
}
system("PAUSE");
return EXIT_SUCCESS;
}
Lecz gdy wprowadziłem liczbę 20, program napisał: “Podana liczba nie należy do przedziału”, chociaż ta liczba ewidentnie należy.
Co mam zrobić lub gdzie popełniłem błąd aby podany wyżej program działał?
Tak jak to napisał Zulowski powyżej. Przecież to jest podstawowa logika matematyczna! _lub_ to ||, _i_ to &&. Piszesz same &&, więc wszystkie te warunki musiały by być spełnione, ale się wykluczają.
To może Panowie w drodze wyjątku zapiszecie poprawnie ten warunek bo juz próbowałem na wszystkie sposoby i raz pisze ze 20 należy a raz że nie należy, a potem z kolei tak samo z 50… Sam już nie wiem… Błagam, pomóżcie… ![-o<
Treść polecenia: “Napisz program, który sprawdza, czy podana przez użytkownika liczba nie należy do przedziału: <0;50) suma <100;200){150}”.
Mam taki kod:
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int a;
cout<<"Podaj liczbe" <
cin>> a;
if ((a<= 0) && (a < 50) && (a>=100) && (a<200) && (a != 150))
{
cout<<"Podana liczba nalezy do przedzialu" <
}
else
{
cout<<"Podana liczba nie nalezy do przedziału" <
}
system("PAUSE");
return EXIT_SUCCESS;
}
Wiec teraz już chyba wiadomo co chcę uzyskać?
Chce uzyskać to ze program bedzie działać bo na razie szwankuje… Nie wiem jak Wam to jaśniej wytłumaczyć…
– Dodane 05.06.2009 (Pt) 18:17 –
Chodzi mi o sam warunek, ewentualnie poprawki w kodzie… Błagam… ![-o<
if (((a<= 0) && (a < 50)) || ((a>=100) && (a<200)) || (a != 150))
{
cout<<"Podana liczba nalezy do zbioru <0;50)sum<100;200)minus {150}" <
}
else
{
cout<<"Podana liczba NIE nalezy do zbioru <0;50)sum<100;200)minus {150}" <
}
wersja 2
if (((a<= 0) || (a < 50)) && ((a>=100) || (a<200)) && (a != 150))
{
cout<<"Podana liczba NIE nalezy do zbioru <0;50)sum<100;200)minus {150}" <
}
wersja 3
if (!(((a<= 0) && (a < 50)) || ((a>=100) && (a<200)) || (a != 150)))
{
cout<<"Podana liczba NIE nalezy do zbioru <0;50)sum<100;200)minus {150}" <
}
else
{
cout<<"Podana liczba nalezy do zbioru <0;50)sum<100;200)minus {150}" <
}