Основы программирования на С++ для начинающих

Задачи: Оператор switch

В этой статье вы найдете задачи, которые помогут вам освоить основные навыки использования в своих программах оператора множественного выбора switch. Почитать об этом можно в статье Оператор switch в С++.  Большая просьба – старайтесь сначала решить задачу самостоятельно и только потом либо подсмотреть (если решить так и не получилось), либо сравнить ваше решение с тем, что изложено здесь. Поехали!

1. Составить расписание на неделю. Пользователь вводит порядковый номер дня недели и у него на экране отображается, то, что запланировано на этот день.

2. Изменить код, который был рассмотрен в статье Оператор switch в С++, следующим образом: Пользователю для расчета времени в пути надо вводить не номера станций, а буквы (A,B,C,D,E). Необходимо предусмотреть ввод пользователем и маленьких, и больших букв (избавиться от регистрозависимости).  То есть если введено или D, или d – должен сработать один и тот же case.  Синтаксис для этого действия такой:

switch (выражение)
{
case ‘a’:
case ‘A’: //код
break;
и т.д. …………….
}

Еще одно задание можно посмотреть в этой статье. По всем вопросам оставляйте комментарии под статьей.

29 thoughts on “Задачи: Оператор switch

  1. Привет помогите решить задачу по С # Найти произведение цифр заданного n -значный числа. Допускаются числа до пяти знаков включительно с помощью оператора switch.

    1. Подели цифру так, чтобы остаток только получился и все эти остатки перемножь.
      Либо так, либо я не понял задачи

  2. #include
    #include

    using namespace std;

    int main() {

    setlocale(LC_ALL, “RUS”);

    int dayNumber;
    cout << "Введите день недели: " <> dayNumber;

    switch (dayNumber)
    {
    case 1:
    cout << "Понидельник:" "Экскурсия. " << endl;
    break;
    case 2:
    cout << "Вторник: Учеба. " << endl;
    break;
    case 3:
    cout << "Среда: В 17:00 тренировка. " << endl;
    break;
    case 4:
    cout << "Четверг: Соревнование по грейплингу. " << endl;
    break;
    case 5:
    cout << "Пятница: Тусовка" << endl;
    break;
    case 6:
    cout << "Субота: Встреча" << endl;
    break;
    case 7:
    cout << "Воскресение: Что угодно. " < 8;
    cout << "Ошибка! Введите правилную номер. Примерно от 1 до 7 " << endl;
    break;
    }

    }

  3. Console.WriteLine(“Введите день недели, посмотрим что у вас запланиравно”);
    string str = Console.ReadLine();
    switch (str)
    {
    case “monday”:
    Console.WriteLine(“На понедельник у вас запланировано собрание с офисе”);
    break;
    case “Tuesday”:
    Console.WriteLine(“На вторник запланирована встреча с друзьями в 22:00 “);
    break;

    case “Wednesday”:
    Console.WriteLine(“На среду запланирована свидание в Ресторане с девушкой”);
    break;
    case “Thursday”:
    Console.WriteLine(“На четверг запланировано закуп продуктов домой “);
    break;
    case “Friday”:
    Console.WriteLine(“На пятницу запланировано замена масла автомобиля “);
    break;
    case “Saturday”:
    Console.WriteLine(“На субботу запланирован поход в гости “);
    break;
    case “Sunday”:
    Console.WriteLine(“На воскресенье ничего не запланировано “);
    break;
    default:
    Console.WriteLine(“Вы ввели не верный день недели”);
    break;

    }
    Console.ReadLine();

  4. #include
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “rus”);

    char answer; // будет хранить выбор пользователя
    bool var = true; // управляющая переменная цикла do while

    cout <> answer; // ввод значения

    switch (toupper(answer)) // switch принимает переменную answer и ищет подходящий case
    {
    case ‘A’: // если answer равно 1, на экран выйдут сообщения этого case
    cout << "Станция метро Trinitat Nova: ";
    cout << "Время в пути – 15 мин." << endl;
    var = false;
    break; // выход из switch. иначе будет переход case(2) и т.д.
    case 'B': // если answer равно 2
    cout << "Станция метро Casa de l’Aigua: ";
    cout << "Время в пути – 19 мин." << endl;
    var = false;
    break;
    case 'C':
    cout << "Станция метро Torre Baro Vallbona: ";
    cout << "Время в пути – 25 мин." << endl;
    var = false;
    break;
    case 'D':
    cout << "Станция метро Ciutat Meridiana: ";
    cout << "Время в пути – 30 мин." << endl;
    var = false;
    break;
    case 'E':
    cout << "Станция метро Can Cuias: ";
    cout << "Время в пути – 38 мин." << endl;
    var = false;
    break;
    default: // если ни один case не сработал, сработает default
    cout << "Станции под номером " << answer << " нет! ";
    cout << "Сделайте правильный выбор (от 1 до 5): ";

    }
    } while (var); //цикл повторится, пока var не изменит значение на false

    return 0;

  5. #include

    using namespace std;
    int main()
    {
    setlocale(LC_ALL, “Rus”);
    int answer = 0;
    bool var = true;

    cout <> answer;
    switch (answer)
    {
    case 1:
    cout << "Понедельник:\n"
    "13:00 – Съездить к маме\n"
    "17:00 – Поход в спорт.зал\n";
    break;
    case 2:
    cout << "Вторник:\n"
    "12:00 – Обучение програмированию\n"
    "18:00 – Поход в магазин за покупками"
    "20:00 – Репетиция группы\n";
    break;
    case 3:
    cout << "Среда:\n"
    "12:00 – Выполнить заказ на фрилансе\n"
    "17:00 – Поход в спорт.зал\n";
    break;
    case 4:
    cout << "Четверг:\n"
    "12:00 – Обучение програмированию\n"
    "18:00 – Встретится с девушкой\n";
    break;
    case 5:
    cout << "Пятница:\n"
    "15:00 – Забрать заказ с почты\n"
    "17:00 – Поход в спорт.зал\n";
    break;
    case 6:
    cout << "Суббота:\n"
    "14:00 – Встреча с друзьями\n";
    break;
    case 7:
    cout << "Воскресенье:\n"
    "На сегодня ничего не запланированно\n";
    break;
    default:
    cout <= 1 && answer <= 7)
    var = false;
    } while (var);

    return 0;

    }

  6. В этом коде цикл бесконечный, он продолжается не смотря на верный case. Я понимаю, что дело в if (answer == …), но почему это неверно – не понимаю.

    char answer;
    bool var = true;

    cout <> answer;
    switch (answer)
    {
    case’a’:
    case’A’: cout << "This is way to Ana de Armas.\n";
    cout << "Time: 15 min.";
    break;
    case'b':
    case'B': cout << "This is way to Batumi.\n";
    cout << "Time: 19 min.";
    break;
    case'c':
    case'C': cout << "This is way to Cilicia.\n";
    cout << "Time: 25 min.";
    break;
    case'd':
    case'D': cout << "This is way to Danish.\n";
    cout << "Time: 35 min.";
    break;
    case'i':
    case'I': cout << "This is way to Central Park.\n";
    cout << "Time: 41 min.";
    break;
    default:
    cout << "Wrong value. Try again.\n";
    break;
    }
    if (answer == ('a' | 'A' | 'b' | 'B' | 'c' | 'C' | 'd' | 'D' | 'i' | 'I')) {
    var = false;
    }
    } while (var);

    return 0;

  7. сильно не заморачивался , выводит и на этом спасибо

    #include
    using namespace std;
    int main()
    {
    char a1;
    cout <> a1;

    switch (a1) {

    case ‘a’:
    case ‘A’:
    cout << "Vinnitsia 12:30";
    break;

    }
    }

  8. #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “RUS”);

    int daynumber;
    bool var = true;
    cout <> daynumber;

    switch (daynumber)
    {
    case 1:
    cout << "на этот день запланирован поход на рыбалку\n";
    break;
    case 2:
    cout << "на этот день запланировано поездка в город с родителями\n";
    break;
    case 3:
    cout << "на этот день запланирован поход на футбольную тренировку\n";
    break;
    case 4:
    cout << "на этот день запланировано прогулка с друзьями\n";
    break;
    case 5:
    cout << "на этот день запланировано поход к репетитору\n";
    break;
    case 6:
    cout << "на этот день запланировано прогулка в лес\n";
    break;
    case 7:
    cout << "на этот день запланирован отдых\n";
    break;
    default:
    cout << "вы ввели не правильный порядковый номер, повторите попытку снова!" <= 1 && daynumber <= 7)
    var = false;
    } while (var);

    }
    ПРАВИЛЬНО?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *