第26课 王宅六味--switch语句的应用
第26课 王宅六味--switch语句的应用
例程:
给“王宅六味”按1~6编号,试编一个菜名查询程序,输入编号输出菜名。
代码如下:
1 /* 2 例程: 3 给“王宅六味”按1~6编号,试编一个菜名查询程序,输入编号输出菜名。 4 */ 5 #include <iostream> //包含输入输出流头文件iostream 6 #include <ctime> //需要调用time()函数 7 #include <cstdlib> //需要调用srand()和rand()函数 8 using namespace std; //指明程序 使用命名空间std(标准) 9 int main() 10 { 11 int n; 12 cout<<"请输入编号:"; 13 cin>>n; 14 switch(n) 15 { 16 case 1: 17 cout<<"寿仙姑"<<endl; break; 18 case 2: 19 cout<<"酒糟芋"<<endl; break; 20 case 3: 21 cout<<"下山笋"<<endl; break; 22 case 4: 23 cout<<"太师豆腐"<<endl; break; 24 case 5: 25 cout<<"孝子鱼"<<endl; break; 26 case 6: 27 cout<<"猪全福"<<endl; break; 28 default: 29 cout<<"无此编号的菜"<<endl; break; 30 } 31 return 0; 32 }
动动脑:
2、阅读程序写结果
注:输入年月日,自动计算出是一年中的第几天。
1 /* 2 2、阅读程序写结果 3 */ 4 #include <iostream> //包含输入输出流头文件iostream 5 #include <ctime> //需要调用time()函数 6 #include <cstdlib> //需要调用srand()和rand()函数 7 using namespace std; //指明程序 使用命名空间std(标准) 8 int main() 9 { 10 int day,month,year,sum,leap; 11 cin>>year>>month>>day; 12 switch(month) 13 { 14 case 1: 15 sum=0; break; 16 case 2: 17 sum=31; break; 18 case 3: 19 sum=59; break; 20 case 4: 21 sum=90; break; 22 case 5: 23 sum=120; break; 24 case 6: 25 sum=151; break; 26 case 7: 27 sum=181; break; 28 case 8: 29 sum=212; break; 30 case 9: 31 sum=243; break; 32 case 10: 33 sum=273; break; 34 case 11: 35 sum=304; break; 36 case 12: 37 sum=334; break; 38 default: 39 cout<<"输入有误!"; break; 40 } 41 sum+=day; 42 //判断是否为闰年 43 if (year%4==0 || (year%4==0 && year%100!=0)) 44 leap=1; 45 else 46 leap=0; 47 //是闰年,且月数大于2;天数加1. 48 if (leap==1 && month>2) 49 sum++; 50 cout<<sum<<endl; 51 return 0; 52 }
3、完善程序。
简单的计算器,输入两个数和一个四则运算符,输出其计算结果。
1 /* 2 3、完善程序。 3 简单的计算器,输入两个数和一个四则运算符,输出其计算结果。 4 */ 5 #include <iostream> //包含输入输出流头文件iostream 6 #include <ctime> //需要调用time()函数 7 #include <cstdlib> //需要调用srand()和rand()函数 8 using namespace std; //指明程序 使用命名空间std(标准) 9 int main() 10 { 11 float x,y,ans; 12 char f; 13 cout<<"请输入两个数:"; 14 cin>>x>>y; 15 cout<<"请输入一个运算符:"; 16 cin>>f; 17 ans=0; 18 switch(f) 19 { 20 case '+': 21 ans=x+y; break; 22 case '-': 23 ans=x-y; break; 24 case '*': 25 ans=x*y; break; 26 case '/': 27 { 28 if (y!=0) 29 ans=x/y; 30 else 31 { 32 cout<<"除数不能为0"<<endl; 33 break; 34 } 35 } 36 } 37 if (f!='/' || y!=0) 38 cout<<ans<<endl; 39 return 0; 40 }
小学生C++