@iamgrootyhuuu

Почему не работает часть программы?

Я недавно начала изучать С++ и еще не очень во всем разбираюсь, поэтому помогите понять как исправить программу, чтобы она работала.
Тема: оператор выбора
Задание: Ввести день, месяц и год, проверить правильность введенной даты и вывести дату
следующего дня.
#include <iostream>
#include <conio.h>
#include <cmath>

using namespace std;
int d, m, g, S;

int main()
{
setlocale(LC_ALL, "Russian_Russia.1251");

cout « "Введите дату"; cin » d, m, g;
if (g >= 1, g <= 12);
{
cout « "g=" « endl;

}

else
{
cout « "Такого года нет" « endl;
}
switch (d, m, g)
{
if (m >= 1, m <= 12)
{
cout « "m=" « endl;
}
else
{
cout « " Такого месяца нет" « endl;
}
if (d >= 1, d <= 31)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12 :

cout « "Правильно" « endl;
}
else {
cout « "Неправильно" « endl;
}
if (d >= 1, d <= 30)
{
case 4:
case 6:
case 9:
case 11:
cout « "Правильно" « endl;

}
else {
cout « "Неправильно" « endl;
}
if (d >= 1, d <= 28)
{
case 2:
cout « "Правильно" « endl;

}
else {
cout « "Неправильно" « endl;
}
S = (d + 1, m + 1, g + 1);
cout « "S=" « endl; cin » S;
}

return 0;
}
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 3
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Да у вас непонимание базового синтаксиса. Нельзя делать свитч по нескольким переменным сразу. Там у вас запятая - это оператор, котоый возвращает последний элемент. Также в ифах.
Ответ написан
@Homemade
Я бы заменил свич-ы на иф-ы. И отступы правильно нужно ставить, а то так тяжело читать.
Ответ написан
Aveal
@Aveal
Вкратце, в таком ключе:
if ((g >= 0) && (g <= 2021))
{
	cout « "year: ok" « endl;
}
else
{
	cout « "year: error" « endl;
}

if ((m >= 1) && (m <= 12))
{
	cout « "month: ok" « endl;
}
else
{
	cout « "month: error" « endl;
}

switch(m)
{
	case 1:
		cout « "january" « endl;
		break;
		
	case 2:
		cout « "february" « endl;
		break;
		
	// etc...
}

// to be continued...


А вообще рекомендую, например, Герберт Шилдт - "C++", точное название не помню.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы