Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/30: Рейтинг темы: голосов - 30, средняя оценка - 4.73
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124

Попытка деления но ноль

21.01.2011, 16:41. Показов 6340. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!
Подскажите пожайлуста.
Как записать код вывода ошибки, что на ноль делить нельзя
Спасибо
Вот пробные варианты
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
42
43
44
45
46
47
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  x2=StrToFloat(RichEdit1->Text);
     switch (z)   {
    case 1: x1+=x2; break;
    case 2: x1-=x2; break;
    case 3: x1*=x2; break;
    case 4: x1/=x2; break;
          }
     RichEdit1->Text = FloatToStr(x1); // равно
 
    double x1,x2,z;
 
    if(x2 == 0)
    {
        printf("На ноль делить нельзя");
        exit(0);
    }
    else
    {
        z = x1/x2;
        printf("%f" "\n", z);
    }
 
   // return 0;
 
 
 
 
 
 
 
    
 
     // x1=StrToFloat(RichEdit1->Text);
   //if (x2==0)
     // {
       // ShowMessage("Попытка деления на нуль");
        // return;
     // }
   //else
    //  {
      //   z = x1/x2;
        // RichEdit1->Text=FloatToStr(x1);
        // x1=0;
     // }
  /// x1=0;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2011, 16:41
Ответы с готовыми решениями:

Перехват исключений деления на ноль
builder 6 во время компиляции пишет что возникло исключение., компилится с ошибкой дел.на ноль как правильно перехватывать? ...

Запрет деления на ноль суммы чисел
День добрый, подскажите. Есть формула (a/b)/(c+e) как сделать запрет, чтобы при условии что с+е=0, вылазило окно что деление на 0 не...

Исключения деления на ноль и ввод букв в поле Edit
Добрый вечер, я реализовал программу для расчета дискриминанта и вывода значений x1 и x2. Дополнительно нужно реализовать реакцию на...

13
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.01.2011, 18:28
так было ж
C++
1
if (x2==0) {ShowMessage("Попытка деления на нуль");}
0
 Аватар для S1deX
22 / 22 / 1
Регистрация: 04.01.2011
Сообщений: 67
21.01.2011, 18:59
Сначала делишь, а потом проверяешь?
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
22.01.2011, 10:28  [ТС]
Был Гиперболлический Арккотангенс
Получилось проще...
double z ;
if(RichEdit1->Text != 0)RichEdit1->Text = FloatToStr(ArcCotH(StrToFloat(RichEdit1->Text)));
else RichEdit1->Text = "Error!";
Возможно что-то подобное и с делением на ноль...
Дело в том, что вариант впринципе рабочий если исключить
// case 4: x1/=x2; break;
Но тогда не происходит обычное деление.
S1deX Сперва план был реализовать обычный счет... А сейчас требуется реализовать как пологается...
0
 Аватар для }{()$T
25 / 9 / 0
Регистрация: 22.01.2011
Сообщений: 27
22.01.2011, 10:55
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
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  x2=StrToFloat(RichEdit1->Text);
     switch (z)   {
    case 1:
       x1+=x2;
       break;
    case 2:
       x1-=x2;
       break;
    case 3:
       x1*=x2;
       break;
    case 4:
       try
          {
           x1/=x2;
          }
       catch(const EDivByZero&)
          {
           ShowMessage ("На ноль делить нельзя");
           return;
          }
       break;
          }
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
22.01.2011, 13:16  [ТС]
Не подходит
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
22.01.2011, 17:02
Цитата Сообщение от S1deX Посмотреть сообщение
Сначала делишь, а потом проверяешь?
Вполне уместный способ, если выполнять подобные операции в блоке try...catch.
Например:
C++
1
2
3
4
5
6
7
8
9
int a = 1, b = 0, c;
 
try {
  c = a/b;
} catch (EDivByZero &E) {
  ShowMessage("Невозможно выполнить операцию деления на нуль.\n)" + E.Message + ")");
} catch (...) {
  ShowMessage("Произошла ошибка в ходе выполнения операции.");
}
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
23.01.2011, 12:09  [ТС]
Все равно останавливается программа....
0
 Аватар для }{()$T
25 / 9 / 0
Регистрация: 22.01.2011
Сообщений: 27
23.01.2011, 12:15
Скомпилируй пример который привел я или MikeSoft и запускай НЕ с Builder, а просто exe-шником.
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
23.01.2011, 20:54  [ТС]
То есть как, бы отдельно? Я скачал один калькулятор, посмотрел код и там вообще не было каких либо сообщений об ошибке... Но калькулятор считает и когда делишь на ноль, программа не тормозит... Он автоматом выдает ее... Нажимаешь ок, и продолжается работа дальше.
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
23.01.2011, 23:45
Вонх, что значит "программа не тормозит"? Делит на ноль и выдаёт результат? Суровый челябинский калькулятор
Как работать с исключениями мы вам показали... что вам мешает обработать исключение и принять меры, которые вам необходимы? Например, обнулить все значения выполнив программный сброс (кнопка CE на большинстве калькуляторов)...
1
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
24.01.2011, 06:53  [ТС]
я думаю, что мы друг друга не понимаем... Проблему, я четко описал...Простите
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
24.01.2011, 15:38
На ваше чёткое описание были даны чёткие ответы.
Если они вас не устраивают:
1. Уточняем проблему, указываем ошибку, что вы пытались сделать и т.д.
2. Читаем соответствующую литературу о С++ и механизмах отлова и возбуждения исключений.
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
25.01.2011, 15:05  [ТС]
Я учту ваш совет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2011, 15:05
Помогаю со студенческими работами здесь

Изменить код для деления на ноль, чтоб появлялось уведомление
Нужно немного изменить код, чтобы когда делишь на ноль писало "Деление на ноль не возможно!" void __fastcall...

Попытка деления на ноль
public string stroki = { }; public char bykva, cyfra; public int i = 0; public char per; public...

Ошибка: попытка деления на ноль
Меня интересует, можно ли как-то избавиться от ошибки "попытка деления на ноль". Дело в том, что используются рекурентные формулы, и...

Сделать, чтобы при попытке деления на ноль, выводилось сообщение: «Деление на ноль»
Создайте консольное приложение. В нем реализуйте нахождение значения выражения 1/(x+n), где n – ваш вариант, а вместо х должно вводиться...

Как сделать ноль результатом деления на ноль?
Народ, подскажите пожалуйста как сделать, чтоб при делении на ноль результат был равен нулю, а не бесконечности? переменных, которые могут...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru