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

Задачка на вывод чисел на естественном языке - C++

Восстановить пароль Регистрация
 
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
15.07.2013, 22:07     Задачка на вывод чисел на естественном языке #1
Составить программу, которая читает натуральное число в десятичном представлении, а на выходе выдаёт это же число в десятичном представлении и на естественном языке. вот от 0-99 получилось вроде как, а вот с сотнями не получается. Делал через массивы. Если кому не сложно, исправьте что не так, ну или скажите как правильно сделать. Вот код.
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
#include<stdio.h>
#include<math.h>
#include<windows.h>
#include<iostream.h>
  
int main ()
{
    SetConsoleOutputCP(1251);
 
    char *mas1[] = 
        { "ноль", "один", "два", "три", "четыре", "пять",
        "шесть", "семь", "восемь", "девять","десять"};
    char *mas11[] = 
        {"десять","одиннадцать", "двенадцать", "тринадцать", "четырнадцать",
        "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать" };
    char *mas10[] = 
        {"двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят",
        "семьдесят", "восемьдесят", "девяносто"};
     char *mas100[] = 
        {"сто", "двесте", "триста", "пятьсот", "шестьсот",
        "семьсот", "восемьсот", "девятьсот"};
 
    int chislo, tmp, tmp2;
    cout<<"\nВведите число:\n"<<endl;
    cin>>chislo;
 
    if(chislo >= 0 && chislo < 10)
        cout<<mas1[chislo]<<endl;
    else if(chislo >= 10 && chislo < 20)
        cout<<mas11[chislo%10]<<endl;
    else if(chislo >= 20 && chislo < 100)
    {
        tmp = chislo%10;
        chislo /= 10;
        cout<<mas10[chislo - 2]<<' '<<mas1[tmp]<<endl;
    }
    else if(chislo >=100 && chislo <1000)
    {
        tmp2 = chislo%10;
        chislo /=100;
        cout<<mas100[chislo-2]<<' '<<mas10[chislo - 2]<<' '<<mas1[tmp2]<<endl;
    }
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2013, 22:07     Задачка на вывод чисел на естественном языке
Посмотрите здесь:

Задачка с одномерным массивом.Найти количество удвоенных нечётных чисел C++
Вывод числительных на русском языке. C++
C++ Вывод в файл на русском языке
Задачка на последовательность натуральных чисел C++
C++ Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел)
Задачка к курсовой (действия с массивом вещественных чисел) C++
Ввод и вывод строк на русском языке (кирилице) C++
Вывод значений на Русском языке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 10:22     Задачка на вывод чисел на естественном языке #2
Цитата Сообщение от chdunyi Посмотреть сообщение
исправьте что не так
Цитата Сообщение от chdunyi Посмотреть сообщение
"двесте"
Двести.
Yandex
Объявления
16.07.2013, 10:22     Задачка на вывод чисел на естественном языке
Ответ Создать тему
Опции темы

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