0 / 0 / 0
Регистрация: 30.11.2019
Сообщений: 20
1

Вывести возраст человека по правилам русского языка

20.04.2020, 10:42. Показов 7135. Ответов 4
Метки c++ (Все метки)

Помогите, пожалуйста, неправильно выводит "год", "лет". Например: вместо 11 лет, выводит 11 год.
(Напишите программу, которая получает возраст человека (целое число, не превышающее 120) и выводит этот возраст со словом «год», «года» или «лет».)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
   int a = 0;
   cout<<"Vvedite vozrast";
   cin>>a;
   if ((a>0) && (a<=120))
   {
       if ((a%10==0) || (a%10>=5))
          cout<<"vam "<<a<<" let"<<endl;
       else if (a%10==1)
          cout<<"vam "<<a<<" god"<<endl;
       else
          cout<<"vam "<<a<<" goda"<<endl;
   }
   else 
       cout<<"ne verno"<<endl;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2020, 10:42
Ответы с готовыми решениями:

Произвольное слово разбить для переноса по правилам русского языка
Помогите пожалуйста. Произвольное слово разбить для переноса по правилам русского языка. Ничего...

Произвольное слово разбить для переноса по правилам русского языка
Помогите пожалуйста написать программу: Произвольное слово разбить для переноса по правилам...

Дано число к — возраст человека в годах. В соответствии с правилами русского языка напечатать на экране фразу: "Вам к лет"
Прошу меня заранее извинить за такую задачу, но у меня уже совсем мозги отказались работать ,раз уж...

Перенос слов по правилам русского языка
Здравствуйте уважаемые друзья. Нужна ваша помощь как никогда. Преподаватель задал такую задачку....

4
Диссидент
Эксперт C
26825 / 16734 / 3666
Регистрация: 24.12.2010
Сообщений: 37,456
20.04.2020, 12:00 2
Лучший ответ Сообщение было отмечено Vinder200 как решение

Решение

Vinder200, числа 11-14 надо анализировать отдельно.
1
360 / 304 / 62
Регистрация: 14.10.2014
Сообщений: 1,279
20.04.2020, 12:45 3
есть у меня в коллекции готовых решений примерчик один - вывод словесного описания числа из двух цифр:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*
для того чтобы определить словесное описание нам
потребутся знать старший разряд и младший разряд
именно они определяют словесное описание
*/
 
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    int n = 0;
 
    cin >> n;
 
    int f = n % 10; // от слова first вычисляется младший разряд
    int s = n / 10; // от second вычисляется старший разряд
 
    // нужно проверить не будет ли равен старший разряд 1
    // потому что вывод будет другим
    if (s == 1)
    {
        switch (f)
        {
        case 0:
            cout << "Десять" << endl;
            break;
        case 1:
            cout << "Одиннадцать" << endl;
            break;
        case 2:
            cout << "Двендадцать" << endl;
            break;
        case 3:
            cout << "Тринадцать" << endl;
            break;
        case 4:
            cout << "Четырнадцать" << endl;
            break;
        case 5:
            cout << "Пятнадцать" << endl;
            break;
        case 6:
            cout << "Шестнадцать" << endl;
            break;
        case 7:
            cout << "Семнадцать" << endl;
            break;
        case 8:
            cout << "Восемнадцать" << endl;
            break;
        case 9:
            cout << "Девятнадцать" << endl;
            break;      
        }
    }
    else
    {
        // запускаем свитч по старшему разряду
        switch (s)
        {
        case 2:
            cout << "Двадцать";
            break;
        case 3:
            cout << "Тридцать";
            break;
        case 4:
            cout << "Сорок";
            break;
        case 5:
            cout << "Пятьдесят";
            break;
        case 6:
            cout << "Шесдесят";
            break;
        case 7:
            cout << "Семдесят";
            break;
        case 8:
            cout << "Восемдесят";
            break;
        case 9:
            cout << "Девяносто";
            break;      
        }
 
        switch (f)
        {
        case 0:
            cout << endl;
            break;
        case 1:
            cout << " один" << endl;
            break;
        case 2:
            cout << " два" << endl;
            break;
        case 3:
            cout << " три" << endl;
            break;
        case 4:
            cout << " четыре" << endl;
            break;
        case 5:
            cout << " пять" << endl;
            break;
        case 6:
            cout << " шесть" << endl;
            break;
        case 7:
            cout << " семь" << endl;
            break;
        case 8:
            cout << " восем" << endl;
            break;
        case 9:
            cout << " девять" << endl;
            break;      
        }
    }
    return 0;
}
Вот примерно так нужно делать (вместо свича можно использовать иф - это уже кому как нравится)
1
Диссидент
Эксперт C
26825 / 16734 / 3666
Регистрация: 24.12.2010
Сообщений: 37,456
20.04.2020, 14:24 4
Recrut_rf, вот тебе для коллекции
Вывод числа в символьном виде
пост 7
1
360 / 304 / 62
Регистрация: 14.10.2014
Сообщений: 1,279
20.04.2020, 15:10 5

Не по теме:


Цитата Сообщение от Байт Посмотреть сообщение
тебе для коллекции



merci beaucoup
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2020, 15:10
Помогаю со студенческими работами здесь

Выделить из строки и записать по правилам русского языка количество минут и секунд
Пользователь вводит предложение, которое помимо слов содержит целые числа, принадлежащие диапазону...

Дано число n, определяющее возраст человека (в месяцах). Выразить возраст человека годах и в месяцах
Здравствуйте,помогите пожалуйста. Дано число n(1≤n≤1188), определяющее возраст человека (в...

Вывести возраст человека в зависимости от введенного возраста
1-я Каким прилагательным можно охарактеризовать возраст человека? Субъективное представление...

В новой форме вывести пол человека, возраст, и гороскоп
написать программу в vba ! дана форма в ней ввести имя фамилию отчество , дату рождения! и кнопку...

Оператор выбора: по введенному числу вывести возраст человека в годах
С++ Builder Тема:оператор выбора Цель Научится составлять программы разветвляющейся структуры ...

Оператор выбора: по введенному числу вывести возраст человека в годах
С++ Builder Тема:оператор выбора Цель Научится составлять программы разветвляющейся структуры ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru