В этой статье вы найдете задачи, которые помогут вам освоить основные навыки использования в своих программах оператора множественного выбора switch. Почитать об этом можно в статье Оператор switch в С++. Большая просьба – старайтесь сначала решить задачу самостоятельно и только потом либо подсмотреть (если решить так и не получилось), либо сравнить ваше решение с тем, что изложено здесь. Поехали!
1. Составить расписание на неделю. Пользователь вводит порядковый номер дня недели и у него на экране отображается, то, что запланировано на этот день.
2. Изменить код, который был рассмотрен в статье Оператор switch в С++, следующим образом: Пользователю для расчета времени в пути надо вводить не номера станций, а буквы (A,B,C,D,E). Необходимо предусмотреть ввод пользователем и маленьких, и больших букв (избавиться от регистрозависимости). То есть если введено или D, или d – должен сработать один и тот же case. Синтаксис для этого действия такой:
switch (выражение)
{
case ‘a’:
case ‘A’: //код
break;
и т.д. …………….
}
Еще одно задание можно посмотреть в этой статье. По всем вопросам оставляйте комментарии под статьей.
// Switch_1.cpp: главный файл проекта.
#include “stdafx.h”
#include “iostream”
#include “conio.h”
#include “time.h”
using namespace System;
using namespace std;
void mon()
{
system(“cls”);
cout<<"\n По расписанию самый тяжелый день…";getch();system("cls");
}
void tue()
{
system("cls");
cout<<"\n Сегодня уже лучше, но ещё многое стоит преодалеть.";getch();system("cls");
}
void wed()
{
system("cls");
cout<<"\n Так, заветная середина.";getch();system("cls");
}
void thu()
{
system("cls");
cout<<"\n Ура, Наконец-то уже завтра пятница!";getch();system("cls");
}
void fri()
{
system("cls");
cout<<"\n Просто без коментариев…";getch();system("cls");
}
void sat()
{
system("cls");
cout<<"\n Имея – не ценим, теряя – страдаем…\n Это я про выходные ;D";getch();system("cls");
}
void sun()
{
system("cls");
cout<<"\n Не уходи…Пожалуйста не сегодня…";getch();system("cls");
}
int main()
{
setlocale(LC_ALL, "russian");
srand(time(0));
int a;
bool u=0;
while(!u)
{
cout<<"\n\n\n 1. Понедельник 5. Пятница \n\n 2. Вторник 6. Суббота \n\n 3. Среда 7. Воскресенье \n\n 4. Четверг 8. Выход из программы \n\n ";
cout<>a;
switch(a)
{
case 1:system(“cls”);cout<<"\n\tПонедельник ";getch();mon();
break;
case 2:system("cls");cout<<"\n\tВторник ";getch();tue();
break;
case 3:system("cls");cout<<"\n\tСреда ";getch();wed();
break;
case 4:system("cls");cout<<"\n\tЧетверг ";getch();thu();
break;
case 5:system("cls");cout<<"\n\tПятница ";getch();fri();
break;
case 6:system("cls");cout<<"\n\tСуббота ";getch();sat();
break;
case 7:system("cls");cout<<"\n\tВоскресенье ";getch();sun();
break;
case 8:return 0;
break;
default:system("cls");cout<<"\n Вы ввели невозможное значение! Введите ещё раз.";
}
}
getch();
cout<<"\n\n\n";
return 0;
}
если вы знакомы хоть немного с функциями и рекурсией, то можно сделать так:
#include
using namespace std;
void k() {
char n;
cin >> n;
switch (n) {
case ‘a’:
case ‘A’:
cout << endl << "Станция метро Can Cuias :" << endl << "Время в пути – 38 мин." << endl;
break;
case 'b':
case 'B':
cout << endl << "Станция метро Ciutat Meridiana:" << endl << "Время в пути – 30 мин." << endl;
break;
case 'c':
case 'C':
cout << endl << "Станция метро Torre Baro Vallbona:" << endl << "Время в пути – 25 мин." << endl;
break;
case 'd':
case 'D':
cout << endl << "Станция метро Casa de l’Aigua:" << endl << "Время в пути – 19 мин." << endl;
break;
case 'e':
case 'E':
cout << endl << "Станция метро Trinitat Nova:" << endl << "Время в пути – 15 мин." << endl;
break;
default:
cout << endl << "Извините, но станции с такой определяющей буквой нет." << endl < “;
return k();
break;
}
}
int main() {
setlocale(LC_ALL, “Russian”);
cout < “;
k();
cout << endl;
system("PAUSE");
return 0;
}
как мне кажется, гораздо легче)
это вообще не правильно я считаю!
это вообще не правильно я считаю!
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
int answer = 0;
bool var = true;
cout << "Введи день недели, чтобы узначть что запланировано (от 1 до 7): "<> answer; // ввод значения
switch (answer)
{
case 1:
cout << "ПОНЕДЕЛЬНИК." << endl;
cout << "Отходим после выходных." << endl;
break;
case 2:
cout << "ВТОРНИК " << endl;
cout << "Подготовка к работе " << endl;
break;
case 3:
cout << "СРЕДА " << endl;
cout << "РАБОТАЕМ! " << endl;
break;
case 4:
cout << "ЧЕТВЕРГ " << endl;
cout << "Отдыхаем после работы. " << endl;
break;
case 5:
cout << "ПЯТНИЦА " << endl;
cout << "Подготовка к выходным. " << endl;
break;
case 6:
cout << "СУББОТА " << endl;
cout << "Генеральная репетиция выходного. " << endl;
break;
case 7:
cout << "ВОСКРЕСЕНЬЕ " << endl;
cout << "ВЫХОДНОЙ!!! " << endl;
break;
default:
cout << "Э-э-э… Дня недели с номером " << answer << " нет! ";
cout << "У тебя вчера был ВЫХОДНОЙ? " << endl;
cout << "Соберись! и Сделай-ка правильный выбор (от 1 до 7): ";
cout <= 1 && answer <= 7)
var = false;
} while (var);
cout << endl;
cout << endl;
cout << "Для особо одаренных напомню полное расписание на неделю:"<< endl;
cout << endl;
cout << "ПОНЕДЕЛЬНИК." << endl;
cout << "Отходим после выходных." << endl;
cout << endl;
cout << "ВТОРНИК " << endl;
cout << "Подготовка к работе " << endl;
cout << endl;
cout << "СРЕДА " << endl;
cout << "РАБОТАЕМ! " << endl;
cout << endl;
cout << "ЧЕТВЕРГ " << endl;
cout << "Отдыхаем после работы. " << endl;
cout << endl;
cout << "ПЯТНИЦА " << endl;
cout << "Подготовка к выходным. " << endl;
cout << endl;
cout << "СУББОТА " << endl;
cout << "Генеральная репетиция выходного. " << endl;
cout << endl;
cout << "ВОСКРЕСЕНЬЕ " << endl;
cout << "ВЫХОДНОЙ!!! " << endl;
cout << endl;
return 0;
}
/* У меня получилось так */
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
char answer = 0;
bool var = true;
cout <> answer;
switch (answer)
{
case ‘a’:
case ‘A’:
cout << "Станция метро Trinitat Nova: ";
cout << "Время в пути – 15 мин." << endl;
break;
case 'b':
case 'B':
cout << "Станция метро Casa de l’Aigua: ";
cout << "Время в пути – 19 мин." << endl;
break;
case 'c':
case 'C':
cout << "Станция метро Torre Baro Vallbona: ";
cout << "Время в пути – 25 мин." << endl;
break;
case 'd':
case 'D':
cout << "Станция метро Ciutat Meridiana: ";
cout << "Время в пути – 30 мин." << endl;
break;
case 'e':
case 'E':
cout << "Станция метро Can Cuias: ";
cout << "Время в пути – 38 мин." << endl;
break;
default: // если ни один case не сработал, сработает default
cout << "Станции под номером " << answer << " нет! ";
cout <= ‘a’ && answer = ‘A’ && answer <= 'E'))
var = false;
} while (var);
return 0;
}
#include
using namespace std;
int main()
{
setlocale(0, “”);
int day;
for(int i =0; i<999; i++){
cout<> day;
cout<<endl;
if(day!= 1 && day!=2 && day!=3 && day!=4 && day!=5 && day!=6 && day!=7){
cout<<endl;
cout<<"Ошибка"<<endl;
cout<<endl;
}
else{
switch(day){
case 1:
cout<<"Надо помыть пол"<<endl;
cout<<endl;
break;
case 2:
cout<<"Сходить в гости к бабушке"<<endl;
cout<<endl;
break;
case 3:
cout<<"Надо встретить Тома"<<endl;
cout<<endl;
break;
case 4:
cout<<"Сходить в спортзал"<<endl;
cout<<endl;
break;
case 5:
cout<<"Позвонить кредитору"<<endl;
cout<<endl;
break;
case 6:
cout<<"Помочь папе с машиной"<<endl;
cout<<endl;
break;
case 7:
cout<<"Приготовить семейный ужин"<<endl;
cout<<endl;
break;
}
}
}
return 0;
}
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
int answer = 0;
bool var2 = true;
bool var = true;
char aa2 = 0;
cout << "###################\n# Ваше расписание #\n###################\n\n";
do
{
var2 = true;
var = true;
do
{
cout <> answer;
switch (answer)
{
case 1:
cout << " Понеделиник. " << endl;
cout << " Планы. " << endl;
break;
case 2:
cout << " Вторник. " << endl;
cout << " Планы. " << endl;
break;
case 3:
cout << " Среда. " << endl;
cout << " Планы. " << endl;
break;
case 4:
cout << " Четверг " << endl;
cout << " Планы. " << endl;
break;
case 5:
cout << " Пятница. " << endl;
cout << " Планы. " << endl;
break;
case 6:
cout << " Суббота. " << endl;
cout << " Планы. " << endl;
break;
case 7:
cout << " Воскресенье. " << endl;
cout << " Планы. " << endl;
break;
default:
cout << "День под номером '" << answer << "' отсутствует." <=1 && answer<=7)
{
var = false;
}
} while (var);
cout <> aa2;
if (aa2 == ‘y’ || aa2 == ‘Y’)
{
var2 = true;
}
else
{
var2 = false;
}
} while (var2);
return 0;
}