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

Проверка деления на нуль - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
litwisha
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 59
11.10.2012, 19:35     Проверка деления на нуль #1
Как проверить в этом коде условие?? Так чтоб было сообщения деления на нуль??



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<math.h>
float a,b,c,d,x; 
int main()
{   
    do
    {
        puts("Input variables a,b,c,d");
        scanf("%f%f%f%f",&a,&b,&c,&d);
        if((sin(c)*abs(b+d))==1)
        puts("Error! Division by zero. Please, input variables once again");t
    }
    while((sin(c)*abs(b+d))==1);
     x=(a*sin(b)+b*cos(a))/(1-sin(c)*abs(b+d));
     printf("(a*sin(b)+b*cos(a))/(1-sin(c)*|b+d|)=");
     printf("%f",x);
     getch();
     return 0;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.10.2012, 19:38     Проверка деления на нуль #2
litwisha, сохраняйте отдельно результат вычисления знаменателя и проверяйте его на равенство с нулём. В случае чего выводите сообщение и завершайте программу.
litwisha
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 59
11.10.2012, 19:51  [ТС]     Проверка деления на нуль #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
litwisha, сохраняйте отдельно результат вычисления знаменателя и проверяйте его на равенство с нулём. В случае чего выводите сообщение и завершайте программу.
Ну мне нужен анализ результатов, и я не могу подобрать числа, чтоб получилось деление на нуль
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 09:59     Проверка деления на нуль #4
Цитата Сообщение от litwisha Посмотреть сообщение
C++
1
printf("(a*sin(b)+b*cos(a))/(1-sin(c)*|b+d|)=");
1-sin(c)*|b+d|=0
соответственно sin(c)*|b+d|=1
самое простое sin(c)=1 и |b+d|=1 //sin(c)=1 когда с=0 ну а уж с |b+d|=1 много разных примеров можно предложить
или sin(c)=0.5 и |b+d|=2 //sin(c)=0.5 когда с=3*sqr(2)/2 соответственно не очень нам подходит

дерзайте =)
Yandex
Объявления
12.10.2012, 09:59     Проверка деления на нуль
Ответ Создать тему
Опции темы

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