c++: case语句大问题!

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:53:51
利用 switch 语句编写程序,通过键盘输入年份(数字),
而键盘所输入的月份是字符串,如 JAN,FEB 等,如
何打印出该月份的天数?
楼下的好强大啊!不过我也有一个:
#include <iostream>
using namespace std;
int main()
{
int year,day;
char month[100];
cout<<"enter the year(with number):";
cin>>year;
cout<<"enter the month(with string,like JAN,FEB):";
for(int i=0;i<=2;i++)
cin>>month[i];
switch(month[0])
{
case 'O':
case 'D':
case 'M':
day=31;break;
case 'S':
case 'N':
day=30;break;
case 'F':
if(year%4==0 && year%100!=0 || year%400==0)
day=29;
else
day=28;
break;
case'J':
switch(month[1])
{
case'A':
day=31;break;
case'U':
switch(month[2])
{
case'N':

#include<iostream>

using namespace std;

int main(int agrc,char* agrv[])
{
enum Monthday{JAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC};
enum Monthday monthday=JAN;

int year=0,day=31;
cout<<"enter the year(with number):";
cin>>year;
cout<<"enter the month(with string,like JAN,FEB):";

char* month=new char[4];
cin>>month;

if(!strcmp(month,"JAN"))
monthday=JAN;
else if(!strcmp(month,"FEB"))
monthday=FEB;
else if(!strcmp(month,"MAR"))
monthday=MAR;
else if(!strcmp(month,"APR"))
monthday=APR;
else if(!strcmp(month,"MAY"))
monthday=MAY;
else if(!strcmp(month,"JUN"))
monthday=JUN;
else if(!strcmp(month,"JUL"))
monthday=JUL;
else if(!strcmp(month,"AUG"))
monthday=AU