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

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

Войти
Регистрация
Восстановить пароль
 
 
p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
#1

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

04.03.2014, 21:51. Просмотров 1019. Ответов 20
Метки нет (Все метки)

Помогите исправить программу, чтобы она учитывала ввод дробных чисел...
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++
Задание: Напишите функцию main(), которая получает случайные дробные числа от пользова- теля, сохраняет их в массиве типа fraction,...

Дробные числа - C++
Дpoбныe числa oкpyглить дo 2 знaкoв пoслe зaпятoй как это можно сделать. к примеру число 23.333 его нужно округлить до 2 знаков или...

дробные числа - C++
Здраствуйте, народ! Есть глупый вопрос: как сделать проверку для ввода только дробных чисел? Заранее благодарен

Дробные числа - C++
Всем привет. Подскажите - почему то значения ver2 и ver3 считает, как целые числа. Почему? #include &lt;iostream&gt; using namespace...

Дробные числа, С++ - C++
Уважаемые знатоки, требуется ваша помощь. Передо мной стоит задача посчитать приблизительную сумму ряда, путем вычисления частичных сумм....

Дробные числа - C++
пишу в Builder C++ нужно дробное число отображать в едите получается примерно так: double x; x=0.55; String y; y=...

Оператор while и дробные числа? - C++
Учусь по специальности машиностроение. Работаю над программой для расчета асинхронного двигателя, но возникла проблема: я в циклах while...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FreeMan108
121 / 121 / 6
Регистрация: 04.03.2013
Сообщений: 370
04.03.2014, 22:06     Не учитывает дробные числа #2
Это имеется ввиду?

C++
1
cout << setprecision (5) <<  "Площадь треугольника: " << S << endl;
p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
04.03.2014, 22:13  [ТС]     Не учитывает дробные числа #3
Нет не сам результат...
Когда вводишь, например 3,1 4,2 5,3 - всё равно учитывает, что такого треугольника быть не может.
FreeMan108
121 / 121 / 6
Регистрация: 04.03.2013
Сообщений: 370
04.03.2014, 22:20     Не учитывает дробные числа #4
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
Нет не сам результат...
Когда вводишь, например 3,1 4,2 5,3 - всё равно учитывает, что такого треугольника быть не может.
Конечно выдает, что не существует. Да потому что надо писать 3.1, а не 3,1.
p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
04.03.2014, 22:24  [ТС]     Не учитывает дробные числа #5
Такая мелочь... Чувтсвую себя млекопитающим с рогами)
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
04.03.2014, 22:30     Не учитывает дробные числа #6
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
if ((a + b > c) && (a + c > b) && (b + c > a))
при каких числах сработает это условие?
p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
04.03.2014, 22:37  [ТС]     Не учитывает дробные числа #7
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
C++
1
double a, b, c;
если я правильно понял вопрос...
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
04.03.2014, 22:39     Не учитывает дробные числа #8
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
если я правильно понял вопрос...
не правильно
набери мне три числа чтобы сработал if
p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
04.03.2014, 22:41  [ТС]     Не учитывает дробные числа #9
например, стандарт - 3, 4 и 5
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
04.03.2014, 22:50     Не учитывает дробные числа #10
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
например, стандарт - 3, 4 и 5
хорошо
это я ступил
забыл свойства треугольников
сейчас с конкретными цифрами проверил условие, и понял был не прав

но например вот так
у тебя может не сработать

100000 0.00001 10000.000000000000005

округление, знаете ли
p1ka4y777
2 / 2 / 0
Регистрация: 04.10.2013
Сообщений: 155
04.03.2014, 23:06  [ТС]     Не учитывает дробные числа #11
Цитата Сообщение от ValeryS Посмотреть сообщение
100000 0.00001 10000.000000000000005
конечно не сработает, если сложить второе к третьему

я так понимаю Вы что-то хотите нового добавить по этой теме? не тяните, пожалуйста
Байт
Эксперт C
15835 / 10162 / 1522
Регистрация: 24.12.2010
Сообщений: 19,159
04.03.2014, 23:15     Не учитывает дробные числа #12
Цитата Сообщение от ValeryS Посмотреть сообщение
у тебя может не сработать
100000 0.00001 10000.000000000000005
Эт-т-то конечно, верно. Проблема вообще серьезнейшая. Но относится она к тяжелейшим проблемам машинной арифметики. Я бы даже сказал, к проблеме представления бесконечного в конечном виде. И однозначного ее решения, ИМХО, нет. Так стоит ли грузить этой проблемой ТС, человека, видимо, старательного, но только начинающего? Хотя, пусть конечно знает, что есть такая. А разбираться с ней будет чуть попозже. Когда азы улягутся в голове студента.

Добавлено через 1 минуту
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
я так понимаю Вы что-то хотите нового добавить по этой теме? не тяните, пожалуйста
Можешь считать, что дядя пошутил.
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
04.03.2014, 23:21     Не учитывает дробные числа #13
Цитата Сообщение от p1ka4y777 Посмотреть сообщение
конечно не сработает, если сложить второе к третьему
это почему еще
нормальный прямоугольный треугольник
0.00001+10000.000000000000005>10000
но благодаря округлению дробная часть может потеряться и условие не сработает

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
100000 0.00001 10000.000000000000005
все понял
косяк, лишний ноль
следует читать так
10000 0.00001 10000.000000000000005

Добавлено через 4 минуты
Цитата Сообщение от Байт Посмотреть сообщение
Так стоит ли грузить этой проблемой ТС, человека, видимо, старательного, но только начинающего?
я тоже считаю что
Цитата Сообщение от Байт Посмотреть сообщение
Хотя, пусть конечно знает, что есть такая
вот Evg хорошо описал
http://www.cyberforum.ru/blogs/18334/blog88.html
Байт
Эксперт C
15835 / 10162 / 1522
Регистрация: 24.12.2010
Сообщений: 19,159
04.03.2014, 23:30     Не учитывает дробные числа #14
Цитата Сообщение от ValeryS Посмотреть сообщение
вот Evg хорошо описал
Да, неплохо. Во всяком случае, проблема поставлена и очень внятно (даже для начинающих) объяснена. Но не решена, конечно (что ИМХО и невозможно)

Не по теме:

Вообще, я считаю Evg одним из самых блестящих умов на нашем форуме. И не жадный, все что знает - рассказывает

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2014, 23:41     Не учитывает дробные числа
Еще ссылки по теме:

Целые и дробные числа - C++
на языке С как делить и умножать целое число и дробное. например 2 * 3,5 . и 2/3,5. интересует именно запись в обьявлении...

Дробные числа в одномерном массиве - C++
Доброе время суток, подскажите как с оператором sran считаются дробные числа? За ранее благодарен Найти число с самой большой...

Как кодираются дробные числа в пакетах? - C++
Пытаюсь снифером ловить пакеты и доставать из них данные. В частности несколько приходящих чисел интересует. Целые числа легко находятся,...

Перевод системы счисления (дробные числа) - C++
Ребят помогите пожалуйста переправить программу, чтобы считала и дробные числа. Вот что написала: #include &lt;iostream&gt; #include...

Дробные числа - плавающая и фиксированная точки - C++
Считал, что float - с фиксированной точкой, а double - с плавающей. То, что у float была точность для меня было доказательством, ведь, если...


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

Или воспользуйтесь поиском по форуму:
ValeryS
04.03.2014, 23:41     Не учитывает дробные числа
  #15

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Но не решена, конечно (что ИМХО и невозможно)
так она и не решается на этом уровне
может если только свои типы вводить
например
класс
один член целые
другой дробные
третий степень
и все это в десятичке

а так это все равно что описать 1/3 в десятичных дробях
0.3333333 и сколько троек не пиши все равно одной трети не получишь

Yandex
Объявления
04.03.2014, 23:41     Не учитывает дробные числа
Ответ Создать тему
Опции темы

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