Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 34
1

Разветвление

12.02.2012, 14:09. Показов 4924. Ответов 9
Метки нет (Все метки)

Я прошу прощение за то, что задача на украинском языке, но в противном случае сама суть задания будет совсем иная.

Ввести вік людини (від 1 до 150) і вивести його разом з наступним словом "рік", "роки" або "роки".

Помогите, пожалуйста, как составить решение! Хотябі так объясните, а на языке с++ я уже сама напишу!
Заранее спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2012, 14:09
Ответы с готовыми решениями:

Разветвление
Ввести три целых числа и найти наибольшее из них. #include <iostream.h> main() { int...

На разветвление
Заданы своими координатами N точек на плоскости и два круга ради¬у¬са¬ми R1 и R2 (R1 < R2) с...

разветвление
Составить программу которая вводит произвольное значение аргумента, вычисляет

Разветвление
Прошу проверить Ошибок никаких при компиляции не выдавал, но почему-то виснет при td.exe y=y1+y2...

9
53 / 53 / 10
Регистрация: 26.09.2011
Сообщений: 186
12.02.2012, 14:24 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <Windows.h>
int main()
{
    SetConsoleOutputCP(1251);
    int age;
    std::cout << "Введiть рiк людини: ";
    std::cin >> age;
    std::cout << "Рiк людини становить " << age;
 
    if (age%10==1) std::cout << " рiк";
    else if (age%10 ==2 || age%10==3 || age%4==4) std::cout << " роки";
    else std::cout << " рокiв.";
    std::cout << std::endl;
}
если год заканчивается на 1 - то " рiк"
кесли год заканчивается на 2, 3 или 4 - то " роки"
во всех остальных случаях - " рокiв"
Чтобы получить последнюю цифру года - надо получить остаток от деления года на 10.
1%10 = 1 рiк
23%10= 3 роки
149%10 = 9 рокiв
1
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 34
12.02.2012, 21:48  [ТС] 3
Ну а смотрите: если 12, 13, 14, то это "років"...

Добавлено через 5 часов 11 минут
Та и если 11, то это "років"
0
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
12.02.2012, 22:38 4
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "iostream"
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    int age;
    int n;
    cout << "Ведіть вік людини - ";
    cin >> age;
    
    if (age > 10 && age < 15)
    {
        cout << "\nЛюдині " << age << " років.";
        system("pause >> null");
        return 0;
    }
    
 
    n = age % 10;
    
    switch (n)
    {
    case 1:
        cout << "\nЛюдині " << age << " рік.";
        break;
    case 2:
    case 3:
    case 4:
        cout << "\nЛюдині " << age << " роки.";
        break;
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 0:
        cout << "\nЛюдині " << age << " років.";
        break;
    }
 
    system("pause >> null");
    return 0;
}
1
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 34
13.02.2012, 01:13  [ТС] 5
Цитата Сообщение от Infinity3000 Посмотреть сообщение
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "iostream"
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    int age;
    int n;
    cout << "Ведіть вік людини - ";
    cin >> age;
    
    if (age > 10 && age < 15)
    {
        cout << "\nЛюдині " << age << " років.";
        system("pause >> null");
        return 0;
    }
    
 
    n = age % 10;
    
    switch (n)
    {
    case 1:
        cout << "\nЛюдині " << age << " рік.";
        break;
    case 2:
    case 3:
    case 4:
        cout << "\nЛюдині " << age << " роки.";
        break;
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 0:
        cout << "\nЛюдині " << age << " років.";
        break;
    }
 
    system("pause >> null");
    return 0;
}
А не могли бы Вы, пожалуйста, объяснить для начала "обычным языком" решение!
0
Комп_Оратор)
Эксперт по математике/физике
8722 / 4452 / 598
Регистрация: 04.12.2011
Сообщений: 13,308
Записей в блоге: 16
13.02.2012, 01:31 6
Написал, но передумал, - всё верно
1
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
13.02.2012, 01:49 7
Цитата Сообщение от IGPIGP Посмотреть сообщение
Написал, но передумал,
Следил, за Вашими мыслями)))))


Цитата Сообщение от angel5609 Посмотреть сообщение
А не могли бы Вы, пожалуйста, объяснить для начала "обычным языком"
решение!

Вам уважаемый denys_l, все обьяснил!

Цитата Сообщение от denys_l Посмотреть сообщение
если год заканчивается на 1 - то " рiк"
кесли год заканчивается на 2, 3 или 4 - то " роки"
во всех остальных случаях (0, 5, 6, 7, 8, 9)- " рокiв"
Чтобы получить последнюю цифру года - надо получить остаток от деления года на 10.
1%10 = 1 рiк
23%10= 3 роки
149%10 = 9 рокiв
Только все реализовано с помощью оператора switch!

По поводу вашего замечания

Цитата Сообщение от angel5609 Посмотреть сообщение
Ну а смотрите: если 12, 13, 14, то это "років"...
Вот тут оно описано

C++
1
2
3
4
5
6
if (age > 10 && age < 15)
        {
                cout << "\nЛюдині " << age << " років.";
                system("pause >> null");
                return 0;
        }
1
Комп_Оратор)
Эксперт по математике/физике
8722 / 4452 / 598
Регистрация: 04.12.2011
Сообщений: 13,308
Записей в блоге: 16
13.02.2012, 02:13 8
Цитата Сообщение от angel5609 Посмотреть сообщение
case 0:
В самом конце, и - просмотрел.
0
53 / 53 / 10
Регистрация: 26.09.2011
Сообщений: 186
13.02.2012, 13:17 9
Цитата Сообщение от angel5609 Посмотреть сообщение
Ну а смотрите: если 12, 13, 14, то это "років"...

Добавлено через 5 часов 11 минут
Та и если 11, то это "років"
Недосмотрел ))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <Windows.h>
int main()
{
        SetConsoleOutputCP(1251);
        int age;
        std::cout << "Введiть рiк людини: ";
        std::cin >> age;
        std::cout << "Рiк людини становить " << age;
        if ((age%100)>10 && (age%100)<21) std::cout << " рокiв.";
        else if (age%10==1) std::cout << " рiк";
                else if (age%10==2 || age%10==3 || age%10==4) std::cout << " роки";
                        else std::cout << " рокiв.";
        std::cout << std::endl;
}
2
Комп_Оратор)
Эксперт по математике/физике
8722 / 4452 / 598
Регистрация: 04.12.2011
Сообщений: 13,308
Записей в блоге: 16
13.02.2012, 14:04 10
Цитата Сообщение от denys_l Посмотреть сообщение
Недосмотрел ))
Жить, с задачей внутри == счастье?мука:судьба;
Как только сам понял, зачем 150 лет (у нас столько не живут) - зашёл посмотреть.
И опять - всё правильно.
I все ж таки, - "Слава братнiм народам!"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2012, 14:04

разветвление
Я вот не пойму это уравнение?

Разветвление
Известны результаты трёх переписей населения: r1 год - k1 людей, r2 год - k2, r3 год - k3. Исходя...

Разветвление
Помогите нужно написать программу по типу если x = 2 то выполняется пример 1 в других случаях...

не работает разветвление
задание: нужно сделать программу, при помощи которой можно составить план дома. рисуем на канве,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru