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

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

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

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

06.03.2014, 02:58. Просмотров 219. Ответов 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 ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2014, 02:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить программу, обрабатывающую исключительную ситуацию (C++):

Обработать исключительную ситуацию деления на нуль - C++
Помогите написать программу с обработкой исключительной ситуации деления на нуль, пожалуйста. Вот тут что то есть, или это не то? Я что то...

SEH; функция-фильтр необработанных исключений устраняет исключительную ситуацию, но почему-то вызывается постоянно - C++
Ну то есть цель: должна сделать так, чтобы исключительная ситуация больше не возникала и возвратить EXCEPTION_CONTINUE_EXECUTION. Отсюда...

Написать программу, реализует следующую игровую ситуацию: компьютер задает случайное целое число в интерали от 1 до 10, а мне нужно это число угадать - C++
Написать программу, реализует следующую игровую ситуацию: компьютер задает случайное целое число в интерали от 1 до 10, а мне нужно это...

Функция get() разъясните ситуацию - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; using namespace std; int main() { setlocale(LC_CTYPE, &quot;russian&quot;); char...

Разъясните ситуацию с ссылками. - C++
#include &lt;iostream.h&gt; void main(void) { int x=777; int &amp;ir = x; double &amp;dr=x; cout&lt;&lt;&quot; x = &quot;&lt;&lt;x&lt;&lt;endl; ...

Составить программу с массивами структурами. Заполнить структуры информации, составить - C++
Составить программу с массивами структурам согласно варианту. Заполнить структуры информации, составить запросы , и вывести результаты...

1
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2014, 06:16
Привет! Вот еще темы с ответами:

Проясните ситуацию с пространствами имен - C++
Имеется программа, состоящая из двух файлов, например file1.cpp и file2.cpp Написав только в одном из них после директив препроцессора: ...

Разъясните ситуацию с видимостью объекта - C++
В общем узнал что внутри классов можно описывать структуры, подклассы и т.д. и т.п. Вроде удобно, решил использовать это. При попытке...

Разъясните ситуацию с возвратом объекта или ссылки на объект - C++
CValue my_f(15, false); CValue my_t(5, false); ... my_f = my_t + 2; Переопределение операторов сложения и...

Объясните ситуацию с integer, float и double. Выводится число на единицу меньше положенного - C++
Здравствуйте. Хотел бы разузнать, в чем дело в следующей ситуации: void excs_fifteen() { system(&quot;cls&quot;); cout&lt;&lt;&quot;-&gt;...


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

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

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