Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2010, 20:26   #1
Александе еть я
Пользователь
 
Регистрация: 18.10.2009
Сообщений: 29
По умолчанию c++

мне надо написать функцию convert (преобразовать), получающую один параметр date типа строки, содержащий значение календарной даты в форме мм/дд/гг (месяц/день/год). Например, 14 декабря 1990 года будет изображено как 12/14/90. Задача функции состоит в преобразовании полученного значения к форме ‘Месяц, день, год’. Так результатом преобразования даты из примера должно стать ‘Декабрь, 14, 1990’ (предполагается, что все даты относятся к XX веку ).

поскажите как это можно сделать...
Александе еть я вне форума Ответить с цитированием
Старый 16.04.2010, 12:47   #2
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Ну если я правильно понял, с месяцем можно сделать так.
char Month[] = { "Январь", "Февраль", "Март" ... };
Дальше пройтись по массиву и сравнивать с веденным значением месяца, если результат true, выводить требуемый месяц.
coNsept вне форума Ответить с цитированием
Старый 16.04.2010, 13:00   #3
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

вот я писал недавно пример: преобразование даты в 3 числа. Подумай как из этого решить твою задачу...
Код:
#include <iostream>
#include <windows.h>
using namespace std;

string toRus(string str);

int main(void)
{      
   string month;
   int _month = 0, day, year;
   string dataMonth[12] = {"января", "февраля", "марта", "апреля",
                                     "мая", "июня", "июля",  "августа",
			             "сентября", "октября", "ноября", "декабря"};
   cin >> day >> month >> year; // ввод даты
   for(int i=0; i<12; i++) {
       if(toRus(dataMonth[i]) == month){	     // нахождение месяца
               _month = i+1;  // +1 т.к в C++ индекс массива начинается с 0
	       break;
       }
   }
   if(_month == 0 || day > 31)
        cout << toRus("Ошибка ввода") << endl;
   else
        cout << day << "," << _month << "," << year;   
   return 0;
}

string toRus(string str)
{
   char msg[80];
   CharToOem(str.c_str(), msg);
   return msg;
}

Последний раз редактировалось NiCola999; 16.04.2010 в 13:03.
NiCola999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск