Оператор switch

Задача 6. Решение:

#include<iostream>
using namespace std;
int main()
{
   char s;
   cin>>s;
   switch(s)
   {
    case '0':cout<<"нула"; break;
    case '1':cout<<"едно"; break;
    case '2':cout<<"две"; break;
    case '3':cout<<"три"; break;
    case '4':cout<<"четири"; break;
    case '5':cout<<"пет"; break;
    case '6':cout<<"шест"; break;
    case '7':cout<<"седем"; break;
    case '8':cout<<"осем"; break;
    case '9':cout<<"девет"; break;
    default :cout<<"не сте въвели цифра";
   }
   return 0;
}

Задача 7. Решение:

#include<iostream>
using namespace std;
int main()
{
   unsigned int k;
   cin>>k;
   switch(k)
   {
    case 1   :cout<<'I'<<endl; break;
    case 5   :cout<<'V'<<endl; break;
    case 10  :cout<<'X'<<endl; break;
    case 50  :cout<<'L'<<endl; break;
    case 100 :cout<<'C'<<endl; break;
    case 500 :cout<<'D'<<endl; break;
    case 1000:cout<<'M'<<endl; break;
    default  :cout<<"няма такава римска цифра";
   }
   return 0;
}

Задача 8. Когато месецът е февруари, трябва да се направи проверка дали годината е високосна. Една година е високосна, когато тя се дели на 4 без остатък. Специално правило се прилага, когато последните две цифри на годината са нули. Тогава допълнителното условие годината да е високосна е да се дели на 400 без остатък. Това се изразява чрез следното съставно логическо условие:

(((year%4==0)&&(year%100!=0))||(year%400==0))

Решение:

#include<iostream>
using namespace std;
int main()  
{
   unsigned int month,year;
   cin>>month>>year;
   switch(month)
   {
      case 2  :if((year%4==0&&year%100!=0)||(year%400==0))
                   cout<<29<<endl;
               else cout<<28<<endl; break;
      case 1  :
      case 3  :
      case 5  :
      case 7  :
      case 8  :
      case 10 :
      case 12 :cout<<31<<endl; break;
      case 4  :
      case 6  :
      case 9  :
      case 11 :cout<<30<<endl; break;
      default :cout<<"няма такъв месец";
   }
return 0;
}

Задача 9.

#include<iostream>
using namespace std;
int main()
{
  unsigned int day,month,year;
  cin>>day>>month>>year;
  switch(month)
  {
    case 2  : if(day<28) day++;
             else
             {
              if((day==28&&year%4==0&&year%100!=0)||(year%400==0))
              day++;
              else {day=1;month++;}
             }break;
    case 1  :
    case 3  :
    case 5  :
    case 7  :
    case 8  :
    case 10 : if(day<31)day++;
             else {day=1;month++;} break;
    case 12 : if(day<31)day++;
             else {day=1;month=1;year++;} break;
    case 4  :
    case 6  :
    case 9  :
    case 11 : if(day<30)day++;
             else {day=1;month++;} break;
  }
  cout<<day<<" "<<month<<" "<<year<<endl;
  return 0;
}