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

Вывод дня, месяца, года - C++

Восстановить пароль Регистрация
 
Proger_1
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 30
29.03.2010, 22:42     Вывод дня, месяца, года #1
Помогите пожалуйста решить данную задачу, каким способом её лучше реализовать ?
Условие: программа считывает дату в формате 07/21/55 и выводит в формате 21 July, 1955. Названия месяцев задать как перечисляемый тип.

Выслушаю любые мысли по решению и надеюсь на помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
29.03.2010, 23:09     Вывод дня, месяца, года #2
можно считывать функцией fscanf() и записывать в массив из трех элементов (месяц, день, год);
в enum будут содержаться имена месяцев по возрастанию, january = 1 и дальше всем остальным месяцам их номера присвоятся автоматически;
ну и с годом, если год меньше 100 и больше 0, то прибавляем 1900
r4zieL
 Аватар для r4zieL
15 / 15 / 1
Регистрация: 24.01.2010
Сообщений: 46
29.03.2010, 23:38     Вывод дня, месяца, года #3
На C++ будет примерно так:
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
#include <iostream>
#include <string>
 
int main() 
{
    enum month { January, February, March, April, May, June, July, August, September, October, November, December };
    std::string date;
    std::cin >> date;
    int mon = atoi(date.c_str());
    std::cout << date[3] << date[4] << " ";
    switch(mon-1)
    {
    case January:
        std::cout << "January";
        break;
    case February:
        std::cout << "February";
        break;
    case March:
        std::cout << "March";
        break;
    case April:
        std::cout << "April";
        break;
    case May:
        std::cout << "May";
        break;
    case June:
        std::cout << "June";
        break;
    case July:
        std::cout << "July";
        break;
    case August:
        std::cout << "August";
        break;
    case September:
        std::cout << "September";
        break;
    case October:
        std::cout << "October";
        break;
    case November:
        std::cout << "November";
        break;
    case December:
        std::cout << "December";
        break;
    }
    std::cout << ", 19" << date[6] << date[7] << std::endl;
    system("pause");
    return 0;
}
Proger_1
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 30
29.03.2010, 23:55  [ТС]     Вывод дня, месяца, года #4
большое спасибо, всё супер !!!
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
30.03.2010, 00:04     Вывод дня, месяца, года #5
r4zieL, будь добр, объясни смысл этого-
C++
1
2
int mon = atoi(date.c_str());
        std::cout << date[3] << date[4] << " ";
r4zieL
 Аватар для r4zieL
15 / 15 / 1
Регистрация: 24.01.2010
Сообщений: 46
30.03.2010, 00:12     Вывод дня, месяца, года #6
Нам нужно получить из строки число (например из 11.22.95 число 11). atoi переводит из си-строки в инт, а .c_str() стринга в си-строку.
Yandex
Объявления
30.03.2010, 00:12     Вывод дня, месяца, года
Ответ Создать тему
Опции темы

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