Форум программистов, компьютерный форум 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
09.10.2013, 22:06     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #2
C++
1
2
3
4
5
6
7
8
9
10
11
int nvoz(int n)
{
switch(n)
 
{
case 41: {cout << "Mne" << n << "god" << endl; break;}
case 86: { cout << "Mne" << n << "goda" <<endl; break; }
case 16:{cout << "Mne" << n << "let" <<endl; break;}
}
return 0 ;
}
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.10.2013, 22:08     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #3
Цитата Сообщение от Troo Посмотреть сообщение
с остатком при делении не получается
а где это у вас в коде?
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:11     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #4
а что за остаток я не поняла вопрос :?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.10.2013, 22:14     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #5
Цитата Сообщение от Жанерке Посмотреть сообщение
а что за остаток я не поняла вопрос :?
ваша функция работает только для 41, 86 и 16, а остальным как?
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:16     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #6
Jupiter, я знаю ) я б написала только не пойму что за остаток
уточнила бы ))
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
09.10.2013, 22:17     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #7
а обязательно... делать через switch?0_o
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:19     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #8
dzrkot, по моему не обязательно
можно использовать if или else if ;
newbie666
Заблокирован
09.10.2013, 22:21     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #9
Цитата Сообщение от Troo Посмотреть сообщение
nvoz(int n)
ИНТ ЭН, сюда вводится возраст или что ? )))))))
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:24     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #10
я думаю то тут вопрос не корректный где тут остаток и где возраст не поймешь
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.10.2013, 22:29     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #11
Цитата Сообщение от Жанерке Посмотреть сообщение
что за остаток
остаток от деления на 10
40 лет 40 % 10 = 0
41 год 41 % 10 = 1
42 года 42 % 10 = 2
45 лет 45 % 10 = 5
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:31     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #12
Jupiter, ну я это знаю
и зачем это в этой задаче
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
09.10.2013, 22:36     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #13
Цитата Сообщение от Жанерке Посмотреть сообщение
Jupiter, ну я это знаю
и зачем это в этой задаче
чтоб по остатку от деления выбирать нужные слова "лет", "год", "года" и т п
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:38     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #14
XRuZzz,
Jupiter, типа так что ль ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main ()
              {
int v,n=0;
cout<"vvedite vozrast " ;
cin<<v;
 
n=v%10;
switch(n) 
{
case 1: {cout << "Mne" << n << "god" << endl; break;}
case 2:case 3:case 4: { cout << "Mne" << n << "goda" <<endl; break; }
case 0:case 5:case 6:case 7:case 8:case 9:{cout << "Mne" << n << "let" <<endl; break;}
}
return 0 ;
и вообще зачем мне это задача ))))
почему все мне объясняете ))))
newbie666
Заблокирован
09.10.2013, 22:42     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #15
Если ты изучала иностранные языки хоть какие - то, то должна помнить, что там есть спец слова от 12-и до 20 напимер и тд... В общем вот тебе до ста лет ))))
C++ (Qt)
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
void nvoz(int n)
{
    // ну это только до 99 лет )))
    if( n < 0)
        std::cout << "ti eshe ne rodilsa" << std::endl;
    if( n > 99)
        std::cout << "ti navernoe uze pokoynik :-)" << std::endl;
    else if( n == 0)
        std::cout << "Mne " << n << " let" << std::endl;
    else if( n == 1)
        std::cout << "Mne " << n << " god" << std::endl;
    else if(n > 1 && n < 5)
        std::cout << "Mne " << n << " goda" << std::endl;
    else if(n > 4 && n < 21)
        std::cout << "Mne " << n << " let" << std::endl;
    else if(n > 20 && n < 100)
    {
        std::stringstream ss;
        ss << n;
        char num = ss.str()[1];
        ss.clear();ss.str("");
        ss << num;
        int index;
        ss >> index;
        if( index == 0)
            std::cout << "Mne " << n << " let" << std::endl;
        else if( index == 1)
            std::cout << "Mne " << n << " god" << std::endl;
        else if(index > 1 && n < 5)
            std::cout << "Mne " << n << " goda" << std::endl;
        else if(index > 4 && n <= 9)
            std::cout << "Mne " << n << " let" << std::endl;
    }
 
}
Добавлено через 1 минуту
P.S.: ну со stringstream-ом я погорячился))))) Конечно через % делать надо )))))))
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
09.10.2013, 23:18     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #16
Цитата Сообщение от newbie666 Посмотреть сообщение
std::cout << "ti eshe ne rodilsa" << std::endl;
любители транслита
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
10.10.2013, 10:25     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #17
ответил, потом понял что не актуально уже, удалил.
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
14.10.2013, 21:50  [ТС]     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #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 }
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
14.10.2013, 21:56     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #19
Troo,
18 и 23 строки
может перед 23 тож надо добавить условие
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2013, 22:18     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Troo
1 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 73
14.10.2013, 22:18  [ТС]     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год» #20
Вот я пробовала добавляла, а что-то все равно не то..
Yandex
Объявления
14.10.2013, 22:18     Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
Ответ Создать тему
Опции темы

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