Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- char *hundreds(int n); // 100-900
- char *dozens(int n); // 20-90
- char *small_dozens(int n); // 10-19
- char *units(int n); // 0-9
- main()
- {
- int rub, cop;
- int r1, r2, r3, c1, c2;
- char ans[200];
- puts("enter money value:_ ");
- scanf("%d.%2d", &rub, &cop);
- r3 = rub % 10;
- r2 = (rub % 100) / 10;
- r1 = rub / 100;
- c2 = cop % 10;
- c1 = cop / 10;
- switch (r1 + '0') {
- case '0': break;
- default: strcat(ans,hundreds(r1));
- strcat(ans," ");
- break;
- }
- switch (r2 + '0') {
- case '0': break;
- case '1': strcat(ans,small_dozens(r3));
- strcat(ans," рублей");
- break;
- default: strcat(ans,dozens(r2));
- strcat(ans," ");
- break;
- }
- if (r2 != 1) {
- strcat(ans,units(r3));
- switch (r3 + '0') {
- case '0': break;
- case '1': strcat(ans," рубль");
- break;
- case '2': case '3': case '4':
- strcat(ans," рубля");
- break;
- default: strcat(ans," рублей");
- break;
- }
- }
- if ((r1 != 0) && (r2 == 0) && (r3 == 0))
- strcat(ans,"рублей");
- printf("%s ", ans);
- if (cop != 0) {
- (c1 == 0) ? printf("%s%d ", "0", c2) : printf("%d ", cop);
- switch (c1 + '0') {
- case '0': break;
- case '1': printf("%s\n", "копеек");
- break;
- }
- if (c1 != 1) {
- switch (c2 + '0') {
- case '0': break;
- case '1': printf("%s\n", "копейка");
- break;
- case '2': case '3': case '4':
- printf("%s\n", "копейки");
- break;
- default: printf("%s\n", "копеек");
- break;
- }
- }
- }
- return 0;
- }
- char *hundreds(int n)
- {
- static char *hund[] = {
- "", "Сто", "Двести", "Триста", "Четыреста", "Пятьсот", "Шестьсот",
- "Семьсот", "Восемьсот", "Девятьсот"
- };
- return hund[n];
- }
- char *dozens(int n)
- {
- static char *doz[] = {
- "", "", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят",
- "семьдесят", "восемьдесят", "девяносто"
- };
- return doz[n];
- }
- char *small_dozens(int n)
- {
- static char *small[] = {
- "десять", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать",
- "девятнадцать"
- };
- return small[n];
- }
- char *units(int n)
- {
- static char *unit[] = {
- "", "один", "два", "три", "четыре", "пять", "шесть", "семь",
- "восемь", "девять"
- };
- return unit[n];
- }
Advertisement
Add Comment
Please, Sign In to add comment