using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int dayNumber; // будет хранить выбор пользователя
cout << "Введите день недели (1, 2, 3...): ";
cin >> dayNumber; // ввод значения
switch (dayNumber)
{
case 1:
cout << "Понедельник: \n8:00 Работа \n19:00 Тренировка \n";
break;
case 2:
cout << "Вторник: \n8:00 Работа \n";
break;
case 3:
cout << "Среда: \n8:00 Работа \n19:00 Бассейн \n";
break;
case 4:
cout << "Четверг: \n8:00 Работа \n20:00 ДР Бабушки \n";
break;
case 5:
cout << "Пятница: \n8:00 Работа \n17:00 Тренировка \n";
break;
case 6:
cout << "Суббота: \nПикник \n";
break;
case 7:
cout << "Воскресенье: \nЧто угодно \n";
break;
default:
cout << "Нет такого дня недели ))" << endl;
}
return 0;
}
Посмотреть код
2. Изменить код, который был рассмотрен в статье Оператор switch в С++, следующим образом: Пользователю для расчета времени в пути надо вводить не номера станций, а буквы (A,B,C,D,E). Необходимо предусмотреть ввод пользователем и маленьких, и больших букв (избавиться от регистрозависимости). То есть если введено или D, или d – должен сработать один и тот же case. Синтаксис для этого действия такой:
switch (выражение)
{
case ‘a’:
case ‘A’: //код
break;
и т.д. …………….
}
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
char answer; // будет хранить выбор пользователя
bool var = true; // управляющая переменная цикла do while
cout << "Введите букву из перечня, для расчета времени в пути (A,B,C,D,E): ";
do{
var = false; // для выхода из цикла, если не сработает default
// т.е. если найдется подходящий case
cin >> answer; // ввод значения
switch (answer) // switch принимает символ answer и ищет подходящий case
{
case 'a':
case 'A': // если answer содержит а или А
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,B,C,D,E): ";
var = true; // снова присвоим true, чтобы цикл повторил работу
}
} while (var); // цикл повторяется, пока var будет true
// то есть, пока пользователь не введет
// корректное значение и следовательно
// блок default не сработает
return 0;
}
Задачи: Цикл for в С++
Раз вы приступаете к задачам, значит уже знаете что такое цикл for. Рассмотрим несколько задач, в решении которых он применяется и, тем самым, закрепим полученные знания. Практика программирования – самый лучший способ разобраться с материалом и запомнить информацию надолго.
Написать программу, которая будет показывать на экран квадрат числа, введенного пользователем. Пользователь должен сам решать – выйти из программы или продолжить ввод. (Подсказка – необходимо запустить бесконечный цикл, в котором предусмотреть его прерывание, при наступлении определённого условия).
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int digit = 0; // число для расчета
char exit = 'y'; // для выхода или продолжения
for (;;)
{
cout << "Введите число: ";
cin >> digit;
cout << "Квадрат " << digit << " = " << digit * digit;
cout << "\nПродолжить ввод чисел - Y, Выйти - N: ";
cin >> exit; // выбор пользователя
if (exit != 'y' && exit != 'Y')
break; // прервать цикл
}
return 0;
}
Показать код
В спортзал ежедневно приходит какое-то количество посетителей. Необходимо предложить пользователю ввести такие данные: сколько человек посетило спортзал за день, ввести возраст каждого посетителя и в итоге показать возраст самого старшего и самого молодого из них, а так же посчитать средний возраст посетителей.
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int age = 0; // будет вводить пользователь
int maxAge = 0; // для записи максимального количества лет
int minAge = 100; // для записи минимального количества лет
int sum = 0; // общая сумма для расчета среднего
int average = 0; // для записи среднего возраста посетителей
int amount = 0; // количество посетителей спортзала
cout << "Введите количество посетителей спортзала: ";
cin >> amount;
for (int i = 0; i < amount; i++)
{
cout << "Введите возраст " << i + 1 << "-го посетителя: "; // запрос на введение числа
cin >> age;
if (age > maxAge) // если оно больше, чем хранит переменная max
maxAge = age; // записываем в неё это число
if (age < minAge)
minAge = age;
sum += age; // накопление общей суммы
}
average = sum / amount; // подсчет среднего возраста
cout << "\nСредний возраст всех посетителей: " << average << endl;
cout << "\nСамый взрослый: " << maxAge << endl;
cout << "\nСамый молодой: " << minAge << endl;
return 0;
}
Показать код
Для самостоятельно задания, предлагаем вам решить похожую задачу. Организовать ввод количества посетителей спортзала и количества часов проведенных каждым из них в спортзале. В итоге посчитать и показать общую сумму, которую посетители заплатили за тренировки.
3. На складе имеется определённое количество ящиков с яблоками (в нашем примере 15). Когда подъезжает машина для погрузки, попросить пользователя ввести, сколько ящиков загрузить в первую машину, во вторую и так далее, пока не закончатся ящики с яблоками. Предусмотреть тот случай, когда пользователь введёт количество ящиков больше, чем есть на складе.
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int boxWithApples = 15; // количество ящиков на складе
int amountBoxesForSale = 0; // количество отгружаемых ящиков
cout << "Сейчас на складе " << boxWithApples << " ящиков с яблоками.\n\n";
for (int i = 1; ; i++) // счетчик i будет считать количество машин к погрузке
{
cout << "Сколько ящиков загрузить в " << i << "-ю машину? ";
cin >> amountBoxesForSale;
if (amountBoxesForSale > boxWithApples)
{
cout << "\nНа складе недостаточно товара!";
cout << "Осталось только " << boxWithApples << " ящиков\n\n";
i--; // уменьшить счетчик на единицу
}
else
{
boxWithApples -= amountBoxesForSale; // перезаписываем значение
cout << "Осталось " << boxWithApples << " ящиков.\n";
}
if (boxWithApples == 0)// если ящиков больше нет - выйти из цикла
{
cout << "Яблоки закончились! Давай до свидания!\n";
break;
}
}
return 0;
}
Показать код
При возникновении вопросов обращайтесь к нам в комментариях.