dorota08x utworzono 26 stycznia 2013 utworzono 26 stycznia 2013 mam taki oto kod: class WyjatekDZ { public: WyjatekDZ():komunikat("proba dzielenia przez 0") {} const string jaki() { return komunikat; } private: const string komunikat; }; double iloraz(int a, int b) { if(b==0) throw WyjatekDZ(); return a*1.0/b; } i nie wiem czemu gdy w main wpisuje jako tą druga liczbe 0 to zawiesza mi sie program. gdzie mam błąd? pomoże ktos?
rafalluz komentarz 26 stycznia 2013 komentarz 26 stycznia 2013 (edytowane) Przechwytujesz ten wyjątek blokiem try/catch? http://pl.wikibooks.org/wiki/C++/Obs%C5%82uga_wyj%C4%85tk%C3%B3w
dorota08x komentarz 27 stycznia 2013 Autor komentarz 27 stycznia 2013 w mian: int main() { int n,m; double w; cout<<"podaj (^Z konczy dane) \n" ; while(cin>>n>>m) { try { w=iloraz(n,m); cout<<n<<'/'<<m<<"="<<w<<endl; } catch (WyjatekDZ wyjatek) { cout<<"\n Wystapil wyjatek: "<<wyjatek.jaki()<<endl; } cout<<"podaj liczby (^Z konczy dane) \n" ; }
leggo komentarz 27 stycznia 2013 komentarz 27 stycznia 2013 Wygląd na to, że błąd musi powstawać gdzieś w innej części programu, bo kod, który podałaś działa poprawnie.
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.