Dzielenie przez zero, a Visual
Ostatnio zmodyfikowano 2014-10-18 19:33
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ł... |
|
« 1 » |