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

Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" - C++

Восстановить пароль Регистрация
 
su6focus
0 / 0 / 0
Регистрация: 13.10.2016
Сообщений: 10
13.10.2016, 23:51     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" #1
дано натуральное число n. Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" или "года"

с кодом если можно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2016, 23:51     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год"
Посмотрите здесь:

C++ Вывести на экран слово «год», «года» или «лет» в зависимости от введенного возраста
C++ Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет»)
C++ Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
Вывести на экран дисплея сообщения о значениях функции при различных значениях аргумента C++
C++ Для натурального числа К вывести фразу "К лет"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hekaton Prime
9 / 9 / 2
Регистрация: 10.06.2014
Сообщений: 21
13.10.2016, 23:57     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" #2
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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n;
    cout << "Введите n: ";
    cin >> n;
    if (n <= 0) {
        cout << "Вы ввели недопустимое число!" << endl;
    }
    else {
        if (n == 1) {
            cout << "Мне " << n << " год" << endl;
        } else if (n < 5) {
            cout << "Мне " << n << " года" << endl;
        }
        else {
            cout << "Мне " << n << " лет" << endl;
        }
    }
 
    system("pause");
 
    return 0;
}
_SayHelli
73 / 73 / 23
Регистрация: 30.07.2015
Сообщений: 391
14.10.2016, 00:12     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" #3
Hekaton Prime, проверьте свою программу на число 21 скажем

Добавлено через 10 минут
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
#include <iostream>
#include <locale>
using namespace std;
 
int main()
{
    setlocale(0, "");
    cout << "Введите возраст : ";
    int n;
    cin >> n;
    if (n <= 0)
        cout << "error" << endl;
    else
    {
        if (n % 100 > 1 && n % 100 < 5)
            cout << "Мне " << n << " года" << endl;
        else if (n % 100 > 4 && n % 100 < 21)
            cout << "Мне " << n << " лет" << endl;
        else
            cout << "Мне " << n << " год" << endl;
    }
    system("pause");
 
    return 0;
}
Вот у меня так
Байт
 Аватар для Байт
13988 / 8819 / 1230
Регистрация: 24.12.2010
Сообщений: 15,975
14.10.2016, 01:36     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" #4
_SayHelli, Поторопился я вам спасибку поставить... А если n == 100 ? Или вы считаете, что люди так долго не живут?
Кстати, почему запрещен n==0 ? В нашу эпоху всеобщей аксельрации к компьютеру может подсесть и 11-месячный младенец
_SayHelli
73 / 73 / 23
Регистрация: 30.07.2015
Сообщений: 391
14.10.2016, 01:48     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" #5
Байт, работа над ошибками и пожеланиями)
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
 #include <iostream>
#include <locale>
 
    using namespace std;
 
    int main()
    {
        setlocale(0, "");
        cout << "Введите возраст : ";
        int n;
        cin >> n;
        if (n < 0)
            cout << "error" << endl;
        else
        {
            if (n % 100 > 1 && n % 100 < 5)
                cout << "Мне " << n << " года" << endl;
            else if ((n % 100 > 4 && n % 100 < 21) || n%100 ==0)
                cout << "Мне " << n << " лет" << endl;
            else
                cout << "Мне " << n << " год" << endl;
        }
        system("pause");
 
        return 0;
    }
Добавлено через 4 минуты
Байт,
Цитата Сообщение от Байт Посмотреть сообщение
нашу эпоху всеобщей аксельрации к компьютеру может подсесть и 11-месячный младенец
Если он поймет, что от него требуется и введет свой возраст (осознано), то в его поколении люди познают тайны вселенной(шутка. не познают )
Байт
 Аватар для Байт
13988 / 8819 / 1230
Регистрация: 24.12.2010
Сообщений: 15,975
14.10.2016, 01:52     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" #6
_SayHelli, Ну вот, это уже лучше. Спасиба за этот пост проставлена в предыдущем
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,053
14.10.2016, 02:10     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" #7
вариации на тему
C++
1
2
3
4
5
6
string age[]={"лет","год","года","года","года","лет","лет","лет","лет","лет"};
cin>>n;
if(n%100>10 && n%100<20)
 cout<<"Мне"<<n<<"лет"<<endl;
else
cout <<<<"Мне"<<n<<age[n%10];
Добавлено через 4 минуты

Не по теме:

вспомнился случай рассказанный С. Образцовым
на экзамене Нимерович_Данченко его спросил
-А сколько вам годов, молодой человек.
-Двадцать один лет.
был принят за остроумие

Байт
14.10.2016, 02:15
  #8

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
вспомнился случай
Вспомнил другой. Кафе. Москвич заказывает "Одно кофе и одна булочка". Рядом с ним явный кавказец - "Дэвушка, один кофе..." - официантка укоризненно глядит на москвича - "...и один булочка!"

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2016, 03:54     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год"
Еще ссылки по теме:

Определить, через сколько лет средняя продолжительность жизни превысит 60 лет C++
C++ Вывести на экран монитора число с наименованием "год","года", "лет"
Определить для числа наименование «год», «лет» или «года» C++

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

Или воспользуйтесь поиском по форуму:
Mr.X
14.10.2016, 03:54     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год"
  #9

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
-А сколько вам годов, молодой человек.
-Двадцать один лет.
был принят за остроумие
Да-да, все остальные шутки у него были в этом же духе! Видимо, Немирович-Данченко такой же "юморок" имел!

Yandex
Объявления
14.10.2016, 03:54     Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год"
Ответ Создать тему
Опции темы

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