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

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

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

Генератор исключений не работает, не знаю - почему... - C++

25.02.2016, 01:24. Просмотров 188. Ответов 3
Метки нет (Все метки)

Вообщем такая проблема, написал код по поиску корней квадратного уравнения, но генератор исключений не работает не могу понять почему
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
35
36
37
38
39
40
41
#include <iostream>
#include <cmath>
using namespace std;
 
int main() 
{
double a,b,c,d,znam=2*a;
double x_1, x_2, x_3;
 
cin>>a;
cin>>b;
cin>>c;
 
d = pow(b,2) - 4*a*c;
 
if(d>0)
 {
    x_1 = (-b+sqrt(d))/znam;
    x_2 = (-b-sqrt(d))/znam;
    cout<<"Первый корень"<<x_1<<endl;
    cout<<"Второй корень"<<x_2<<endl;
 }
if(d==0)
  {
        x_3 = -b/znam;
        cout<<"Первый корень"<<x_3<<endl;
  }
try
{
if(znam==0 || d<0)
 {
    throw 999;
 }
cout<<a+b+c<<endl;
}
catch(int i)
 {
    cout<<"Ошибка №"<<i<<" "<<"знаменатель равен 0 или d меньше 0"<<endl;
 }
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2016, 01:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генератор исключений не работает, не знаю - почему... (C++):

Решил сделать миникалькулятор, но программка не работает, я не знаю почему... - C++
я начал изучать c++ сделал программу &quot;hello world&quot; и решил попробовать сделать мини калькулятор но моя программка не работает я не знаю...

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

Программа с использованием windows.h не находит файла. Не знаю почему - C++
Программа не находит файла. Не знаю почему. задача: 1.Считывания перечени текстовых файлов из текущей директории с использованием...

Обработка исключений с пмощью структурированной обработки исключений - C++
Есть функция, которая определенным образом работает с файлами,но при работе с файлами &quot;не подходящего&quot; типа вызывается необработанное...

Почему выводится в виде таблицы и почему не работает сортировка - C++
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы комнат? hotel.h #include...

Не работает генератор случайных чисел - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using namespace std; int main(){ int a; srand(time(0));...

3
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4139 / 2270 / 561
Регистрация: 18.10.2014
Сообщений: 3,882
25.02.2016, 02:29 #2
Цитата Сообщение от ProFrog111 Посмотреть сообщение
генератор исключений не работает
Что такое "не работает"?

Отдельно возникает вопрос, что вот это такое

C++
1
double a,b,c,d,znam=2*a;
О каком '2*a' может идти речь, если 'a' еще вообще ничем не инициализирована??? Вас компилятор физиономией не ткнул в это дело?
1
Tulosba
:)
Эксперт С++
4619 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
25.02.2016, 08:37 #3
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
О каком '2*a' может идти речь
Всё просто. Если в a мусор, то тут получается в 2 раза больше мусора
Хотя, формально, конечно, здесь UB.
ProFrog111, перенеси вычисление znam, как минимум, после ввода a.
Дополнительно хочу сказать, что не рекомендуется использовать встроенные типы в качестве объектов исключения. Для этих целей правильнее предусмотреть свой класс, который можно унаследовать от std::exception.
1
ProFrog111
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 116
25.02.2016, 22:40  [ТС] #4
Увы, но не ткнул

Добавлено через 44 минуты
А как именно это реализовать т.к. я делаю по книге Бьярне Страуструпа 2011 года, и стараюсь реализовывать тем способами что изложены в главе, возможно то о чем вы говорите изложено, но я не могу найти

Добавлено через 27 минут
В принципе код работает но когда ошибок не должно быть вместе с корнями компилятор выводит и 34 строку, а этого как я понял не должно быть или так и должно быть?

Добавлено через 1 час 53 минуты
Извиняюсь исправил)
0
25.02.2016, 22:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2016, 22:40
Привет! Вот еще темы с ответами:

Неправильно работает генератор случайных чисел - C++
Подскажите, кто разбирается, почему при генерации случайных чисел первое значение равно нулю ? #include &lt;iostream&gt; #include...

Как работает генератор случ чисел? - C++
while ( i&lt;kol) { x=lb + rand()%(rb-lb+1); // ---&gt;что означает эта строка???????????? counter++; if ((x % 10)+(x/10)&lt;7) { arr =...

Не работает функция по причине temp'a. Не знаю как исправить - C++
void Mass_Function_Replace(double massive, int n) { double temp; for(int i =0; i &lt; n-1; i++) { if(abs(massive)&gt;1) double temp;...

Не знаю почему не работает - PHP
Здравствуйте. Может ли кто нибудь сказать почему не работает unset. В общем мне нужно, чтобы после вывода удалить $_POST ...


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

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

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