Форум программистов, компьютерный форум CyberForum.ru

Написать денежную сумму прописью - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
voevodin
 Аватар для voevodin
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 24
23.02.2012, 19:48     Написать денежную сумму прописью #1
Здравствуйте. Цель задачи - считать денежную сумму в рублях (неотрицательное десятичное число не превосходящее 999.99 и содержащее не более двух знаком после запятой. копейки склонять не надо - достаточно перенести цифры) и вывести на экран ее прописью.
т.е. например считал 123.45 и вывел сто двадцать четыре рубля 45 копеек
По этому поводу я составил некоторый код,но в процессе понял, что он идет по не правильному пути (если сотая часть числа больше 9). И я не смог разобраться с копейками т.е. чтобы их мне программа тоже выводила. К сожалению в си полный ноль,поэтому и обращаюсь к умным мб кто чем поможет)
код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main(void) 
{
        int chislo, sot, desiatki, edinisi, deskopeyki, edkopeyki; 
        puts("Please enter a number\n");
        scanf("%d",&chislo);
    
    
    sot=chislo/100;
    if(chislo > 9) {
    //then branch
    } else {
    //else branch
    
    switch (sot)
    {
        case 0: puts(""); break;
        case 1: puts("sto"); break;
        case 2: puts("dvesti"); break;
        case 3: puts("trista"); break;
        case 4: puts("chetirista"); break;
        case 5: puts("p'yatsot"); break;
        case 6: puts("shest'sot"); break;
        case 7: puts("sem'sot"); break;
        case 8: puts("vocem'sot"); break;
        case 9: puts("devyat'sot"); break;
    }
 
    desiatki=(chislo%100)/10;
    switch (desiatki)
    {     
        case 0: puts("_"); break;
        case 1: puts("desyat'"); break;
        case 2: puts("dvadsat'"); break;
        case 3: puts("tridsat'"); break;
        case 4: puts("sorok"); break;
        case 5: puts("pyat'desyat"); break;
        case 6: puts("shest'desyat"); break;
        case 7: puts("sem'desyat"); break;
        case 8: puts("vosem'desyat"); break;
        case 9: puts("devyanosto"); break;
        }
    }
    edinisi=(chislo%100)%10;
    switch (edinisi)
        {
        case 1: puts("odin rubl'"); break;
        case 2: puts("dva rublya"); break;
        case 3: puts("tri rublya"); break;
        case 4: puts("chetiri rublya"); break;
        case 5: puts("pyat' rubley"); break;
        case 6: puts("shest' rubley"); break;
        case 7: puts("sem' rubley"); break;
        case 8: puts("vosem' rubley"); break;
        case 9: puts("devyat' rubley"); break;
    }      
 
    
        
          getch();       
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 19:48     Написать денежную сумму прописью
Посмотрите здесь:

Найти сумму двух денежных сумм заданных прописью, ответ вывести прописью C++
Число прописью C++
Цифры прописью C++
C++ Написать программу, которая находит сумму четных и сумму нечетных элементов массива
Составить программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 99), обозначающего денежную единицу, дописывает слово копейка C++
C++ 5. Написать программу, которая предлагает пользователю ввести два дробных числа и выводит в консоль сумму их целых частей и сумму дробных.
C++ Как наименьшим количеством купюр можно выплатить денежную сумму x
C++ Вывести денежную сумму прописью

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.02.2012, 03:11     Написать денежную сумму прописью #2
Цитата Сообщение от voevodin Посмотреть сообщение
обращаюсь к умным мб кто чем поможет
Тогда вам сюда Вывести число прописью
А я всего лишь дописал ваш пример
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
 
#include <stdio.h>
#include <conio.h>
int main(void) 
{
        double chislo_f = 0;
        int chislo = 0;
        int sot, desiatki, edinisi, deskopeyki, edkopeyki; 
        do{
        puts("Please enter a value\n");
        scanf("%lf",&chislo_f
            );
        if(chislo_f > 999.99 ||chislo_f < 0) puts("Wrong value !!!\n"); }
        while(chislo_f > 999.99 ||chislo_f < 0);
    
    chislo = chislo_f * 100; 
 
    sot=chislo/10000;
    
    switch (sot)
    {   
        case 1: printf("sto "); break;
        case 2: printf("dvesti "); break;
        case 3: printf("trista "); break;
        case 4: printf("chetirista "); break;
        case 5: printf("p'yatsot "); break;
        case 6: printf("shest'sot "); break;
        case 7: printf("sem'sot "); break;
        case 8: printf("vocem'sot "); break;
        case 9: printf("devyat'sot "); break;
    }
 
    desiatki=(chislo%10000)/1000;
    switch (desiatki)
    {    
       
        case 2: printf("dvadsat' "); break;
        case 3: printf("tridsat' "); break;
        case 4: printf("sorok "); break;
        case 5: printf("pyat'desyat "); break;
        case 6: printf("shest'desyat "); break;
        case 7: printf("sem'desyat "); break;
        case 8: printf("vosem'desyat "); break;
        case 9: printf("devyanosto "); break;
        }
    
    edinisi=(chislo%1000)/100;
    if(desiatki== 1&&edinisi == 0)
        printf("desyat rubley "); 
    else if(desiatki== 1&&edinisi == 1)
       printf("odinnadzat' rubley ");
    else if(desiatki== 1&&edinisi == 2)
         printf("dvenadzat' rubley ");
    else if(desiatki== 1&&edinisi == 3)
         printf("trinadzat' rubley ");
    else if(desiatki== 1&&edinisi == 4)
         printf("chetirnadzat' rubley ");
    else if(desiatki== 1&&edinisi == 5)
         printf("pyatnadzat' rubley "); 
    else if(desiatki== 1&&edinisi == 6)
         printf("shestnadzat' rubley ");
    else if(desiatki== 1&&edinisi == 7)
         printf("semnadzat' rubley ");
    else if(desiatki== 1&&edinisi == 8)
         puts("vosemnadzat' rubley ");
    else if(desiatki== 1&&edinisi == 9)
         printf("devyatnadzat' rubley "); 
    else if(desiatki== 0&&edinisi == 0)
         printf("nol' rubley "); 
       
else
    switch (edinisi)
        {
        case 0: printf("rubley "); break;
        case 1: printf("odin rubl' "); break;
        case 2: printf("dva rublya "); break;
        case 3: printf("tri rublya "); break;
        case 4: printf("chetiri rublya "); break;
        case 5: printf("pyat' rubley "); break;
        case 6: printf("shest' rubley "); break;
        case 7: printf("sem' rubley "); break;
        case 8: printf("vosem' rubley "); break;
        case 9: printf("devyat' rubley "); break;
    }  
    /////////////////////////////////////////////////
     deskopeyki =(chislo%100)/10;
    switch (deskopeyki)
    {    
       // 
        case 2: printf("dvadsat' "); break;
        case 3: printf("tridsat' "); break;
        case 4: printf("sorok "); break;
        case 5: printf("pyat'desyat "); break;
        case 6: printf("shest'desyat "); break;
        case 7: printf("sem'desyat "); break;
        case 8: printf("vosem'desyat "); break;
        case 9: printf("devyanosto "); break;
        }
    
    edkopeyki =(chislo%10);
    if(deskopeyki == 1&& edkopeyki == 0)
        printf("desyat kopeek "); 
    else if(deskopeyki == 1&& edkopeyki == 1)
       printf("odinnadzat' kopeek ");
    else if(deskopeyki == 1&& edkopeyki == 2)
         printf("dvenadzat' kopeek ");
    else if(deskopeyki == 1&& edkopeyki == 3)
         printf("trinadzat' kopeek ");
    else if(deskopeyki == 1&& edkopeyki == 4)
         printf("chetirnadzat' kopeek ");
    else if(deskopeyki == 1&& edkopeyki == 5)
         printf("pyatnadzat' kopeek "); 
    else if(deskopeyki == 1&& edkopeyki == 6)
         printf("shestnadzat' kopeek ");
    else if(deskopeyki == 1&& edkopeyki == 7)
         printf("semnadzat' kopeek ");
    else if(deskopeyki == 1&& edkopeyki == 8)
         puts("vosemnadzat' kopeek ");
    else if(deskopeyki == 1&& edkopeyki == 9)
         printf("devyatnadzat' kopeek "); 
    else if(deskopeyki == 0&& edkopeyki == 0)
         printf("nol' kopeek "); 
       
else
    switch (edkopeyki)
        {
        case 0: printf(" kopeek "); break;
        case 1: printf("odna kopeyka "); break;
        case 2: printf("dve kopeyki "); break;
        case 3: printf("tri  kopeyki"); break;
        case 4: printf("chetiri kopeyki "); break;
        case 5: printf("pyat' kopeek "); break;
        case 6: printf("shest' kopeek "); break;
        case 7: printf("sem' kopeek "); break;
        case 8: printf("vosem' kopeek "); break;
        case 9: printf("devyat' kopeek "); break;
    }     
    
        
          getch();       
}
Yandex
Объявления
24.02.2012, 03:11     Написать денежную сумму прописью
Ответ Создать тему
Опции темы

Текущее время: 11:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru