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

Ввести число и номер месяца. Напечатать дату прописью - C++

Восстановить пароль Регистрация
 
MegaRoks
 Аватар для MegaRoks
1 / 1 / 0
Регистрация: 25.12.2014
Сообщений: 133
30.09.2015, 19:15     Ввести число и номер месяца. Напечатать дату прописью #1
Ввести число и номер месяца. Напечатать дату прописью. Как можно это реализовать?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2015, 19:15     Ввести число и номер месяца. Напечатать дату прописью
Посмотрите здесь:

Ввести номер месяца. Вывести количество дней в нем C++
Чтобы программа работала через КЛАСС. Дата некоторого дня характеризуется натуральными числами: m(порядковый номер месяца) и n(число) C++
Даны два целых числа: D (день месяца) и M (номер месяца в году). Вывести знак зодиака, соответствующий этой дате. C++
C++ 10.23. Дата некоторого дня характеризуется гремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определи
Написать программу, которая предлагает пользователю ввести дату в формате YYYY MM DD и выводит в консоль, следующую за ней дату C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Goldutop
 Аватар для Goldutop
10 / 10 / 7
Регистрация: 04.09.2014
Сообщений: 62
Завершенные тесты: 1
30.09.2015, 19:29     Ввести число и номер месяца. Напечатать дату прописью #2
С помощью std::map, наверное.
MegaRoks
 Аватар для MegaRoks
1 / 1 / 0
Регистрация: 25.12.2014
Сообщений: 133
30.09.2015, 19:31  [ТС]     Ввести число и номер месяца. Напечатать дату прописью #3
А по подробнее?
Barrent
 Аватар для Barrent
211 / 87 / 27
Регистрация: 04.05.2013
Сообщений: 260
Завершенные тесты: 1
30.09.2015, 19:35     Ввести число и номер месяца. Напечатать дату прописью #4
Проще через перечисляемые типы.
MegaRoks
 Аватар для MegaRoks
1 / 1 / 0
Регистрация: 25.12.2014
Сообщений: 133
30.09.2015, 19:41  [ТС]     Ввести число и номер месяца. Напечатать дату прописью #5
Дайте код, а то я не понимаю
Goldutop
 Аватар для Goldutop
10 / 10 / 7
Регистрация: 04.09.2014
Сообщений: 62
Завершенные тесты: 1
30.09.2015, 19:42     Ввести число и номер месяца. Напечатать дату прописью #6
Хотя, тьфу, нет, делай через массив строк. Что-то вроде этого, только вместо букв названия месяцев и чисел:
C++
1
2
3
4
5
6
7
8
string array[5] = { "h","e","l","l","o" };
    int n;
 
    for (int i(0); i < 5; i++)
    {
        if (n == i + 1)
            cout << array[i] << endl;
    }
MegaRoks
 Аватар для MegaRoks
1 / 1 / 0
Регистрация: 25.12.2014
Сообщений: 133
30.09.2015, 20:17  [ТС]     Ввести число и номер месяца. Напечатать дату прописью #7
Не могу разобраться, я использую printf и scanf, какой именно надо код?
Mesteriis
 Аватар для Mesteriis
371 / 154 / 40
Регистрация: 08.08.2015
Сообщений: 1,059
Завершенные тесты: 1
01.10.2015, 00:21     Ввести число и номер месяца. Напечатать дату прописью #8
А скинте сюда вашу наработки, а то что то не могу понять зачем там printf и scanf!
MegaRoks
 Аватар для MegaRoks
1 / 1 / 0
Регистрация: 25.12.2014
Сообщений: 133
01.10.2015, 15:12  [ТС]     Ввести число и номер месяца. Напечатать дату прописью #9
C++ (Qt)
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
#include <locale.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int main()
{
    int m, d, t;
    setlocale(LC_ALL, "Russian_Russia.1251");
    printf("Введите день в году: "); scanf("%u", &t);
    printf("Введите месяц в году: "); scanf("%u", &m);
    if (t<1 || t>31) printf("Такого дня нету!!");
    if (t = 1) printf("Первое");
    if (t = 2) printf("Второе");
    if (t = 3) printf("Третье");
    if (t = 4) printf("Четвертое");
    if (t = 5) printf("Пятое");
    if (t = 6) printf("Шестое");
    if (t = 7) printf("Седьмое");
    if (t = 8) printf("Восьмое");
    if (t = 9) printf("Девятое");
    if (t = 10) printf("Десятое");
    if (t = 11) printf("Одиннадцатое");
    if (t = 12) printf("Двенадцатое");
    if (t = 13) printf("Тринадцатое");
    if (t = 14) printf("Четырнадцатое");
    if (t = 15) printf("Пятнадцатое");
    if (t = 16) printf("Шестнадцатое");
    if (t = 17) printf("Семнадцатое");
    if (t = 18) printf("Восемнадцатое");
    if (t = 19) printf("Девятнадцатое");
    if (t = 20) printf("Двадцатое");
    if (t = 21) printf("Двадцать первое");
    if (t = 22) printf("Двадцать второе");
    if (t = 23) printf("Двадцать третье");
    if (t = 24) printf("Двадцать четвертое");
    if (t = 25) printf("Двадцать пятое");
    if (t = 26) printf("Двадцать шестое");
    if (t = 27) printf("Двадцать седьмое");
    if (t = 28) printf("Двадцать восьмое");
    if (t = 29) printf("Двадцать девятое");
    if (t = 30) printf("Тридцатое");
    if (t = 31) printf("Тридцать первое");
 
    if (t<1 || t>12) printf("Такого месяца нету!!");
    if (t = 1) printf("январь");
    if (t = 2) printf("февраль");
    if (t = 3) printf("март");
    if (t = 4) printf("апрель");
    if (t = 5) printf("май");
    if (t = 6) printf("июнь");
    if (t = 7) printf("июль");
    if (t = 8) printf("август");
    if (t = 9) printf("сентябрь");
    if (t = 10) printf("октябрь");
    if (t = 11) printf("ноябрь");
    if (t = 12) printf("декабрь");
}
Добавлено через 33 секунды
Но желательно через case но у меня не получается
AmRamzes
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 77
01.10.2015, 15:19     Ввести число и номер месяца. Напечатать дату прописью #10
Вот задача с похожим кодом

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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
    
    int n = 0;
    int n1000;
    int n100;
    int n10, n10_2, n10_3;
    int n1;
    char y = 'y';
    
    do
    {
    do
    {  
    system ("cls");
    cout << "Введите целое число от 1 до 9999: ";
    cin >> n;
    if (n < 1 || n > 9999)
       {
            cout << "Введенное значение не в заданном диапазоне !!! Повторите !!!" << endl << endl;
            system ("pause");
       }
    } while (n < 1 || n > 9999);
       
    cout << endl << " / ";
    
    n1000 = n / 1000;
    
    if (n > 999)
       {
              if (n1000 == 1)
              cout << "одна тысяча";
              if (n1000 == 2)
              cout << "две тысячи";
              if (n1000 == 3)
              cout << "три тысячи";
              if (n1000 == 4)
              cout << "четыре тысячи";
              if (n1000 == 5)
              cout << "пять тысяч";
              if (n1000 == 6)
              cout << "шесть тысяч";
              if (n1000 == 7)
              cout << "семь тысяч";
              if (n1000 == 8)
              cout << "восемь тысяч";
              if (n1000 == 9)
              cout << "девять тысяч";
       }
    
    n100 = n / 100 % 10;
    
    if (n > 99)
       {
              if (n100 == 1)
              cout << " сто";
              if (n100 == 2)
              cout << " двести";
              if (n100 == 3)
              cout << " триста";
              if (n100 == 4)
              cout << " четыреста";
              if (n100 == 5)
              cout << " пятьсот";
              if (n100 == 6)
              cout << " шетьсот";
              if (n100 == 7)
              cout << " семьсот";
              if (n100 == 8)
              cout << " восемьсот";
              if (n100 == 9)
              cout << " девятьсот";
       }
    
    n10 = n / 10;
    n10_3 = n % 100;
        
    if (n10_3 >= 10 && n10_3 < 20)
              {
              if (n10_3 == 10)
              cout << " десять рублей";
              if (n10_3 == 11)
              cout << " одинадцать рублей";
              if (n10_3 == 12)
              cout << " двенадцать рублей";
              if (n10_3 == 13)
              cout << " тринадцать рублей";
              if (n10_3 == 14)
              cout << " четырнадцать рублей";
              if (n10_3 == 15)
              cout << " пятнадцать рублей";
              if (n10_3 == 16)
              cout << " шестнадцать рублей";
              if (n10_3 == 17)
              cout << " семнадцать рублей";
              if (n10_3 == 18)
              cout << " восемнадцать рублей";
              if (n10_3 == 19)
              cout << " девятнадцать рублей";                         
              }
    
    n10_2 = n10 % 10;
    n1 = n % 10;
    
    if (n10_3 >= 20)
       {
              if (n10_2 == 2)
              cout << " двадцать";
              if (n10_2 == 3)
              cout << " тридцать";
              if (n10_2 == 4)
              cout << " сорок";
              if (n10_2 == 5)
              cout << " пятьдесят";
              if (n10_2 == 6)
              cout << " шетьдесят";
              if (n10_2 == 7)
              cout << " семьдесят";
              if (n10_2 == 8)
              cout << " восемьдесят";
              if (n10_2 == 9)
              cout << " девяносто";
       }
    
    if (n1 == 0)
          cout << " рублей";
               
    if (n10_3 >= 1 && n10_3 < 10)
      {
              if (n1 == 1)
              cout << " один рубль";
              if (n1 == 2)
              cout << " два рубля";
              if (n1 == 3)
              cout << " три рубля";
              if (n1 == 4)
              cout << " четыре рубля";
              if (n1 == 5)
              cout << " пять рублей";
              if (n1 == 6)
              cout << " шесть рублей";
              if (n1 == 7)
              cout << " семь рублей";
              if (n1 == 8)
              cout << " восемь рублей";
              if (n1 == 9)
              cout << " девять рублей";
       } 
       
         if (n10_3 >= 20 && n1 != 0)
      {
              if (n1 == 1)
              cout << " один рубль";
              if (n1 == 2)
              cout << " два рубля";
              if (n1 == 3)
              cout << " три рубля";
              if (n1 == 4)
              cout << " четыре рубля";
              if (n1 == 5)
              cout << " пять рублей";
              if (n1 == 6)
              cout << " шесть рублей";
              if (n1 == 7)
              cout << " семь рублей";
              if (n1 == 8)
              cout << " восемь рублей";
              if (n1 == 9)
              cout << " девять рублей";
       } 
    
    cout << " / " << endl << endl;   
    cout << "Повторим? (y/n) " ;
    cin >> y;
    cout << endl;
    } while (y == 'y');
    
    system ("cls");
    cout << " Ок. Пока !!!" << endl << endl;
    system("PAUSE");
    return 0;
}
По такому же принципу пиши ... и будет тебе счастье )))
Mesteriis
 Аватар для Mesteriis
371 / 154 / 40
Регистрация: 08.08.2015
Сообщений: 1,059
Завершенные тесты: 1
01.10.2015, 15:47     Ввести число и номер месяца. Напечатать дату прописью #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++ (Qt)
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
//#include <locale.h>
//#include <stdio.h>
//#include <math.h>
//#include <conio.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    int m, t;
    system ("clear");
    // d - переменную задекларировал а не используешь
    setlocale(LC_ALL, "Russian_Russia.1251");
    cout<< "Введите день в году: ", cin >> t;
    cout<< "Введите месяц в году: ", cin >> m;
    switch (t)
    {
    case 1: cout<<"Первое\n"; break;
    case 2: cout<<"Второе\n"; break;
    case 3: cout<<"Третье\n"; break;
    case 4: cout<<"Четвертое\n"; break;
    case 5: cout<<"Пятое\n"; break;
    case 6: cout<<"Шестое\n"; break;
    case 7: cout<<"Седьмое\n"; break;
    case 8: cout<<"Восьмое\n"; break;
    case 9: cout<<"Девятое\n"; break;
    case 10: cout<<"Десятое\n"; break;
    case 11: cout<<"Одинадцатое\n"; break;
    case 12: cout<<"Двенадцатое\n"; break;
    case 13: cout<<"Тринадцатое\n"; break;
    case 14: cout<<"Четырнадцатое\n"; break;
    case 15: cout<<"Пятнадцатое\n"; break;
    case 16: cout<<"Шестнадцатое\n"; break;
    case 17: cout<<"Семнадцатое\n"; break;
    case 18: cout<<"Восемнадцатое\n"; break;
    case 19: cout<<"Девятнадцатое\n"; break;
    case 20: cout<<"Двацатое\n"; break;
    case 21: cout<<"Двадцать первое\n"; break;
    case 22: cout<<"Двадцать второе\n"; break;
    case 23: cout<<"Двацать третье\n"; break;
    case 24: cout<<"Двацать четвертое\n"; break;
    case 25: cout<<"Двадцать пятое\n"; break;
    case 26: cout<<"Двадцать шестое\n"; break;
    case 27: cout<<"Двадцать седьмое\n"; break;
    case 28: cout<<"Двадцать восьмое\n"; break;
    case 29: cout<<"Двадцать девятое\n"; break;
    case 30: cout<<"Тридцатое\n"; break;
    case 31: cout<<"Тридцать первое\n"; break;
    default: cout<<"Такого дня нету!!\n"; break;
    }
 
    switch (m)
    {
    case 1: cout<<"январь\n"; break;
    case 2: cout<<"февраль\n"; break;
    case 3: cout<<"март\n"; break;
    case 4: cout<<"апрель\n"; break;
    case 5: cout<<"май\n"; break;
    case 6: cout<<"июнь\n"; break;
    case 7: cout<<"июль\n"; break;
    case 8: cout<<"август\n"; break;
    case 9: cout<<"сентябрь\n"; break;
    case 10: cout<<"октябрь\n"; break;
    case 11: cout<<"ноябрь\n"; break;
    case 12: cout<<"декабрь\n"; break;
    default: cout<<"Такого месяца нету!!\n"; break;
    }
    system ("pause");
}
Вот тебе вариант через case
Enno
265 / 168 / 38
Регистрация: 25.08.2014
Сообщений: 1,088
Записей в блоге: 1
01.10.2015, 15:52     Ввести число и номер месяца. Напечатать дату прописью #12
Зачем так убого? Сделайте массив строк и по индексу обращайтесь. Индекс - номер месяца/дня.
Mesteriis
 Аватар для Mesteriis
371 / 154 / 40
Регистрация: 08.08.2015
Сообщений: 1,059
Завершенные тесты: 1
01.10.2015, 16:04     Ввести число и номер месяца. Напечатать дату прописью #13
Как просил ))) через case, да и с телефона как то не очень было удобно писать!
Я так понимаю это задание после изучения циклов, и тут надо именно использовать то что знают, а так как реализовать switch не вышло у человека то и массив трогать не стоит!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2015, 11:53     Ввести число и номер месяца. Напечатать дату прописью
Еще ссылки по теме:

C++ Написать программу, которая предлагает пользователю ввести дату в формате YYYY MM DD и выводит в консоль, следующую за ней дату
C++ Напишите функцию, которая принимает номер месяца и возвращает название месяца согласно указанному номеру
Ввести одну дату и вывести дату следующего дня C++

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

Или воспользуйтесь поиском по форуму:
AmRamzes
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 77
02.10.2015, 11:53     Ввести число и номер месяца. Напечатать дату прописью #14
При условии, что введенные данные не выходят за нужный диапазон ...

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
#include <iostream>
#include <string>
 
using namespace std;
 
int main ()
{
setlocale(LC_CTYPE, "Russian");
    int date, month;
    string mon[12] = {"января", "февраля", "марта", "апреля", "мая",\
       "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"};
    string dat[31] = {"Первое ", "Второе ", "Третье ", "Четвертое ",\
        "Пятое ", "Шестое ", "Седьмое ", "Восьмое ", "Девятое ", "Десятое ", "Одинадцатое ",\
        "Двенадцатое ", "Тринадцатое ", "Четырнадцатое ", "Пятнадцатое ",\
        "Шестнадцатое ", "Семнадцатое ", "Восемнадцатое ", "Девятнадцатое ",\
        "Двадцатое ", "Двадцать первое ", "Двадцать второе ", "Двадцать третье ",\
        "Двадцать четвертое ", "Двадцать пятое ", "Двадцать шестое ",\
        "Двадцать седьмое ", "Двадцать восьмое ", "Двадцать девятое ",\
        "Тридцатое ", "Тридцать первое "};
    
    cout << "Введите дату ";
    cin >> date;
        cout << "Введите месяц ";
    cin >> month;
        
    cout << dat[date-1];
    cout << mon[month-1] << endl;
        
    system ("pause");
    return 0;
}
Yandex
Объявления
02.10.2015, 11:53     Ввести число и номер месяца. Напечатать дату прописью
Ответ Создать тему
Опции темы

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