Главная страница
Навигация по странице:

  • Решение

  • Особенность

  • int M, D; printf("Введите номер месяца:\n"); scanf("%d", M); switch ( M ) { case 2: D = 28;

  • default: D = -1; } if (D > 0) printf("В этом месяце %d дней.", D); else printf("Неверный номер месяца");

  • case в: printf("Волк"); break; default: printf("Я не знаю!"); } } Что будет, если везде убрать break

  • Задания (с защитой от неверного ввода) «4»: Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе. Пример

  • Введите номер месяца: Введите номер месяца: -2 2 Введите номер месяца: В этом месяце 28 дней. 11 Вы вводили неверно 0 раз.

  • Введите номер месяца: 12 Введите день: 25 До Нового года осталось 6 дней.

  • Оператор выбора. Задача Ввести номер месяца и вывести количество дней в этом месяце. Решение Число дней по месяцам


    Скачать 78.5 Kb.
    НазваниеЗадача Ввести номер месяца и вывести количество дней в этом месяце. Решение Число дней по месяцам
    Дата06.11.2020
    Размер78.5 Kb.
    Формат файлаpptx
    Имя файлаОператор выбора.pptx
    ТипЗадача
    #148426

    Программирование на языке Си

    Тема 7. Оператор выбора


    Оператор выбора

    Задача: Ввести номер месяца и вывести количество дней в этом месяце.

    Решение: Число дней по месяцам:

    28 дней – 2 (февраль)

    30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)

    31 день – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)

    Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от номера месяца.

    Можно ли решить известными методами?

    ?

    Алгоритм

    начало

    конец

    оператор выбора

    ни один вариант не подошел

    ввод M

    да

    нет

    M = 1?

    D = 31;

    нет

    M = 2?

    D = 28;

    да

    нет

    M = 12?

    D = 31;

    да

    вывод D

    ошибка

    Программа

    main()

    {

    int M, D;

    printf("Введите номер месяца:\n");

    scanf("%d", &M);

    switch ( M ) {

    case 2: D = 28;

    case 4: case 6: case 9: case 11: D = 30;

    case 1: case 3: case 5: case 7:

    case 8: case 10: case 12:

    D = 31;

    default: D = -1;

    }

    if (D > 0)

    printf("В этом месяце %d дней.", D);

    else printf("Неверный номер месяца");

    }

    ни один вариант не подошел

    break;

    break;

    break;

    выйти из

    switch

    Оператор выбора

    Задача: Ввести букву и вывести название животного на эту букву.

    Особенность: выбор по символьной величине.

    main()

    {

    char c;

    printf("Введите первую букву названия животного:\n");

    scanf("%c", &c);

    switch ( c ) {

    case 'а': printf("Антилопа"); break;

    case 'б': printf("Бизон"); break;

    case 'в': printf("Волк"); break;

    default: printf("Я не знаю!");

    }

    }

    Что будет, если везде убрать break?

    ?

    Оператор выбора

    Особенности:
      • после switch может быть имя переменной или арифметическое выражение целого типа (int)

      • или символьного типа (char)
      • нельзя ставить два одинаковых значения:

    switch ( i+3 ) {

    case 1: a = b; break;

    case 2: a = c;

    }

    switch ( x ) {

    case 1: a = b; break;

    case 1: a = c;

    }

    Задания (с защитой от неверного ввода)

    «4»: Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе.

    Пример:

    Введите номер месяца: Введите номер месяца:

    -2 2

    Введите номер месяца: В этом месяце 28 дней.

    11 Вы вводили неверно 0 раз.

    В этом месяце 30 дней.

    Вы вводили неверно 1 раз.

    «5»: Ввести номер месяца и номер дня, вывести число дней, оставшихся до Нового года.

    Пример:

    Введите номер месяца:

    12

    Введите день:

    25

    До Нового года осталось 6 дней.


    написать администратору сайта