Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void enterChar(char*,char const*);
- int lengthChar(char*);
- void convertChar(char*, int const);
- int main(int argc, const char * argv[]) {
- char num[15] = "";
- enterChar(num, "Введите целое число, не превышающее миллиард: ");
- int const len = lengthChar(num);
- cout << len << endl;
- convertChar(num, len);
- return 0;
- }
- void enterChar(char* num,char const* str) {
- char const* msg = "Повторите ввод: ";
- cout << str << flush;
- cin >> num;
- for(int i=0;i<sizeof(num);i++) {
- if((num[12]!='\0'&&num[12]>'0')||num[13]!='\0') {
- cout << "Значение не должно превышать миллиард.\n" << msg << flush;
- i=0;
- cin.clear();
- cin >> num;
- }
- else if(isdigit(num[i])!=true&&num[i]!='\0') {
- cout << "Некорректный ввод, введенное значение не является целым числом.\n" << msg << flush;
- cin.clear();
- cin >> num;
- }
- }
- }
- int lengthChar(char* num) {
- int i;
- for(i=0;num[i]!='\0';i++) {}
- return i;
- }
- void convertChar(char* num, int const len) {
- // int digNum = atoi(num);
- int a=0,
- b=0,
- c=0;
- int word;
- char const* numbers[] = {"", "од", "дв", "три", "четыр", "пят", "шесть", "семь", "восемь", "девять"};
- char const* digits[] = {"", "дцать", "десять", "двести", "сорок", "девяносто", "ст", "сот", "тысяч", "миллион", "миллиард"};
- char const* ends[] = {"", "ин", "о", "а", "сот", "ов", "ач", "и", "е", "на", "ь"};
- char strnum[20][20];
- for(int i=0;i<len;i++) {
- if(len-i==12)
- *strnum[20-i] = numbers[1] + ends[1] + digits[10] + ends[0] + numbers[0] + digits[4] + numbers[3] + ends[0] + digits[2] + numbers[3] + ends[4];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement