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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
arise
0 / 0 / 0
Регистрация: 15.10.2015
Сообщений: 11
#1

Как переделать код, чтобы программа принимала вещественные значения? - C++

27.10.2015, 19:08. Просмотров 158. Ответов 1
Метки нет (Все метки)

Как переделать код, чтобы программа принимала вещественные значения( просто при вводе 1.5 программа сходит с ума)
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
#include "math.h"
#include <iostream>
#include "stdlib.h"
#define _USE_MATH_DEFINES
#define M_PI 3.14159265358979323846
int main()
{
    float x1(0.0), x2(0.0), x3(0.0), y1(0.0), y2(0.0), y3(0.0), a1(0.0), b1(0.0), c1(0.0), a, b, c;
    float EPSILON = 0.01;
    setlocale(LC_ALL, "Russian");
    while (1) {
        printf("\nВведите координаты треугольника:\n");
        printf("\nВведите x1:");
        scanf_s("%f", &x1);
        printf("\nВведите y1:");
        scanf_s("%f", &y1);
        printf("\nВведите x2:");
        scanf_s("%f", &x2);
        printf("\nВведите y2:");
        scanf_s("%f", &y2);
        printf("\nВведите x3:");
        scanf_s("%f", &x3);
        printf("\nВведите y3:");
        scanf_s("%f", &y3);
        a = sqrt(pow((x3 - x2), 2) + pow((y3 - y2), 2));
        b = sqrt(pow((x2 - x1), 2) + pow((y2 - y1), 2));
        c = sqrt(pow((x3 - x1), 2) + pow((y3 - y1), 2));
        a1 = ((acos((pow(b, 2) + pow(c, 2) - pow(a, 2)) / (2 * b * c))) * (180 / M_PI));
        b1 = ((acos((pow(a, 2) + pow(c, 2) - pow(b, 2)) / (2 * a * c))) * (180 / M_PI));
        c1 = ((acos((pow(a, 2) + pow(b, 2) - pow(c, 2)) / (2 * a * b))) * (180 / M_PI));
        if ((((a == 0) && (c == 0)) || ((a == 0) && (b == 0)) || ((b == 0) && (c == 0))) || (((a1 == 180) || (b1 == 180) || (c1 == 180))) || ((a1 == 0) || (b1 == 0) || (c1 == 0))) //условие проверки на прямую и точку
        {
            printf("\nКоординаты заданы не верно!\n");
        }
        else {
            if ((abs(a - b) < EPSILON) && (abs(a - c) < EPSILON) && (abs(a - b) < EPSILON) && (abs(b - c) < EPSILON)) {
                printf("\nТреугольник:\nравносторонний\n");
                printf("\n Длины сторон:\n\n а=%f,\n б=%f,\n с=%f", a, b, c);
            }
            else {
                printf("\nТреугольник: неравносторонний\n");
            }
        }
    }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2015, 19:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как переделать код, чтобы программа принимала вещественные значения? (C++):

Переделать код так, чтобы значения можно было задавать с клавиатуры - C++
Здраствуйте, помогите пожалуйста переделать код так, что-бы значения можно было задавать с клавиатуры, а не прописывать их в самом коде ...

Как переделать код, чтобы изменить интерфейс до неузнаваемости? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt; #include...

Как исправить код, чтобы выводил значения в порядке убывания? - C++
Как исправить Case 3 чтобы выводил значения в порядке убывания? #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; ...

Переделать код так, чтобы использовались диапазоны значений с помощью указателей - C++
Мне уже стыдно сюда писать ей богу :wall: . Но есть задача переделать Код№1 так чтобы использовались диапазоны значений с помощью...

Переделать код программы так, чтобы решалась через указатели и функцию - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main() { char st; int i; printf(&quot;\nEnter the string&quot;); printf(&quot;-&gt;&quot;); ...

Готовая программа, нужно переделать ее чтобы она работала с УКАЗАТЕЛЯМИ - C++
Вычислить значение выражения тут Вычислить значение выражения (3a+4)/(a-в квадрате-5a-9) для а= 1,2,…100. Результат выполнения занести в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
228
4 / 4 / 0
Регистрация: 28.03.2015
Сообщений: 155
11.12.2015, 18:00 #2
arise, в программе вводится сначало Х потом У, если вам нужна координата 1.5 введите сначала 1 а потом 5
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2015, 18:00
Привет! Вот еще темы с ответами:

Код написан в Dev C. Не работает в Visual. Как нужно переделать код? - C++
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в Visual он выдаёт ошибку. ...

Как через "IF" сделать чтобы программа закрывалась после ввода неверного значения - C++
Как через &quot;If&quot; Зделать что бы когда ты вводишь не верное значение выполнялося else и консоль закрывалася а не переходило к следующему...

Дописать программу так, чтобы в массив вводились как целые числа так и вещественные - C++
помогите дописать программу так чтобы в массив вводились как целые числа так и вещественные #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; ...

Код чтобы программа работала на Windows и Mac OS - C++
Я пишу программы под Windows,но у моего друга Mac OS.Нужен код,чтобы программа работала и у друга)


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru