В этой статье вы найдете задачи, которые помогут вам освоить основные навыки использования в своих программах оператора множественного выбора switch. Почитать об этом можно в статье Оператор switch в С++. Большая просьба – старайтесь сначала решить задачу самостоятельно и только потом либо подсмотреть (если решить так и не получилось), либо сравнить ваше решение с тем, что изложено здесь. Поехали!
1. Составить расписание на неделю. Пользователь вводит порядковый номер дня недели и у него на экране отображается, то, что запланировано на этот день.
2. Изменить код, который был рассмотрен в статье Оператор switch в С++, следующим образом: Пользователю для расчета времени в пути надо вводить не номера станций, а буквы (A,B,C,D,E). Необходимо предусмотреть ввод пользователем и маленьких, и больших букв (избавиться от регистрозависимости). То есть если введено или D, или d – должен сработать один и тот же case. Синтаксис для этого действия такой:
switch (выражение)
{
case ‘a’:
case ‘A’: //код
break;
и т.д. …………….
}
Еще одно задание можно посмотреть в этой статье. По всем вопросам оставляйте комментарии под статьей.
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
// рассмотрим в решении такой задачи: Допустим, у пользователя есть нумерованный список станций метро Барселоны.
// Необходимо написать код, в котором будет реализован диалог с пользователем,
// а именно предложено ввести номер станции метро. После ввода номера станции
// надо показать на экран её название и время в пути. Если же станции с таким
//,номером нет, сообщить об этом и предложить ввести номер снова.
int num = 0;//номер станции метро
do{
if(num >= 1 || num <= 5)
cout <> num;
switch(num)
{
case 1 : cout << "\nСтанция метро ВОСТОК Время в пути 22 минуты \n";
break;
case 2 : cout << "\nСтанция метро СОВЕТСКАЯ Время в пути 19 минут\n";
break;
case 3 : cout << "\nСтанция метро ВОЛГА Время в пути 11 минут\n";
break;
case 4 : cout << "\nСтанция метро ЗВЕЗДА Время в пути 16минут\n";
break;
case 5 : cout << "\nСтанция метро ЛЕНИНСКАЯ Время в пути 9 минут\n";
break;
default : cout << "\nНет такого номера станции!\n";
}
if(num 5){
num = 0;//перезаписываем переменную для выхода
cout << "\nДля продолжения выбора станции нажмите 1\n";
cout <> num;}
cout <= 1 && num = 1 || num <= 5), стоит ||(или), то cout <= 1 && num <= 5);-(&&) – то не проходит! Подскажите!
повторяю :пришлось поправить предыдущий комментарий
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
// рассмотрим в решении такой задачи: Допустим, у пользователя есть нумерованный список станций метро Барселоны.
// Необходимо написать код, в котором будет реализован диалог с пользователем,
// а именно предложено ввести номер станции метро. После ввода номера станции
// надо показать на экран её название и время в пути. Если же станции с таким
//,номером нет, сообщить об этом и предложить ввести номер снова.
int num = 0;//номер станции метро
do{
if(num >= 1 || num <= 5)
cout <> num;
switch(num)
{
case 1 : cout << "\nСтанция метро ВОСТОК Время в пути 22 минуты \n";
break;
case 2 : cout << "\nСтанция метро СОВЕТСКАЯ Время в пути 19 минут\n";
break;
case 3 : cout << "\nСтанция метро ВОЛГА Время в пути 11 минут\n";
break;
case 4 : cout << "\nСтанция метро ЗВЕЗДА Время в пути 16минут\n";
break;
case 5 : cout << "\nСтанция метро ЛЕНИНСКАЯ Время в пути 9 минут\n";
break;
default : cout << "\nНет такого номера станции!\n";
}
if(num 5){
num = 0;//перезаписываем переменную для выхода
cout << "\nДля продолжения выбора станции нажмите 1\n";
cout <> num;}
cout <= 1 && num <= 5);
getch();
return 0;
}
в задаче 2 var инициируется перед циклом и имеет значение false. Если сработает блок default и var изменится на true цикл становится бесконечным