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

Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет») - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 5.00
MikeEl
1 / 1 / 0
Регистрация: 27.03.2012
Сообщений: 52
10.05.2013, 13:24     Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет») #1
Для целого числа k от 1 до 99 напечатать фразу "мне k лет»,учитывая при этом, что при некоторых значениях k слово «лет» надозаменить словом «год» или «года». Предусмотреть ситуацию неправильноговвод исходных данных.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 13:24     Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет»)
Посмотрите здесь:

C++ нужен тип целого числа для числа 19!= 121 645 100 408 832 000
Задача число и число записанное в обратном направлении сумма целого числа C++
C++ Найти порядок n для целого числа k
Для натурального числа k напечатать фразу «мы нашли k грибов в лесу», согласовав окончание слова «гриб» с числом k C++
C++ Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ден90
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 55
10.05.2013, 14:35     Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет») #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    for(int k = 0; k < 100; k++) {
        cout << "мне " << k << " ";
        switch (k % 10) { // остаток от деления
           case 1: cout << "год";
           break;
           case 2: cout << "года";
           break;
           case 3: cout << "года";
           break;
           case 4: cout << "года";
           break;
           default: cout << "лет";
        }
    }
}
Добавлено через 7 минут
упс)) не совсем понял что спрашивалось)))
для одного числа заменить цикл for на cin >> k;
както-так =))
DIEZEL-man
13 / 13 / 0
Регистрация: 17.02.2013
Сообщений: 54
10.05.2013, 14:39     Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет») #3
Сейчас попробую довести до нормального состояния
Ден90
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 55
10.05.2013, 14:43     Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет») #4
Цитата Сообщение от DIEZEL-man Посмотреть сообщение
for(int j=5; j<100; j++){ if(vozr==j) cout<<j<<" let"<<endl;} }
при вводе vozr к примеру 21 выведет "let"
DIEZEL-man
13 / 13 / 0
Регистрация: 17.02.2013
Сообщений: 54
10.05.2013, 15:32     Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет») #5
Вот абсолютно рабочая программа:
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
31
#include<iostream>
#include<cmath>
using namespace std;
int main(){
 
int vozr;
cout<<"Vvedite vozrast ot 1 do 99:"<<endl;
cin>>vozr;
if(vozr>=1 && vozr<=99){
           
if(vozr==1) {cout<<"Mne "<<vozr<<" god"<<endl;}
for(int i=2; i<5; i++)
{if(vozr==i) cout<<"Mne "<<vozr<<" goda"<<endl;}
 
for(int i=5; i<21; i++)
{if(vozr==i) cout<<"Mne "<<vozr<<" let"<<endl;}
 
if(vozr>=21){ switch(vozr%10){
                case 1: cout<<"Mne "<<vozr<<" god"<<endl; break;
                case 2: cout<<"Mne "<<vozr<<" goda"<<endl; break;
                case 3: cout<<"Mne "<<vozr<<" goda"<<endl; break;
                case 4: cout<<"Mne "<<vozr<<" goda"<<endl; break;
                default: cout<<"Mne "<<vozr<<" let"<<endl;}}
                
           }
else cout<<"Oshibka, vozrast ne podhodit!"<<endl;
 
    
 system("pause");
 return 0;   
}
p/s если обнаружил ошибку напиши
Yandex
Объявления
10.05.2013, 15:32     Задача со Switch (Для целого числа k от 1 до 99 напечатать фразу "мне k лет»)
Ответ Создать тему
Опции темы

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