Ошибка в решении. Оператор switch case - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ввести день и месяц, вывести предыдущий день. Помогите ошибку найти в решении. Ругается на 10,16 строку и выдаёт в итоге неправильные результаты!
#include <stdio.h>
 
int main (void)
{
int d,m;
printf ("vvedite den' i mesec");
scanf("%d %d",&d,&m);
switch (m)
{
    case '5||7||10||12':
    d-=1;
    if(d==0)
    {m-=1;
    d=30;}
    break;
    case '1||8||2||4||6||9||11':
    d-=1;
    if(d==0)
    {m-=1;
    d=31;}
    if (m==0) m=12;
    break;
    case '3':
    d-=1;
    if(d==0)
    {m-=1;
    d=28;}
    break;
}
printf ("predidychii den': %d %d",d,m);
return 0;
}

Решение задачи: «Ошибка в решении. Оператор switch case»

textual
Листинг программы
case 5:
case 7:
case 10:
case 12:
   //код
  break;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5