Другие языки программирования и технологии

Задание по оператору выбора C++

Дан номер месяца (1 – январь, 2 – февраль, ..). Вывести число дней в этом месяце для невисокосного года (т. е. в феврале 28 дней)
Giorgi Quparashvili
Giorgi Quparashvili
100
#include <iostream>
using namespace std;
int main() {
cout << ">>> ";
unsigned n, m;
cin >> n;
switch (n) {
case 1: m = 31; break;
case 2: m = 28; break;
case 3: m = 31; break;
case 4: m = 30; break;
case 5: m = 31; break;
case 6: m = 30; break;
case 7: m = 31; break;
case 8: m = 31; break;
case 9: m = 30; break;
case 10: m = 31; break;
case 11: m = 30; break;
case 12: m = 31; break;
default: m = 0; break;
}
if (m) cout << "<<< " << m;
else cout << "\aError!";
cout.put('\n');
system("pause");
}
Олег Чегиринский
Олег Чегиринский
71 723
Лучший ответ
Giorgi Quparashvili Cпасибо :) И если не сложно, то вот еще задание на развилку $$ 3 : y = \begin{cases} 2x, & x > 4.5 \ 1 - ln|1 - x^2|, & 0 <= x <= 4.5 \ e^{-x}, & x < 0 \end{cases} $$
#include < iostream>
#include < ctime>
#include < string>
int main()
{

int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
std::string months[] = {"январе","феврале","марте","апреле",
"мае","июне","июле","августе",
"сентябре","октябре","ноябре","декабре"};
time_t time;
std::time(&time);

int month=localtime(&time)->tm_mon ; // 0..11

std::cout << "В " << months[month ] << " " << days[month] << " дней\n";
std::string smonths;
// или чере оператор выбора
switch (month) {
case 0: smonths = "январе"; break;
case 1: smonths = "феврале"; break;
case 2: smonths = "марте"; break;
case 3: smonths = "апреле"; break;
// и так далее
default: smonths = "прочем месяце"; break; // убрать

}
std::cout << "В " << smonths << " " << days[month] << " дней";
}
NF
Nikita Fetisov
25 445
Giorgi Quparashvili Cпасибо :) И если не сложно, то вот еще задание на развилку $$ 3 : y = \begin{cases} 2x, & x > 4.5 \ 1 - ln|1 - x^2|, & 0 <= x <= 4.5 \ e^{-x}, & x < 0 \end{cases} $$
Giorgi Quparashvili выдает ошибку