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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
#1

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

09.10.2013, 19:43. Просмотров 1565. Ответов 27
Метки нет (Все метки)

Для введенного с клавиатуры 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++ Вывести на экран пустой прямоугольник из введенного с клавиатуры символа
C++ Вывести список простых чисел до введенного с клавиатуры значения
Вывести квадрат введенного с клавиатуры числа в диапазоне от 0 до 10 включительно C++
C++ По дате, введенной с клавиатуры вывести число, название месяца и год
Вывести минимальный элемент введенного с клавиатуры массива целых чисел (через указатель) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
14.10.2013, 22:24     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #21
может напишешь полностью условие задачи
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6442 / 3081 / 306
Регистрация: 04.12.2011
Сообщений: 8,482
Записей в блоге: 4
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
Комп_Оратор)
Эксперт по математике/физике
6442 / 3081 / 306
Регистрация: 04.12.2011
Сообщений: 8,482
Записей в блоге: 4
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
Антикодер
657 / 558 / 27
Регистрация: 15.09.2012
Сообщений: 2,509
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++ Для введенного с клавиатуры n вычислить значение выражения
Для введенного с клавиатуры значения вычислить заданное выражение C++
C++ Для натурального числа К вывести фразу "К лет"
C клавиатуры вводятся два вещественных числа. Вывести результат их произведения в виде равенства. Например, для введенных чисел 5 и 7 вывести 5*7=35 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 год»
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru