Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

программа c++ всегда выдаёт значение 0

Дмитрий Ученик (77), на голосовании 14 лет назад
Дополнен 14 лет назад
#include "stdafx.h"
#include <conio.h>

int _tmain()
{
int rast,time;
float speed;
printf("Vvedite rastoynie>\n");
scanf("%d", &rast);
printf("Vvedite vremy>\n");
scanf("%d", &time);
speed = rast / time;
printf("Skorost ravna: %4.0f\n", speed);
_getch();
Голосование за лучший ответ
Нил Тимофеев Мастер (1680) 14 лет назад
rast и time целочисленные. нужно объявить их как вещественные. например, 1/2=0.5, а результат будет ноль. или если при делении целочисленного на целочисленное получим 0.8 всё равно ноль. если получится 1.3, то результат - один
Vladimir Alexeevich Профи (706) 14 лет назад
а что же ей выдавать еще?
speed = rast / time - сначала происходит целочисленное деление,
потом ответ преобразуется в тип float и присваивается переменной speed.

учите матчасть.

почему было не объявить как float время и расст?
или если уж так все плохо - то надо явно приводить типы операндов операции деления.
Denis Мастер (1060) 14 лет назад
можно просто заменить тип float типом double
и все будет работать

int rast,time;
double speed;
Похожие вопросы