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

Не учитывает дробные числа - C++

Восстановить пароль Регистрация
 
 
p1ka4y777
 Аватар для p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
04.03.2014, 21:51     Не учитывает дробные числа #1
Помогите исправить программу, чтобы она учитывала ввод дробных чисел...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
#include <iostream>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    double a, b, c;
    double P, S;
    cout << "Введите три стороны треугольника: ";
    cin >> a >> b >> c;
    if ((a + b > c) && (a + c > b) && (b + c > a))
    {
        P = (a + b + c) / 2.0;
        S = sqrt(P *(P - a)*(P - b)*(P - c));
        cout << "Площадь треугольника: " << S << endl;
    }
    else
        cout << "Такой треугольник не существует..." << endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 21:51     Не учитывает дробные числа
Посмотрите здесь:

целые и дробные числа C++
C++ Дробные числа, С++
Как кодираются дробные числа в пакетах? C++
C++ дробные числа
Дробные числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2014, 08:50     Не учитывает дробные числа
Еще ссылки по теме:

C++ Дробные числа
C++ Дробные числа - плавающая и фиксированная точки
Дробные числа C++

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
05.03.2014, 08:50     Не учитывает дробные числа #21
Замечание по поводу знака, отделяющего целую и дробную часть.
Если использовать сишный ввод, то
C++
1
setlocale(LC_ALL, "Russian");
устанавливает не только русскую кодировку, но и остальные русские приблуды.
В том числе то, что целая часть отделяется от дробной запятой, а не точкой:
C++
1
2
3
4
5
6
7
8
9
10
#include <locale.h>
#include <stdio.h>
int main()
{
    setlocale(LC_ALL, "Russian");
    double a, b, c;
    puts("Введите три стороны треугольника: ");
    scanf("%lf%lf%lf",&a,&b,&c); // вводить надо используя запятую
    ...
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
05.03.2014, 08:50     Не учитывает дробные числа
Ответ Создать тему
Опции темы

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