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

При b=1 выдает ошибку - C++

Восстановить пароль Регистрация
 
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
02.10.2013, 17:13     При b=1 выдает ошибку #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
# include <iostream>
 # include <math.h>
 using namespace std;
 double Func( double s, double b);
 void main ()
 {
 double c=0;
  try
  {
  c=Func(4, 5);
  cout<<"Func "<<c;
  }
 catch(int b)
 {
 if(b==1)
 cout<<"\n sorry, it's the end";
 }
 cin.get();
 cin.get();
 }
 
 double Func( double s, double b)
 {
  double a;
  a=s/sqrt(b-1);
  return a;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,841
Записей в блоге: 2
Завершенные тесты: 1
02.10.2013, 17:19     При b=1 выдает ошибку #2
C++
1
a=s/sqrt(b-1);
при b == 1 будет деление на ноль
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
02.10.2013, 17:21  [ТС]     При b=1 выдает ошибку #3
как избежать?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.10.2013, 17:23     При b=1 выдает ошибку #4
а при b<1 - комплексное число

Добавлено через 37 секунд
Цитата Сообщение от Suarez777 Посмотреть сообщение
как избежать?
не делить на ноль добавьте проверку аргументов что ли
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,841
Записей в блоге: 2
Завершенные тесты: 1
02.10.2013, 17:24     При b=1 выдает ошибку #5
Цитата Сообщение от Suarez777 Посмотреть сообщение
как избежать?
проверять
C++
1
2
if( b < = 1 ) 
   throw <...> ;
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
02.10.2013, 17:51  [ТС]     При b=1 выдает ошибку #6
нужно исключение

Добавлено через 11 минут
Не работает все равно...


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
void main ()
 {
 double s, b, c=0;
  try
  {
      while(cin>>s>>b)
      {
  c=Func(s, b);
  cout<<"a= "<<c;
      }
  }
 catch(int b)
 {
 if(b <= 1) 
   throw "Error" ;
 }
 cin.get();
 cin.get();
 }
 
 double Func( double s, double b)
 {
  double a;
  a=s/sqrt(b-1);
  return a;
 }
Бендерродригез
Сгибальщик
 Аватар для Бендерродригез
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
02.10.2013, 17:55     При b=1 выдает ошибку #7
Suarez777, ты исключение в блоке catch вызываешь.
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
02.10.2013, 18:01  [ТС]     При b=1 выдает ошибку #8
а где нужно вызывать его?

Добавлено через 2 минуты
Цитата Сообщение от Бендерродригез Посмотреть сообщение
Suarez777, ты исключение в блоке catch вызываешь.
а где нужно?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,841
Записей в блоге: 2
Завершенные тесты: 1
02.10.2013, 18:09     При b=1 выдает ошибку #9
Цитата Сообщение от Suarez777 Посмотреть сообщение
а где нужно?
сначала лучше книжку почитать.
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
02.10.2013, 18:12  [ТС]     При b=1 выдает ошибку #10
Цитата Сообщение от Croessmah Посмотреть сообщение
сначала лучше книжку почитать.
вместо того чтоб острить, лучше бы помог
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
02.10.2013, 18:14     При b=1 выдает ошибку #11
Цитата Сообщение от Suarez777 Посмотреть сообщение
вместо того чтоб острить, лучше бы помог
Suarez777, А смысл помогать? Он с тобой на чужом языке будет говорить с тобой, если ты не знаешь этой темы. Сначала теория из книжки, потом разговор.
Бендерродригез
Сгибальщик
 Аватар для Бендерродригез
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
02.10.2013, 18:16     При b=1 выдает ошибку #12
Цитата Сообщение от Suarez777 Посмотреть сообщение
вместо того чтоб острить, лучше бы помог
Во-первых, с какой стати?
Во-вторых, совет действительно дельный. Или, в крайнем случае, в гугл забить можно.
Shadow121
 Аватар для Shadow121
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 42
02.10.2013, 19:08     При b=1 выдает ошибку #13
C++
1
2
3
4
5
6
7
 double Func( double s, double b)
 {
  double a;
  if( b > 1 ) 
  a=s/sqrt(b-1);
  return a;
 }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2013, 19:14     При b=1 выдает ошибку
Еще ссылки по теме:

C++ Программа запускается, но при компиляции выдает ошибку
Выдает ошибку при создании модуля C++
C++ Выдает ошибку при построении

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,841
Записей в блоге: 2
Завершенные тесты: 1
02.10.2013, 19:14     При b=1 выдает ошибку #14
Shadow121, а если условие ложно, тогда чему будет равно a?
Yandex
Объявления
02.10.2013, 19:14     При b=1 выдает ошибку
Ответ Создать тему
Опции темы

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