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

Определить вид треугольника - C++

Восстановить пароль Регистрация
 
prog-hak
2 / 2 / 2
Регистрация: 08.01.2013
Сообщений: 62
27.10.2013, 21:51     Определить вид треугольника #1
1. Ввести углы а, в, с треугольника (а + в + с = 180 º) и определить вид треугольника (остроугольный, прямоугольный, тупоугольный, равнобедренный, ривньосторонний или Δ-к - не существует).
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
#include <iostream>
#include <math.h>
using namespace std;
void main()
{
    float a,b,c;
    cout<<("Enter a*, b* & c*")<<endl; cin>>a>>b>>c;
    if (a+b+c=180)
    {
    case a=90: cout<<"Triygolnik pryamoygolniu"<<endl;
         case b=90: cout<<"Triygolnik pryamoygolniu"<<endl;
              case c=90: cout<<"Triygolnik pryamoygolniu"<<endl;
              case a=b=c=60: cout<<"Triygolnik ravnostornniu"<<endl;
                   case a<90: cout<<"Triygolnik ostroygolniu"<<endl;
                       case b<90: cout<<"Triygolnik ostroygolniu"<<endl;
                           case c<90: cout<<"Triygolnik ostroygolniu"<<endl;
                           case a=b: cout<<"Triygolnik ravnobedrenniu"<<endl;
                               case c=b: cout<<"Triygolnik ravnobedrenniu"<<endl;
                                   case a=c: cout<<"Triygolnik ravnobedrenniu"<<endl;
    }
else
    {
        cout<<"Triygolnik ne sychestvyet"<<endl;
    }
    system("pause");
}
выдает ошибки:
e:\администратор\проекти с++\1\1\1.cpp(8): error C2106: =: левый операнд должен быть левосторонним значением
e:\администратор\проекти с++\1\1\1.cpp(10): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(11): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(12): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(13): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(14): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(15): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(16): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(17): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(18): error C2046: недопустимый вариант выбора
e:\администратор\проекти с++\1\1\1.cpp(19): error C2046: недопустимый вариант выбора
Как их исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,915
Записей в блоге: 2
Завершенные тесты: 1
27.10.2013, 22:06     Определить вид треугольника #2
Цитата Сообщение от prog-hak Посмотреть сообщение
Как их исправить?
почитать еще раз о том, как использовать switch
а так же о операторе присваивания и операторе сравнения!
IchimaruGin
60 / 60 / 23
Регистрация: 14.07.2013
Сообщений: 284
Завершенные тесты: 1
27.10.2013, 22:09     Определить вид треугольника #3
Цитата Сообщение от prog-hak Посмотреть сообщение
#include <math.h>
можна обойтись и без этой библиотеки)
prog-hak
2 / 2 / 2
Регистрация: 08.01.2013
Сообщений: 62
27.10.2013, 22:29  [ТС]     Определить вид треугольника #4
Переделал вот так:
Все равно, может что подскажешь дельное?
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;
void main()
{
    int a,b,c;
    cout<<("Enter a*, b* & c*")<<endl; cin>>a>>b>>c;
    if (a+b+c!=180)
    
        cout<<"Triygolnik ne sychestvyet"<<endl;
    
    else
    
        switch (a,b,c)
case a=90: cout<<"Triygolnik pryamoygolniu"<<endl;
         case b=90: cout<<"Triygolnik pryamoygolniu"<<endl;
              case c=90: cout<<"Triygolnik pryamoygolniu"<<endl;
              case a=b=c=60: cout<<"Triygolnik ravnostornniu"<<endl;
                   case a<90: cout<<"Triygolnik ostroygolniu"<<endl;
                       case b<90: cout<<"Triygolnik ostroygolniu"<<endl;
                           case c<90: cout<<"Triygolnik ostroygolniu"<<endl;
                           case a=b: cout<<"Triygolnik ravnobedrenniu"<<endl;
                               case c=b: cout<<"Triygolnik ravnobedrenniu"<<endl;
                                   case a=c: cout<<"Triygolnik ravnobedrenniu"<<endl;
    
    system("pause");
}
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
27.10.2013, 22:34     Определить вид треугольника #5
Прочитайте про switch. В качестве условия ставится какая-то переменная, а в case пишется значение (возможное значение) переменной, вы не имеете права писать логическое выражение тут. Допустим такой вариант:
C++
1
2
3
4
5
6
7
8
9
10
int a;
cin >> a;
switch(a) {
case 1: cout << 1;
break;
case 2: cout << 2;
break;
default: cout << "Not 1,2";
break;
}
И да, вы забываете оператор break, если вы его не поставите, то даже при закрытии компилятором "глаз" на то, что вы в case используете логические значения, то вам выведет все сообщения, если вы, к примеру, введете для a 90.
И еще момент, вы в switch можете использовать ТОЛЬКО ОДИН операнд (переменную), а то, что делаете вы неверно.
В вашем случае лучше юзать if
prog-hak
2 / 2 / 2
Регистрация: 08.01.2013
Сообщений: 62
27.10.2013, 22:35  [ТС]     Определить вид треугольника #6
Вот это другое дело, спасибо буду пробывать.
IrineK
Заблокирован
28.10.2013, 00:17     Определить вид треугольника #7
Видов треугольников три: остроугольный, прямоугольный, тупоугольный.

Равнобедренный и равносторонний - "особые случаи" в этих видах. Равнобедренный может быть и остроугольным, и прямоугольным, и тупоугольным. Равносторонний - только остроугольным.

Нужно менять логику решения.

Добавлено через 16 минут
К тому же, равносторонний - частный случай остроугольного равнобедренного.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 00:29     Определить вид треугольника
Еще ссылки по теме:

Вид треугольника C++
C++ По заданным длинам сторон определить вид треугольника, вычислить длины его высот, и вывести их по возрастанию

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
28.10.2013, 00:29     Определить вид треугольника #8
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
#include <iostream>
#include <clocale>
 
using std::cout;
using std::cin;
 
int main()
{   setlocale(LC_ALL, "");
    int a,b,c;
    cout<<"Введите значения углов через пробел\n";
    cin>>a>>b>>c;
 
    if(a+b+c == 180 && a>0 && b>0 && c>0)
    {   if(a<90 && b<90 && c<90)
        {   cout<<"\nТреугольник остроугольный";
            if(a==b && b==c && c==60)
                cout<<"\nТреугольник равносторонний";
        }
        else if(a == 90 || b == 90 || c == 90)
            cout<<"\nТреугольник прямоугольный";
        else
            cout<<"\nТреугольник тупоугольный";
    
        if(a==b || b==c || a==c)
            cout<<"\nТреугольник равнобедренный";
    }
    else
        cout<<"\nТреугольник не существует";
    
    cin.sync(); cin.get();
    return 0;
}
Миниатюры
Определить вид треугольника  
Yandex
Объявления
28.10.2013, 00:29     Определить вид треугольника
Ответ Создать тему
Опции темы

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