Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Время и дата прописью


Автор: Redstuff 4.6.2006, 18:09
Вводится время и дата как строка в формате ЧЧ:ММ-ДД.ММ. Реализовать функцию, которая печатает время и дату прописью, например: 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();
}

 

Автор: B3cK 4.6.2006, 18:51
В чем собственно вопрос, проблема ? 

Автор: Redstuff 4.6.2006, 19:18
В этом месте:
Код

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


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)