Осуществить корректировку введенной денежной суммы в правильную форму - C (СИ)
Формулировка задачи:
Пользователь вводит с клавиатуры денежную сумму в гривнах и копейках (гривны и копейки вводятся в разные переменные). Сумма может быть введена как правильно (например 19грн. 90 коп), так и неправильно (например 22грн. 978 коп). Написать программу, которая, используя только линейный алгоритм, осуществит корректировку введенной денежной суммы в правильную форму.
Например, если пользователь ввел 11грн 150 коп, программа должна вывести на экран сумму 12грн. 50 коп.
Решение задачи: «Осуществить корректировку введенной денежной суммы в правильную форму»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main(void)
{
float grivn, copek, g, k;
int tmp;
scanf("%f", &grivn);
scanf("%i%", &tmp);
copek = (float)tmp / 100;
grivn += copek;
k = modff(grivn, &g);
k *= 100;
printf("Cумма:%4.fгрн. %2.fкоп.\n", g, k);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с числами с плавающей точкой и для работы с целочисленными значениями.
- Определяем основную функцию программы, в которой будет происходить корректировка введенной денежной суммы.
- Объявляем переменные: grivn - исходная денежная сумма, copek - корректировка в долях копейки, g - дробная часть откорректированной суммы, k - целая часть откорректированной суммы.
- С помощью функции scanf() считываем из консоли исходную денежную сумму.
- Считываем в переменную tmp целочисленное значение, представляющее количество копеек для корректировки.
- Переводим значение tmp в доли копейки, приведя его к типу float и разделив на 100.
- Добавляем полученную корректировку к исходной сумме.
- Получаем дробную и целую части откорректированной суммы, используя функцию modff().
- Умножаем полученную дробную часть на 100, чтобы получить значение в копейках.
- Выводим на экран откорректированную сумму и количество копеек для корректировки.
- Завершаем работу программы.