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

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

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

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

19.03.2014, 09:37. Просмотров 751. Ответов 9
Метки нет (Все метки)

Всем привет. Проблема собственно такая, не получается вывести дробную часть стороны треугольника, т.е 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
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,457
Записей в блоге: 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
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,457
Записей в блоге: 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
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,457
Записей в блоге: 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
6112 / 5715 / 1849
Регистрация: 18.12.2011
Сообщений: 14,597
Завершенные тесты: 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++
C++ Вывести старшую цифру дробной части и младшую цифру целой части числа
Определить равна ли сумма k цифр дробной части заданного вещественного числа сумме цифр целой части C++

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

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

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