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

Вывод дробной части - C++

Восстановить пароль Регистрация
 
Serge666
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 25
19.03.2014, 09:37     Вывод дробной части #1
Всем привет. Проблема собственно такая, не получается вывести дробную часть стороны треугольника, т.е 4,5(выводит только 4) уже не выводит, менял тип переменных, тип вычисления на float, высчитывает но почему-то длина стороны получается еще меньше чем в первом случае(при выводе целой части). Помогите, в чем проблема?
вот код:

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
47
48
49
50
51
52
#include <iostream.h>
#include <math.h>
#include <stdio.h>
int dlina_a(int,int,int,int,int); //прототип функции
int dlina_b(int,int,int,int,int); //прототип функции
int dlina_c(int,int,int,int,int); //прототип функции
main()
{system("chcp 1251>0");
int x1,x2,x3,y1,y2,y3;
double a,b,c;
 
 
cout<<"Введите координаты первой точки, первого треугольника:"<<endl;
cin>>x1>>y1;
cout<<"Введите координаты второй точки, первого треугольника:"<<endl;
cin>>x2>>y2;
cout<<"Введите координаты третьей точки, первого треугольника:"<<endl;
cin>>x3>>y3;
 
 
cout<<"Длина стороны а 1 го треугольника = "<<dlina_a(x1,x2,y1,y2,a)<<endl;
cout<<"Длина стороны b 1 го треугольника = "<<dlina_b(x3,x2,y3,y2,b)<<endl;
cout<<"Длина стороны c 1 го треугольника = "<<dlina_c(x1,x3,y1,y3,c)<<endl<<endl;
 
 
cout<<"Введите координаты первой точки, 2 го треугольника:"<<endl;
cin>>x1>>y1;
cout<<"Введите координаты второй точки, 2 го треугольника:"<<endl;
cin>>x2>>y2;
cout<<"Введите координаты третьей точки, 2 го треугольника:"<<endl;
cin>>x3>>y3;
 
cout<<"Длина стороны а 2 го треугольника = "<<dlina_a(x1,x2,y1,y2,a)<<endl;
cout<<"Длина стороны b 2 го треугольника = "<<dlina_b(x3,x2,y3,y2,b)<<endl;
cout<<"Длина стороны c 2 го треугольника = "<<dlina_c(x1,x3,y1,y3,c)<<endl<<endl;
 
 
 
system ("pause");
return 0;
}
 
//сами функции
int dlina_a(int x1,int x2, int y1, int y2, int a)
{a=sqrt(float((x1-x2)*(x1-x2))+float((y1-y2)*(y1-y2)));
}
int dlina_b(int x3, int x2, int y3, int y2, int b)
{b=sqrt(float((x3-x2)*(x3-x2))+float(y3-y2)*(y3-y2));
}
int dlina_c(int x1, int x3, int y1, int y3, int c)
{c=sqrt(float((x1-x3)*(x1-x3))+float(y1-y3)*(y1-y3));
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
19.03.2014, 09:39     Вывод дробной части #2
C++
1
2
3
int dlina_a(int,int,int,int,int); //прототип функции
int dlina_b(int,int,int,int,int); //прототип функции
int dlina_c(int,int,int,int,int); //прототип функции
Функции возвращают целочисленное значение
Serge666
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 25
19.03.2014, 09:47  [ТС]     Вывод дробной части #3
C++
1
2
3
int dlina_a(int,int,int,int,int); //прототип функции
int dlina_b(int,int,int,int,int); //прототип функции
int dlina_c(int,int,int,int,int); //прототип функции
при изменении их на тип float, и изменении типа в самой функции, ошибка.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
19.03.2014, 09:51     Вывод дробной части #4
Цитата Сообщение от Serge666 Посмотреть сообщение
и изменении типа в самой функции, ошибка.
где и какая?
Serge666
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 25
19.03.2014, 10:01  [ТС]     Вывод дробной части #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <math.h>
#include <stdio.h>
float dlina_a(int,int,int,int,int);
float dlina_b(int,int,int,int,int);
float dlina_c(int,int,int,int,int);
main()
{system("chcp 1251>0");
int x1,x2,x3,y1,y2,y3;
double a,b,c;
 
// ..................................................
 
float dlina_a(int x1,int x2, int y1, int y2, int a)
{a=sqrt(float((x1-x2)*(x1-x2))+float((y1-y2)*(y1-y2)));
}
float dlina_b(int x3, int x2, int y3, int y2, int b)
{b=sqrt(float((x3-x2)*(x3-x2))+float(y3-y2)*(y3-y2));
}
float dlina_c(int x1, int x3, int y1, int y3, int c)
{c=sqrt(float((x1-x3)*(x1-x3))+float(y1-y3)*(y1-y3));
}
Serge666
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 25
19.03.2014, 10:02  [ТС]     Вывод дробной части #6
Вывод дробной части
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
19.03.2014, 10:04     Вывод дробной части #7
еще раз
Цитата Сообщение от Serge666 Посмотреть сообщение
и изменении типа в самой функции, ошибка.
Цитата Сообщение от Croessmah Посмотреть сообщение
где и какая?
И выделяйте код тегами. Для этого выделяете необходимый код и нажимаете:
Serge666
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 25
19.03.2014, 10:07  [ТС]     Вывод дробной части #8
т.е тип прототипа функций и тип самих функций, заменить на void?
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
19.03.2014, 10:43     Вывод дробной части #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
float dlina(float,float,float,float);
main()
{
    system("chcp 1251>0");
    float x1=1.,x2=2.,x3=3.,y1=4.,y2=5.,y3=6.;
    float a,b,c;
    a=dlina(x1,x2,y1,y2);
    cout<<a;
    b=dlina(x1,x3,y1,y3);
    cout<<b;
    c=dlina(x2,x3,y2,y3);
    cout<<c;
  ....
// ..................................................
} 
float dlina(int x1,int x2, int y1, int y2)
{
    return sqrt(float((x1-x2)*(x1-x2))+float((y1-y2)*(y1-y2)));
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2014, 11:29     Вывод дробной части
Еще ссылки по теме:

C++ Округление дробной части
Формирование двоичного кода для целой и дробной части + вывод в файл C++
C++ Вывести старшую цифру дробной части и младшую цифру целой части числа

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

Или воспользуйтесь поиском по форуму:
Serge666
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 25
19.03.2014, 11:29  [ТС]     Вывод дробной части #10
Большое спасибо
Yandex
Объявления
19.03.2014, 11:29     Вывод дробной части
Ответ Создать тему
Опции темы

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