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

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

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

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

09.10.2013, 19:43. Просмотров 1699. Ответов 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 ;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2013, 19:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» (C++):

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

Вывести на экран слово «год», «года» или «лет» в зависимости от введенного возраста - C++
Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом «год», «года» или «лет»

Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет») - C++
Для целого числа k от 1 до 99 напечатать фразу &quot;мне k лет»,учитывая при этом, что при некоторых значениях k слово «лет» надозаменить словом...

Вывести квадрат введенного с клавиатуры числа в диапазоне от 0 до 10 включительно - C++
Написать программу, которая выводит квадрат, введенного с клавиатуры, числа в диапазоне от 0 до 10 включительно. При введении...

Вывести список простых чисел до введенного с клавиатуры значения - C++
Ребят помогите плз!В с++ ваще невтыкаю, еще в паскале шарю кое как а тут нифига(Вообщем оч простая прога: 1)Вводится с клавиатуры чилсо,и...

Вывести на экран пустой прямоугольник из введенного с клавиатуры символа - C++
Нужно вывести на экран пустой прямоугольник из введенного из клавиатуры символа. Размер прямоугольника тоже вводить с клавиатуры. Например:...

27
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
09.10.2013, 23:18 #16
Цитата Сообщение от newbie666 Посмотреть сообщение
std::cout << "ti eshe ne rodilsa" << std::endl;
любители транслита
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
10.10.2013, 10:25 #17
ответил, потом понял что не актуально уже, удалил.
0
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
14.10.2013, 21:50  [ТС] #18
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
Вот что у меня получилось,но при введении 11, выводит 2 значения
1 #include "stdafx.h"
2 #include <iostream>
3
4 using namespace std;
5 
6 int nvoz (int n);
7 int main()
8 {
9 int n;
10 cin >> n;
11 cout<< nvoz(n) <<endl;
12 return 0;
13 }
14 
15 int nvoz (int n)
16 {
17 
18 if (n>10 && n<15)
19 switch (n%10) {
20 case 1: case 2:case 3:case 4: {cout << "Mne " << n << " let" << endl; break;}
21 }
22 
23 switch (n%10) {
24 case 1:{ cout << "Mne " <<  n <<  " god" <<  endl; break;}
25 case 2:case 3:case 4: { cout << "Mne " <<  n <<   " goda" << endl; break; }
26 case 5:case 6:case 7:case 8:case 9:case 0: { cout << "Mne " << n << " let" << endl; break ;}
27 }
28 return n;
28 }
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
14.10.2013, 21:56 #19
Troo,
18 и 23 строки
может перед 23 тож надо добавить условие
0
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
14.10.2013, 22:18  [ТС] #20
Вот я пробовала добавляла, а что-то все равно не то..
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
14.10.2013, 22:24 #21
может напишешь полностью условие задачи
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3139 / 307
Регистрация: 04.12.2011
Сообщений: 8,661
Записей в блоге: 5
15.10.2013, 00:13 #22
Troo, но это же нормально, что 11 - лет, а 1 или 21 - год.
Такая песня вначале каждой сотни. То есть 11, 111, 211... Сложно? Радуйтесь, что люди до 200 не доживают.
То есть похоже, Вам нужно определиться, что вы находитесь не во втором десятке, а например в первом (1, 2, 3...) или таки втором десятке (11, 12, 13...) сотни (сотен тоже две, - первая и вторая), а потом для каждой ветки можете хоть и switch'ом воспользоваться. Для разделения случая "второй десяток" и остальных тоже switch можно. То есть вложенные будут switch'и.
0
faustmangos
3 / 3 / 0
Регистрация: 02.10.2013
Сообщений: 34
15.10.2013, 00:38 #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 я применил чтобы вывело на консоль, а ты присвой это значение переменной
А дальше сам думай
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3139 / 307
Регистрация: 04.12.2011
Сообщений: 8,661
Записей в блоге: 5
15.10.2013, 01:20 #24
Цитата Сообщение от faustmangos Посмотреть сообщение
я думаю он имеет ввиду остаток в том смысле, что если тебе например не 5 лет а 15, то если поделить 15 на 10 (23 на 20 и тд) то можно узнать что говорить в случае с 15 лет а не до бесконечности использовать switch
До бесконечности может и ненужно, но это зависит от задания. Например что-то вроде "не исспользуя блоки if" или явно: "используя только оператор switch".
Что касается деления, то оно поможет разделить логические потоки по признаку, но в коде все равно придётся использовать логический блок который анализирует признак и раветвляет поток управления.
0
faustmangos
3 / 3 / 0
Регистрация: 02.10.2013
Сообщений: 34
15.10.2013, 01:38 #25
IGPIGP, я сказал что можно не использовать лог. блок? я и имел ввиду
Цитата Сообщение от IGPIGP Посмотреть сообщение
разделить логические потоки по признаку
0
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
15.10.2013, 17:04  [ТС] #26
faustmangos,
должно быть 0<n<100 и только через оператор switch,
да я применяю остаток при делении именно на 10,
т.е.: остаток 1 из этого программа выводит : " Мне 1 год"," Мне 21 год"," Мне 31 год"...
остаток 2, 3, 4 - "Мне 22 года","Мне 33 года",
но ведь 11, 12, 13, 14 должно выводить: "Мне 11 лет","Мне 12 лет"....
и вот я не могу разобраться, как записать эти 4 значения отдельно от всех
0
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
15.10.2013, 17:59 #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;
}
1
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
15.10.2013, 18:46  [ТС] #28
XRuZzz, да да неплохо бы
спасибо большое)
0
15.10.2013, 18:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 18:46
Привет! Вот еще темы с ответами:

По дате, введенной с клавиатуры вывести число, название месяца и год - C++
Задача 4 Напишите программу, которая по дате, введенной с клавиатуры в формате X X. X X. X X выводит число, название месяца и год....

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

Считать текст из файла и вывести на экран только предложения, начинающиеся с введенного с клавиатуры слова - C++
Доброго времени суток! Помогите, пожалуйста, дописать код. Вот задание: Написать программу, которая, считывает текст из файла и выводит...

Для введенного с клавиатуры n вычислить значение выражения - C++
Требуется написать код с использованием функций для нахождения значение выражения Р=1/1*2+1/2*3+...+1/n*(n+1), n вводится с клавиатуры....


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

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

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