
Помогите Написать алгоритм нахождения числа дней в месяце, если даны: Номер месяца n – целое число
иа, равное 1 для високосного года и равное 0 в противном случае. На с++ используя оператор выбора вот код ( но ошибку выдает)#include #include using namespace std;int main(){setlocale(LC_ALL,"Rus"); int n,a;n>0;n<=12;cout<<"Введите месяц "<cin>>n;cout<<"Введите высакосный год ";cin>>a;switch (a,n){case 0:{ if(n=1 && n=3 && n=5 && n=7 && n=8 && n=10 && n=12) {cout <<"31 день"< } else if (n=4 && n=6&& n=9 && n=11) {cout <<"30 дней"< } else (n=2){ cout<<"28 дней"; } break;}case 1:{ if(n=1 && n=3&& n=5 && n=7&& n=8&&n=10&& n=12) {cout <<"31 день"< } else (n=4 && n=6&& n=9 && n=11) {cout <<"30 дней"< } else (n=2){ cout<<"29 дней"; } break;}}return 0;}

Ответы на вопрос

Ответ:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
int n, a;
cout << "Введите месяц ";
cin >> n;
cout << "Введите высакосный год ";
cin >> a;
switch (a) {
case 0: {
if (n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 || n == 12) {
cout << "31 день";
}
else
if (n == 4 || n == 6 || n == 9 || n == 11) {
cout << "30 дней";
}
else {
cout << "28 дней";
}
break;
}
case 1:
{
if (n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 || n == 12) {
cout << "31 день";
}
else
if (n == 4 || n == 6 || n == 9 || n == 11) {
cout << "30 дней";
}
else {
cout << "29 дней";
}
break;
}
}
return 0;
}
Объяснение:



I see a few issues in your code. Let's go through them step by step and fix them:
Incorrect condition in
n > 0
andn <= 12
: The code seems to have a misunderstanding of how to use the conditions. Instead, we should check whethern
is greater than 0 and less than or equal to 12, like this:(n > 0 && n <= 12)
.Incorrect usage of
cin
: The code should use the>>
operator instead of>>
. Similarly,cout
should be used instead of<<
.Logical operator errors: The code uses
=
instead of==
to check for equality in theif
andelse if
statements. Additionally, there should be no condition in theelse
statements. We can simply useelse
.Comma operator misuse: The usage of the comma operator in the switch statement is incorrect. Instead of
(a,n)
, we should use justn
.
Here's the corrected C++ code for finding the number of days in a month:
cpp#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int n, a;
cout << "Введите месяц: ";
cin >> n;
cout << "Введите высокосный год: ";
cin >> a;
switch (n) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: {
cout << "31 день";
break;
}
case 4:
case 6:
case 9:
case 11: {
cout << "30 дней";
break;
}
case 2: {
if (a == 1) {
cout << "29 дней";
} else {
cout << "28 дней";
}
break;
}
default: {
cout << "Неправильный номер месяца";
break;
}
}
return 0;
}
With these corrections, the code should work as expected and give you the number of days in the specified month.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili