Почему программа не вычисляет значение выражения, используя float? - C (СИ)
Формулировка задачи:
Вот текст программы. Используя Int все работает, но с float выводит только 0. Задание: вычислить величину дохода по вкладу.
#include <stdio.h>
#include <locale>
#include <math.h>
void main ()
{
setlocale (LC_ALL,"rus");
printf ("%s","Программа вычисления величины дохода по вкладу.\n");
int t, st, vk;
printf ("%s","vk=");
scanf ("%d", &vk);
printf ("%s","st=");
scanf ("%d", &st);
printf ("%s","t=");
scanf ("%d", &t);
int D;
D=vk*st*t/100/365;
printf ("%s%d\n", "Велечина дохода по вкладу= ",D);
}Решение задачи: «Почему программа не вычисляет значение выражения, используя float?»
textual
Листинг программы
double t, st, vk,D;
printf("vk=");
scanf("%lf", &vk);
printf("st=");
scanf("%lf", &st);
printf("t=");
scanf("%lf", &t);
D=vk*st*t/100.0/365.0;
printf("Велечина дохода по вкладу= %lf\n",D);
Объяснение кода листинга программы
- В коде объявлены четыре переменные: t, st, vk, D типа double.
- Значение переменной vk вводится с клавиатуры с помощью функции scanf.
- Значение переменной st вводится с клавиатуры с помощью функции scanf.
- Значение переменной t вводится с клавиатуры с помощью функции scanf.
- Переменная D инициализируется как произведение переменных vk, st и t, деленное на 100 и 365 (предполагается, что это годовая процентная ставка и количество дней в году).
- Выводится значение переменной D с помощью функции printf.
- Выводится символ новой строки с помощью символа перевода строки '\n'.
- Значение переменной D вычисляется как произведение переменных vk, st и t, деленное на 100 и 365 (предполагается, что это годовая процентная ставка и количество дней в году).
- В данном коде нет ошибок.