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

Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
09.10.2013, 19:43     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #1
Для введенного с клавиатуры n, вывести
фразу вида: «Мне 41 год», «Мне 16 лет», «Мне 84 года»...... switch
Не могу понять что дальше, с остатком при делении не получается

C++
1
2
3
4
5
6
7
8
9
10
11
int nvoz(int n)
{
switch(n)
 
{
case 1: {cout << "Mne" << n << "god" << endl; break;}
case 2:case 3:case 4: { cout << "Mne" << n << "goda" <<endl; break; }
case 5:case 6:case 7:case 8:case 9:{cout << "Mne" << n << "let" <<endl; break;}
}
return n ;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2013, 19:43     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
Посмотрите здесь:

C++ Вывести на экран слово «год», «года» или «лет» в зависимости от введенного возраста
C++ Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет»)
C++ Для введенного с клавиатуры n вычислить значение выражения
C клавиатуры вводятся два вещественных числа. Вывести результат их произведения в виде равенства. Например, для введенных чисел 5 и 7 вывести 5*7=35 C++
C++ Написать программу, которая будет добавлять в текстовый файл введенную с клавиатуры информацию.З клавиатуры вводится имя компании, год основания
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
14.10.2013, 22:24     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #21
может напишешь полностью условие задачи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6156 / 2885 / 281
Регистрация: 04.12.2011
Сообщений: 7,680
Записей в блоге: 3
15.10.2013, 00:13     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #22
Troo, но это же нормально, что 11 - лет, а 1 или 21 - год.
Такая песня вначале каждой сотни. То есть 11, 111, 211... Сложно? Радуйтесь, что люди до 200 не доживают.
То есть похоже, Вам нужно определиться, что вы находитесь не во втором десятке, а например в первом (1, 2, 3...) или таки втором десятке (11, 12, 13...) сотни (сотен тоже две, - первая и вторая), а потом для каждой ветки можете хоть и switch'ом воспользоваться. Для разделения случая "второй десяток" и остальных тоже switch можно. То есть вложенные будут switch'и.
faustmangos
3 / 3 / 0
Регистрация: 02.10.2013
Сообщений: 34
15.10.2013, 00:38     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #23
я думаю он имеет ввиду остаток в том смысле, что если тебе например не 5 лет а 15, то если поделить 15 на 10 (23 на 20 и тд) то можно узнать что говорить в случае с 15 лет а не до бесконечности использовать switch

Troo, ты применяешь % для деления или что?
Попробуй
C++ (Qt)
1
2
3
int years=15, ratio=10;
 
std::cout<<years%ratio;
Добавлено через 1 минуту
только cout я применил чтобы вывело на консоль, а ты присвой это значение переменной
А дальше сам думай
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6156 / 2885 / 281
Регистрация: 04.12.2011
Сообщений: 7,680
Записей в блоге: 3
15.10.2013, 01:20     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #24
Цитата Сообщение от faustmangos Посмотреть сообщение
я думаю он имеет ввиду остаток в том смысле, что если тебе например не 5 лет а 15, то если поделить 15 на 10 (23 на 20 и тд) то можно узнать что говорить в случае с 15 лет а не до бесконечности использовать switch
До бесконечности может и ненужно, но это зависит от задания. Например что-то вроде "не исспользуя блоки if" или явно: "используя только оператор switch".
Что касается деления, то оно поможет разделить логические потоки по признаку, но в коде все равно придётся использовать логический блок который анализирует признак и раветвляет поток управления.
faustmangos
3 / 3 / 0
Регистрация: 02.10.2013
Сообщений: 34
15.10.2013, 01:38     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #25
IGPIGP, я сказал что можно не использовать лог. блок? я и имел ввиду
Цитата Сообщение от IGPIGP Посмотреть сообщение
разделить логические потоки по признаку
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
15.10.2013, 17:04  [ТС]     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #26
faustmangos,
должно быть 0<n<100 и только через оператор switch,
да я применяю остаток при делении именно на 10,
т.е.: остаток 1 из этого программа выводит : " Мне 1 год"," Мне 21 год"," Мне 31 год"...
остаток 2, 3, 4 - "Мне 22 года","Мне 33 года",
но ведь 11, 12, 13, 14 должно выводить: "Мне 11 лет","Мне 12 лет"....
и вот я не могу разобраться, как записать эти 4 значения отдельно от всех
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
15.10.2013, 17:59     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #27
Цитата Сообщение от Troo Посмотреть сообщение
faustmangos,
должно быть 0<n<100 и только через оператор switch,
да я применяю остаток при делении именно на 10,
т.е.: остаток 1 из этого программа выводит : " Мне 1 год"," Мне 21 год"," Мне 31 год"...
остаток 2, 3, 4 - "Мне 22 года","Мне 33 года",
но ведь 11, 12, 13, 14 должно выводить: "Мне 11 лет","Мне 12 лет"....
и вот я не могу разобраться, как записать эти 4 значения отдельно от всех
C++
1
2
3
4
if (10 < n && n < 15)
то мне n лет
else
считаем остаток и выбираем по switch
а препода послать нафиг со switch-ом
правда можно использовать и 2 switch оператора

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
switch (n)
{
    case 11:case 12:case 13:case 14:
       // то мне n лет
       break;
    default:
       //считаем остаток и выбираем по switch
       switch(остаток от деления)
       {
       ...
       }
       break;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 18:46     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
Еще ссылки по теме:

C++ По дате, введенной с клавиатуры вывести число, название месяца и год
Вывести минимальный элемент введенного с клавиатуры массива целых чисел (через указатель) C++
C++ Для натурального числа К вывести фразу "К лет"

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

Или воспользуйтесь поиском по форуму:
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
15.10.2013, 18:46  [ТС]     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #28
XRuZzz, да да неплохо бы
спасибо большое)
Yandex
Объявления
15.10.2013, 18:46     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
Ответ Создать тему
Опции темы

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