Форум программистов, компьютерный форум CyberForum.ru

Составить программу, обрабатывающую исключительную ситуацию - C++

Восстановить пароль Регистрация
 
Hlor007
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 23
06.03.2014, 02:58     Составить программу, обрабатывающую исключительную ситуацию #1
Составить программу на языке С++ обрабатывающую исключительную ситуацию, которая может возникнуть в ходе выполнения программы.
Выведите на экран значение функции для некоторого диапазона значений аргумента х. Коэффициенты a, b, c, d и диапазон значений аргумента вводятся с клавиатуры.
При организации ввода/вывода должен использоваться механизм для отлова исключений типа.
Подобрать параметры таким образом, чтобы в определенный момент происходило выполнение функции с некорректным аргументом (например, квардатный корень из -1, деление на 0,переполнение типа и т.д.)

y=log2(ax2+bx)/c

Рабочий код программы

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
#include <conio.h>
#include <iostream.h>
#include <math.h>
double log2(double n)
{
return log (n)/log(2);
}
void main ()
{
int x1, x2, x, c;
double a, b;
cout<<"VVedune Interval a do b"<<endl;
cin>>x1>>x2;
cout<<"VVedune a, b, c "<<endl;
cin>>a>>b>>c;
for (x=x1;x<=x2;x++){
try
{
cout<<"y="<<log2 (a*x*x+b*x)/c <<endl;
}
catch (int i)
{
cout<<"DeleHue Ha 0"<<endl;
}
}
getch ();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2014, 02:58     Составить программу, обрабатывающую исключительную ситуацию
Посмотрите здесь:

Разъясните ситуацию с ссылками. C++
C++ Нарушение прав доступа при записи. Висящий указатель нашел, но не знаю как исправить ситуацию
Написать программу, реализует следующую игровую ситуацию: компьютер задает случайное целое число в интерали от 1 до 10, а мне нужно это число угадать C++
C++ Функция get() разъясните ситуацию
C++ SEH; функция-фильтр необработанных исключений устраняет исключительную ситуацию, но почему-то вызывается постоянно
Объясните ситуацию с integer, float и double. Выводится число на единицу меньше положенного C++
Проясните ситуацию с пространствами имен C++
Разъясните ситуацию с возвратом объекта или ссылки на объект C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
reckless91
30 / 30 / 1
Регистрация: 01.11.2013
Сообщений: 63
06.03.2014, 06:16     Составить программу, обрабатывающую исключительную ситуацию #2
Во-первых, блок try лучше разместить так...
C++
1
2
3
4
5
6
try
{
    for (x=x1;x<=x2;x++){
        cout<<"y="<<log2 (a*x*x+b*x)/c <<endl;
    }
}
Потому что, иначе, как в вашем примере, выполнение for исключение не остановит, а прерываться будет лишь очередная итерация цикла.

Во-вторых генерируйте исключение с помощью throw
C++
1
2
3
4
5
if(c == 0)
    throw 0;
for (x=x1;x<=x2;x++){
    cout<<"y="<<log2 (a*x*x+b*x)/c <<endl;
}
Yandex
Объявления
06.03.2014, 06:16     Составить программу, обрабатывающую исключительную ситуацию
Ответ Создать тему
Опции темы

Текущее время: 01:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru