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

C++, program z instrukcją warunkową

Ostatnio zmodyfikowano 2018-08-09 16:52
Autor Wiadomość
gsm25
Temat założony przez niniejszego użytkownika
C++, program z instrukcją warunkową
» 2018-08-09 12:51:51
Chcę napisać program, który ma sprawdzić, czy wprowadzana liczba całkowita z klawiatury jest podzielna przez 2. Następnie program ma sprawdzić czy wprowadzona liczba jest podzielna przez 5.
Napisałem coś takiego
C/C++
#include <iostream>
using namespace std;
int liczba;
int main()
{
    cout << "Podaj liczbe:\n";
    cout << "a=";
    cin >> liczba;
   
    if( liczba % 2 == 0 );
   
    cout << "Liczba a =" << liczba << "\t jest podzielna przez 2\n";
   
    if( liczba % 5 == 0 );
   
    cout << "Liczba a =" << liczba << "\t jest podzielna przez 5\n";
   
    cout << "Program sprawdzil, czy podana liczba jest podzielna przez 2 lub 5";
   
    return 0;
}
Problem w tym, że otrzymuję:

Podaj liczbe:
a=2
Liczba a =2      jest podzielna przez 2
Liczba a =2      jest podzielna przez 5
Program sprawdzil, czy podana liczba jest podzielna przez 2 lub 5


No a raczej 2 nie jest podzielna przez 5 bez reszty. Jestem na początku drogi z programowaniem i nie bardzo wiem gdzie tkwi problem i jak go naprawić.
P-172038
pekfos
» 2018-08-09 13:31:12
Średniki po if.

Dodam dwie uwagi na przyszłość: wcięcia w kodzie są przydane, więc jeśli środowisko programistyczne nie próbuje ci wciąć kodu po if, to pewnie nie uważa następnej linii jako "podległej" instrukcji if. Najprawdopodobniej dlatego, że podałeś średnik po if, czyli instrukcji sterującej if podlega instrukcja pusta. Druga uwaga to to, że takie błędy potrafi wytykać kompilator, o ile poziom ostrzeżeń jest wystarczająco wysoko ustawiony. Np GCC z opcją -Wextra daje taki komunikat:
warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
A Visual Studio (poziom ostrzeżeń 3 i wyżej)
warning C4390: ';': empty controlled statement found; is this the intent?
P-172041
gsm25
Temat założony przez niniejszego użytkownika
» 2018-08-09 16:52:52
Dziękuję, nie zauważyłem tych średników :)
P-172057
« 1 »
  Strona 1 z 1