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

Тема в разделе "Общие вопросы по С и С++", создана пользователем yurk84, 18 фев 2012.

  1. yurk84

    yurk84 Гость

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

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

    Код (Text):
    #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;
    }
     
  2. qqwertty

    qqwertty Гость

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

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

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

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

    yurk84 Гость

    Огромное спасибо за помощь. Теперь всё работает! А программа у меня вполне спокойно запускается на компиляторе BC++ v3.1
     
Загрузка...

Поделиться этой страницей