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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
#1

Точные вычисления - C++

21.08.2010, 11:45. Просмотров 1472. Ответов 19
Метки нет (Все метки)

Всем привет !
Я новичок в С++. Столкнулся с такой проблемой - мои проги, не умеют точно считать. Они считают только целые числа.
Самый просто пример
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int A,B,C;
A= StrToInt(Edit1->Text);
B=2,54;
C=A*B;
Edit2->Text=(C);
}
Ввожу 3, например, прога выводит 6, а должна 7.62

P.S. програмирую в BCB6
P.P.S сам я не россиянин, по етому руский знаю плохо =(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2010, 11:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Точные вычисления (C++):

По описанию пути к кладу определить точные координаты клада - C++
Капитан Флинт зарыл клад на Острове сокровищ. Он оставил описание, как найти клад. Описание состоит из строк вида: "North 5", где слово –...

Найти среди данного набора чисел точные квадраты - C++
Написать программу, выясняющую, есть ли среди данных 10 чисел точные квадраты. Если такие есть, то после ввода числа должно появляться...

Выяснить, есть ли среди данных 10 чисел точные квадраты - C++
8. Написать программу, выясняющую, есть ли среди данных 10 чисел точные квадраты. Если такие есть, то после ввода числа должно появляться...

Определить, есть ли среди элементов матрицы точные квадраты - C++
Создание программы обработки двумерных масивов Дано квадратную матрицу определить есть ли среди ее элементов точные квадраты. Вывести...

Вывести все точные квадраты натуральных чисел, не превосходящие данного числа N - C++
Народ, помогите пожалуйста!. Вот задача: Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N. Вот что я...

По описанию пути к кладу определить точные координаты клада, считая, что начало координат находится в начале - C++
Уважаемые форумчане! Никак не могу понять, почему эта программа работает неправильно, в чем ошибка. Задача: Капитан Флинт зарыл...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NightmareZ
1340 / 563 / 37
Регистрация: 31.03.2009
Сообщений: 1,919
21.08.2010, 11:47 #2
Цитата Сообщение от seruy-t Посмотреть сообщение
Всем привет !
Я новичок в С++. Столкнулся с такой проблемой - мои проги, не умеют точно считать. Они считают только целые числа.
Самый просто пример
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int A,B,C;
A= StrToInt(Edit1->Text);
B=2,54;
C=A*B;
Edit2->Text=(C);
}
Ввожу 3, например, прога выводит 6, а должна 7.62
У тебя переменная C, в которой ты сохраняешь результат, - целочисленная. С какой радости там будет дробное значение? Да и произведение двух переменных типа int в результате даст int.
1
Alex_Sabaka
624 / 41 / 10
Регистрация: 28.07.2010
Сообщений: 895
Завершенные тесты: 3
21.08.2010, 11:47 #3
Вместо целого типа(int) используйте тип с плавающей точкой(float или double)
1
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,985
21.08.2010, 11:48 #4
C++
1
int A,B,C;
это целочисленный тип
попробуй вместо int float
1
radiohobbyt
192 / 190 / 5
Регистрация: 27.01.2009
Сообщений: 548
21.08.2010, 11:52 #5
C
1
#define int float
второй строчкой в проекте(после подключения всех заголовочных файлов)
1
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
21.08.2010, 12:17  [ТС] #6
спасибо всем !

Добавлено через 17 минут
Ребята, та же проблема, но в место int использую float
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.08.2010, 12:19 #7
seruy-t, обновленный код покажи.
0
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
21.08.2010, 12:22  [ТС] #8
C++
1
2
3
4
5
6
7
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float A,B,C;
A= StrToFloat(Edit1->Text);
B=2,54;
C=A*B;
Edit2->Text=(C);
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.08.2010, 12:23 #9
Цитата Сообщение от seruy-t Посмотреть сообщение
C++
1
B=2,54
Символом разделителем целой и дробной части является точка.
1
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
21.08.2010, 12:24 #10
Цитата Сообщение от seruy-t Посмотреть сообщение
->Text=(C)
а так вообще можно?
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,985
21.08.2010, 12:25 #11
2.54 надо ... еще бы StrToFloat на всякий
1
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
21.08.2010, 12:25  [ТС] #12
Огромное спасибо, все заработало
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,985
21.08.2010, 12:25 #13
Цитата Сообщение от alex_x_x Посмотреть сообщение
а так вообще можно?
можно, типы тут на автомате приводятся
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.08.2010, 12:26 #14
Цитата Сообщение от alex_x_x Посмотреть сообщение
а так вообще можно?
Фиг знает, но на всякий случай seruy-t замените
C++
1
Edit2->Text=(C);
на
C++
1
Edit2->Text=FloatToStr(C);
0
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
21.08.2010, 12:31  [ТС] #15
ок, щас изменю. А можно поинтерисоватся зачем ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2010, 12:31
Привет! Вот еще темы с ответами:

Напечатайте все точные квадраты натуральных чисел, не превосходящие данного числа n (например, при вводе 50 программа выводит 1 4 9 16 25 36 49). - C++
1. Напечатайте все точные квадраты натуральных чисел, не превосходящие данного числа n (например, при вводе 50 программа выводит 1 4 9 16...

Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k. - C++
Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k. И вновь заранее благодарю,...

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

Написать процедуру для вычисления коэффициентов и функцию для вычисления значения многочлена - C++
Задано многочлен {P}_{n}(x) степени n<=100, коэффициенты которого содержатся в действительном массиве A(n+1), и действительные числа...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.08.2010, 12:31
Ответ Создать тему
Опции темы

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