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

Dzielenie przez zero, a Visual

Ostatnio zmodyfikowano 2014-10-18 19:33
Autor Wiadomość
Kopczak1995
Temat założony przez niniejszego użytkownika
Dzielenie przez zero, a Visual
» 2014-10-18 19:33:19
Witam, mam problem z programem w visualu. Najpierw jednak przedstawię problematyczną część kodu:

int a, b;
cout << "Podaj liczbę całkowitą a: "; cin >> a;
cout << "oraz liczbę całkowitą b: "; cin >> b;
system("cls");
cout
    << "Jakie działanie wykonać?" << endl
    << "1 dla dodawania" << endl
    << "2 dla odejmowania " << endl
    << "3 dla mnożenia" << endl
    << "4 dla dzielenia" << endl;
int x;
cin >> x;
system("cls");
cout << "a / b = " << a / b << endl;
switch (x)
{
case 1:
    cout << "a + b = " << a + b; break;
case 2:
    cout << "a - b = " << a - b; break;
case 3:
    cout << "a * b = " << a * b; break;
case 4:
    if(b != 0) dzielenie(a, b);
    else cout << "Nie dzieli się przez zero..."; break;
    }
Jak widać pobieram 2 zmienne, a i b z klawiatury i wybieram jedno z 4 działań za pomocą zmiennej x. Do tego momentu wszystko działa w porządku, lecz gdy wybieram opcję dzielenia, a dzielnikiem jest zero to wyskakuje mi błąd krytyczny dzielenia przez zero... Byłoby to oczywiście w pełni uzasadnione gdyby nie fakt, że umieściłem w tym przypadku warunek, że jeśli dzielnik (zmienna b) jest tym feralnym zerem to po prostu ten krok jest omijany poprzez wyświetlenie komentarza o niedzieleniu przez zero.

W takim razie co powinienem zrobić? Działanie kompilatora jest w tym przypadku zupełnie nielogiczne i nie wiem jak się rozprawić z tym problemem... Sam kod się po prawdzie kompiluje ale nie jest to pocieszające, ponieważ przy włączeniu go na podanych parametrach zmiennej b program jest po prostu zabijany przez system...

@Edit Błąd odnaleziony - gdzieś przy kopiowaniu pojawiła się dodatkowa linijka dzielenia i przez to kompilator krzyczał...
P-118802
« 1 »
  Strona 1 z 1