Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Время и дата прописью, Работа с указателями 
V
    Опции темы
Redstuff
Дата 4.6.2006, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Вводится время и дата как строка в формате ЧЧ:ММ-ДД.ММ. Реализовать функцию, которая печатает время и дату прописью, например: 12:15-10.05 = двенадцать часов пятнадцать минут десятого мая.

Здесь не требуется особо сложных алгоритмов, просто надо работать со строкой.

Код

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include<windows.h>

// начало функции для русского языка
string ConvertCodepage(const char *text) {
  char *buffer = new char [strlen(text) +1];
  if (NULL == buffer)
  return "";
  AnsiToOem (text,buffer);
  string result(buffer);
  delete [] buffer;
  return result; }
// конец функции для русского языка

int main(int argc, char* argv[]) {
char *z09[]={"ноль","один","два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"};
char *z11[]={"одиннадцать", "двенадцать", "тринадцать", "четырнадцать","пятнадцать", "шестнадцать", "семнадцать", "восемьнадцать", "девятнадцать"};
char *z10[]={"десять", "двадцать", "тридцать", "сорок", "пятьдесят"};
char *s;
int n;
s=new char[11];
cin>>s;
if (*s=='0') {
s++;
n=(*s-'0');
cout<<ConvertCodepage(z09[n]);
}
else if (*s=='1') {
s++;
n=(*s-'0');
cout<<ConvertCodepage(z11[n]);
}
else if (*s=='2') {
s++;
n=(*s-'0');
cout<<ConvertCodepage(z10[n])<<" "<<ConvertCodepage(z09[n]);   // при 21=двадцать один, при 22=сорок два
}

getch();
}

 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
B3cK
Дата 4.6.2006, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 29.5.2005
Где: Минск

Репутация: 1
Всего: 1



В чем собственно вопрос, проблема ? 
PM MAIL ICQ   Вверх
Redstuff
Дата 4.6.2006, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



В этом месте:
Код

else if (*s=='2') {
s++;
n=(*s-'0');
cout<<ConvertCodepage(z10[n])<<" "<<ConvertCodepage(z09[n]);   // при 21=двадцать один, при 22=сорок два
}


Но на самом деле может и еще где-то что-то не так, но до этого места пока работает все нормально.
Может посоветуете как лучше все сделать, но надо обязательно использовать указатели и работать со строкой.
И результат должен быть такой: 20:17-04.06 = двадцать часов семнадцать минут четвертого июля 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.