Напишите программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 999), обозначающего денежную единицу, дописывает слово "рубль" в правильной форме. Например, 12 рублей, 21 рубль и т.д.
/*
Программа дописывает правильную форму слова "рубль"
для введенного числа от 1 до 999.
*/
#include "locale.h"
#include <math.h>
#include <curses.h>
#include <stdio.h>
int main()
{
int dengi, ostatok, i;
char *slovo[15] = {"рубль", "рубля", "рублей"};
char *loc;
loc = setlocale(LC_CTYPE,"ru_RU.UTF-8");
initscr();
printw("Введите число от 1 до 999: ");
scanw("%i", &dengi);
if(dengi < 1 || dengi > 999)
{
printw("Число должно быть от 1 до 999.");
}
else
{
if(dengi >= 100)
ostatok = dengi % 100;
else ostatok = dengi;
if(ostatok >= 11 && ostatok <= 14)
i = 2;
else
{
ostatok = ostatok % 10;
if(ostatok >= 2 && ostatok <= 4)
i = 1;
else
{
if(ostatok == 1)
i = 0;
else
i = 2;
}
}
}
printw("Это будет %i %s", dengi, slovo[i]);
getch();
endwin();
return 0;
}
Комментариев нет:
Отправить комментарий