Не Удается Получить Результат Деления Двух Целых Чисел

  • Автор темы yurk84
  • Дата начала
Y

yurk84

Гость
#1
Здравствуйте, уважаемые участники Форума!

Сразу хочу сказать, что я новичок в программировании и только учусь. В следующей программе при вводе двух целых чисел у меня не получается получить результат деления одного на другое. Помогите, пожалуйста! Заранее спасибо. Код программы приведен ниже:

Код:
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream.h>

int main(void)
{
clrscr();
int delimoe, delitel;
float procent;

cin >> delimoe;
cout << "Delimoe = " << delimoe << "\n\n";

cin >> delitel;
cout << "Delitel = " << delitel << "\n\n";

procent = ((float)(delimoe / delitel) * 100);

if (procent > 0)
cout<<"> 0";
if (procent == 0)
cout<<"= 0";
if (procent < 0)
cout<<"< 0";

printf("\n\n");
printf("%2.2f", (float)procent);

getch();

return 0;
}
 
Q

qqwertty

Гость
#2
Исправьте соответствующую строку на:

procent = (((float)delimoe / delitel) * 100);

Дело в том что в С/С++, если вы делите int на int, то int в итоге и получится, в отличии от делфей тех же. Поэтому надо делитель или делимое к float/double преобразовывать, а вы преобразовывали уже результат, т.е. это ни на что не влияло.

И вообще во идее надо using namespace std; вбить после инклудов, что у вас за компилятор, если ваша прога компилируется успешно? о_О.
 
Y

yurk84

Гость
#3
Исправьте соответствующую строку на:

procent = (((float)delimoe / delitel) * 100);

Дело в том что в С/С++, если вы делите int на int, то int в итоге и получится, в отличии от делфей тех же. Поэтому надо делитель или делимое к float/double преобразовывать, а вы преобразовывали уже результат, т.е. это ни на что не влияло.

И вообще во идее надо using namespace std; вбить после инклудов, что у вас за компилятор, если ваша прога компилируется успешно? о_О.
Огромное спасибо за помощь. Теперь всё работает! А программа у меня вполне спокойно запускается на компиляторе BC++ v3.1