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

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

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

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

09.10.2013, 19:43. Просмотров 1692. Ответов 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
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:06 #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 ;
}
0
Jupiter
Каратель
Эксперт С++
6558 / 3979 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.10.2013, 22:08 #3
Цитата Сообщение от Troo Посмотреть сообщение
с остатком при делении не получается
а где это у вас в коде?
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:11 #4
а что за остаток я не поняла вопрос :?
0
Jupiter
Каратель
Эксперт С++
6558 / 3979 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.10.2013, 22:14 #5
Цитата Сообщение от Жанерке Посмотреть сообщение
а что за остаток я не поняла вопрос :?
ваша функция работает только для 41, 86 и 16, а остальным как?
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:16 #6
Jupiter, я знаю ) я б написала только не пойму что за остаток
уточнила бы ))
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
09.10.2013, 22:17 #7
а обязательно... делать через switch?0_o
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:19 #8
dzrkot, по моему не обязательно
можно использовать if или else if ;
0
newbie666
Заблокирован
09.10.2013, 22:21 #9
Цитата Сообщение от Troo Посмотреть сообщение
nvoz(int n)
ИНТ ЭН, сюда вводится возраст или что ? )))))))
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:24 #10
я думаю то тут вопрос не корректный где тут остаток и где возраст не поймешь
0
Jupiter
Каратель
Эксперт С++
6558 / 3979 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.10.2013, 22:29 #11
Цитата Сообщение от Жанерке Посмотреть сообщение
что за остаток
остаток от деления на 10
40 лет 40 % 10 = 0
41 год 41 % 10 = 1
42 года 42 % 10 = 2
45 лет 45 % 10 = 5
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:31 #12
Jupiter, ну я это знаю
и зачем это в этой задаче
0
XRuZzz
Антикодер
681 / 583 / 29
Регистрация: 15.09.2012
Сообщений: 2,531
09.10.2013, 22:36 #13
Цитата Сообщение от Жанерке Посмотреть сообщение
Jupiter, ну я это знаю
и зачем это в этой задаче
чтоб по остатку от деления выбирать нужные слова "лет", "год", "года" и т п
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
09.10.2013, 22:38 #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 ;
и вообще зачем мне это задача ))))
почему все мне объясняете ))))
0
newbie666
Заблокирован
09.10.2013, 22:42 #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-ом я погорячился))))) Конечно через % делать надо )))))))
1
09.10.2013, 22:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2013, 22:42
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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