Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
#1

Исключительные ситуации - C++

28.10.2013, 20:07. Просмотров 309. Ответов 1
Метки нет (Все метки)

Почему программа не работает?? Исключительная ситуация возникающая при деление на нуль. Пользователь с клавиатуры должен ввести число, если это нуль тогда он должен ввести ещё раз иначе вывести результат деления
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
 
int x;
double a;
bool i;
 
void f()
{
    i=false;
    cin>>x;
        throw "Error: Division by Zero!";
    a=1/x;
    cout<<a<<endl;
}
 
int main()
{
    try
    {
        i=true;
        f();
    }
    catch (bool i)
    {
        if (i==false)
        {
            cout<<"Error! Retry x";
            f();
        }
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2013, 20:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исключительные ситуации (C++):

исключительные ситуации - C++
Описать и реализовать функцию анализа номера телефона, обработайте ошибку создания номера в неверном формате (допустимый формат - +8 (095)...

Исключительные ситуации - C++
Надо сделать так, чтоб при вводе чарового символа в итовый вектор выводило сообщение об ошибке, но программа не закрывалась, а просто...

Исключительные ситуации - C++
Функция должна выполнять проверку параметров, передаваемых и генерировать исключения в случае ошибки. Без спецификаторов исключений; ...

исключительные ситуации - C++
Подскажите, как сделать переполнение в этой задаче: Создать класс для хранения обыкновенных дробей. Запрограммировать метод сокращения...

Исключительные ситуации - C++
Как обработать исключительную ситуацию,когда переменная описана как int,к примеру,а вводится какой-нибудь char?А то нам как то в лекции...

Исключительные ситуации - C++
Доброго времени суток. Возникла такая проблема. Никак не могу разобраться с исключительными ситуациями. Вот допустим, как здесь сделать,...

1
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
28.10.2013, 21:01 #2
Цитата Сообщение от kenedy542 Посмотреть сообщение
Исключительная ситуация возникающая при деление на нуль.
Деление на ноль - это не исключение.
Пройдемся по коду:
C++
1
2
3
4
5
6
7
8
void f()
{
    i=false;//<-- Это вообще не понятно зачем, но допустим
    cin>>x; //<-- Получаем x
        throw "Error: Division by Zero!"; //<-- Бросаем исключение, начинается "раскрутка стека"
    a=1/x;//<-- Эта строчка уже не выполнится никогда!
    cout<<a<<endl;
}
Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    try
    {
        i=true;//<-- назначение понятно, не понятно почему именно так уродливо надо было делать!
        f(); //<-- Вызываем функцию. Тут же летит исключение const char *
    }
    catch (bool i)//почему ловим bool?
    {
        if (i==false)//Всё намешано жестоко
        {
            cout<<"Error! Retry x";
            f();//Эта функция только что бросила исключение и опять вызывается, но так как она не может нормально завершиться, здесь тоже полетит исключение
        }
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 21:01
Привет! Вот еще темы с ответами:

исключительные ситуации - C++
почему не работает?? как надо?? #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; template&lt;class T&gt; class Vector...

Препроцессор,исключительные ситуации - C++
Всем доброго времени суток!) По прочтению изложенного в моей книге материала по искл. ситуациям и операторам препроцессора(? так можно...

обработать исключительные ситуации - C++
Функция вычисляет корень квадратного уравнения ax2+bx+c=0 Нужно обработать исключительные ситуации

Исключительные ситуации в классах - C++
Добрый день. Нужна помощь, есть класс дробей. В нём я сделал исключительные ситуации для переполенения и для деления на 0. Но надо чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru