Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2013, 00:28   #1
rinoolik
Пользователь
 
Регистрация: 20.11.2012
Сообщений: 42
Восклицание Оператор выбора switch

Дано целое число в диапазоне от 20 до 80, определяющее возраст в годах. Вывести строку – словесное описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 – «двадцать лет», 32 – «тридцать два года», 41 – «сорок один год».
rinoolik вне форума Ответить с цитированием
Старый 20.02.2013, 09:12   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

задача очень простая.
И, после того, как Вы разберёте чуть более сложный пример отсюда, думаю, что у Вас вопросов не останется...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2013, 15:35   #3
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Вот решение этой задачи на С#
В программировании я месяц, по-этому прошу строго не судить. но как вариант можно взять этот говнокод))
Код:
using System;

class vozrast
{
    public static void Main()
    {
        int[] vozrast_desiatok = { 20, 30, 40, 50, 60, 70, 80 };
        string[] vozrast_desiatok_slovo = { "двадцать", "тридцать", "сорок", "пятдесят",
                                          "шестдесят", "семдесят", "восемдесят" };
        int[] vozrast_edinica = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        string[] vozrast_edinica_slovo = { "один", "два", "три", "четыре","пять","шесть",
                                          "сем", "восемь", "девять" };
        string[] slovo_god = { "год", "года", "года", "года","лет","лет",
                                          "лет", "лет", "лет" };

        Console.WriteLine("Введите ваш возраст");
        int a = Convert.ToInt32(Console.ReadLine());
        int b = a / 10 * 10;

        for (int i = 0; i < 7; i++)
        {
            if (b == vozrast_desiatok[i])
            {
                Console.Write("Вам: "+vozrast_desiatok_slovo[i]+" ");
            }
        }
        int c = a % 10;
        for (int i = 0; i < 9; i++)
        {
            if (c == 0)
            {
                Console.WriteLine("лет"); break;}
            if (c == vozrast_edinica[i])
            {
                Console.WriteLine(vozrast_edinica_slovo[i] + " " + slovo_god[i]); break;
            }
        }
        Console.ReadKey();
    }
}
Sergey_gorobets вне форума Ответить с цитированием
Старый 20.02.2013, 16:00   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Sergey_gorobets, хороший код.

не проверял, но мне кажется, что для возраста от 11 до 19 (исключения) программа будет косячить... рекомендую подправить...

Хотя, для автора, у которого возраст от 20 до 80 - имхо, и такой код подойдёт.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Builder оператор выбора Switch Fornarina Фриланс 6 02.11.2010 02:11
оператор выбора Switch Fornarina Общие вопросы C/C++ 1 31.10.2010 12:56
Оператор выбора switch(C++) michal3003 Помощь студентам 2 06.09.2010 02:05