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

Проверка треугольника через исключения - C++

Восстановить пароль Регистрация
 
stal_in
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 52
29.09.2013, 22:59     Проверка треугольника через исключения #1
Есть код который проверяет возможность создания треугольника из 3х чисел(сторон), но он работает с помощью условий. Как это все реализовать с помощью try throw & catch ?

С исключениями вообще работать не умею, гугл не помог, помогите пожалуйста.


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
#include <iostream>
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    float a,b,c;
 
    printf("Ââîäè ñòîðîГ*Г» ГІГЁГЇГ*: ");
    scanf("%f %f %f",&a,&b,&c);
 
    if(a >= b + c || b >= a + c || c >= b + a) // Г*ГҐГ°Г*ГўГҐГ*Г±ГІГўГ® òðåóãîëüГ*ГЁГЄГ*
    {   
        // ГЅГІГ® âîîáùå Г*ГҐ òðåóãîëüГ*ГЁГЄ
        printf("Г‚Г*Г№ГҐ Г*ГҐ òðåóãîëüГ*ГЁГЄ\n");
         
    } else if(a*a == b*b+c*c || b*b == a*a+c*c || c*c == b*b+a*a)
    {
        //ïðÿìîóãîëüГ*ûé
        printf("ÏðÿìîóãîëüГ*ГЁГЄ ГІГЁГЇГ*\n");
         
    } else if(a*a > b*b+c*c || b*b > a*a+c*c || c*c > b*b+a*a)
    {
        //òóïîóãîëüГ*ûé
        printf("ГЂ ýòîò Гі Г*Г*Г± òóïîé\n");
         
    } else
    {
        //îñòðîóãîëüГ*ûé
        printf("ГЂ âîò ГЁ îñòðÿê\n");
        
    }
 
    system("PAUSE");
    return 0;
    
}
 Комментарий модератора 
Перенесено из раздела "С для начинающих"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 22:59     Проверка треугольника через исключения
Посмотрите здесь:

Проверка условия существования треугольника C++
Нахождение площади через координаты треугольника C++
проверка треугольника C++
C++ Проверка входных данных: вызов и обработка исключения
Исключения. Проверка на правильность введения целого числа C++
C++ Проверка треугольника через исключения
C++ Исключения и проверка ввода
Задать функцию которая возвращает частное деление двух чисел (обработка ошибок - через исключения) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13974 / 8805 / 1227
Регистрация: 24.12.2010
Сообщений: 15,949
30.09.2013, 00:18     Проверка треугольника через исключения #2
Цитата Сообщение от stal_in Посмотреть сообщение
с помощью try throw & catch
Это вам в си++. В чистом Си такие звери не живут.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6171 / 2900 / 283
Регистрация: 04.12.2011
Сообщений: 7,710
Записей в блоге: 3
01.10.2013, 01:00     Проверка треугольника через исключения #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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
 
int main()
{
    int ok = 0;
 
    while (!ok){
        try{
    setlocale( LC_ALL,"Russian" );
    float a,b,c;
 
    printf("Вводи стороны типа: ");
    scanf("%f %f %f",&a,&b,&c);
     if(a < 0 && b < 0 && c < 0) throw 0;
 
    if(a < 0) throw 1;
 
    if(b < 0) throw 2;
 
    if(c < 0) throw 3;  
 
    if(a >= b + c || b >= a + c || c >= b + a) // неравенство треугольника
    {   
        // это вообще не треугольник
        throw 4;        
         
    } else if(a*a == b*b+c*c || b*b == a*a+c*c || c*c == b*b+a*a)
    {
        //прямоугольный
        printf("Прямоугольник типа\n");
         
    } else if(a*a > b*b+c*c || b*b > a*a+c*c || c*c > b*b+a*a)
    {
        //тупоугольный
        printf("А этот у нас тупой\n");
         
    } else
    {
        //остроугольный
        printf("А вот и остряк\n");
        
    }
    
ok = 1;
}
 
catch(int what){
        switch(what){
case 1 : printf("Эк его сплющило а?\n"); break;
case 2 : printf("Эк его заглючило. Непомешало b немного позитива.\n"); break;
case 3 : printf("Эк его... витамина С ему не хватает.\n"); break;
case 4 : printf("Ваще не треугольник\n"); break;
default: printf("Это туповато-островатый прямоутрельник...(имхо)\n");
        }
ok = 0;
}
 
if(!ok)  printf("\nДавай ещё разок!\n\n");      
else
 printf("\nНу можешь же!\n\n");
}
    system("PAUSE");
    return 0;
    
}
Yandex
Объявления
01.10.2013, 01:00     Проверка треугольника через исключения
Ответ Создать тему
Опции темы

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