c++程序设计——实验4

来源:互联网 发布:侠客风云传前传 mac 编辑:程序博客网 时间:2024/06/05 02:26

1.模拟二人猜拳游戏:剪刀石头布。

要求:(1)给出选项菜单如下

**********新一局************

1.出剪子

2.出石头

3.出布

*******************************

请输入选择的数字:

             根据两个用户输入给出猜拳“战况”。

#include <iostream>using namespace std;void check(int x){switch(x){case 1:cout << "出剪子" << endl;break;case 2:cout << "出石头" << endl;break;case 3:cout << "出布"<< endl;break;default:cout << "错误:只能从1,2,3中选择!" << endl;}}int main(){int a = 0,b= 0,c=3;cout << "************新一局************" << endl;cout << "           1.出剪子           " << endl;cout << "           2.出石头           " << endl;cout << "           3.出布             " << endl;cout << "******************************" << endl << endl;cout << "           开始比赛           " << endl;cout << "//////////////////////////////" << endl;while (1){cout << "请输入选择的数字" << endl;cout << "甲方选择:";cin >> a;check(a);cout << "乙方选择:";cin >> b;check(b);cout << "结果:";/*  方法一:为每一种情况做出判断,比较麻烦 */// if (a == b)// {// cout << "甲乙双方平局!" << endl;// }// else// {// if (a == 1)// {// if (b == 2)cout << "乙方获胜!" << endl;// else cout << "甲方获胜!" << endl;// }// else if (a == 2)// {// if (b == 1)cout << "甲方获胜!" << endl;// else cout << "乙方获胜!" << endl;// }// else// {// if (b == 1)cout << "乙方获胜!" << endl;// else cout << "甲方获胜!" << endl;// }// // // }/*  方法二:同上 */// switch( a )// {// case 1:// switch( b )// {// case 1:cout << "双方平局。"<< endl;break;// case 2:cout << "乙方胜。" << endl;break;// case 3:cout << "甲方胜。" << endl;break;// default:cout << "error!" << endl;// }// case 2:// switch( b )// {// case 1:cout << "甲方胜。"  << endl;break;// case 2:cout << "双方平局。" << endl;break;// case 3:cout << "乙方胜。" << endl;break;// default:cout << "error!" << endl;// }// case 3:// switch( b )// {// case 1:cout << "乙方胜。" << endl;break;// case 2:cout << "甲方胜。" << endl;break;// case 3:cout << "双方平局。" << endl;break;// default:cout << "error!" << endl;// }// default:cout << "error!" << endl;// }/*  方法三:比较简单 */c = b-a;if ( (c<0) || (c>2) ){cout << "error!" << endl;}else if (!c)cout << "甲乙双方平局!" << endl;else if ( c==2 || c==-1 )cout << "甲方获胜!" << endl;elsecout << "乙方获胜!" << endl;cout <<"继续!进入下一轮。" << endl << endl << "//////////////////////////////" << endl;}return 0;}

2.键盘输入一个数,判定:能不能被3、5和7整除,并如果失败输出失败的具体原因。

#include <iostream>using namespace std;int main(){int i;while(1){cout << "请输入一个数:" << endl;cin >> i;if ( i%3 == 0 ){if ( i%5 == 0){if ( i%7 == 0){cout << i << "能被3、5、7整除。" << endl;}else cout << i << "只能被3、5整除。" << endl;}else{if ( i%7 == 0){cout << i << "能被3、7整除。" << endl;}else cout << i << "只能被3整除。" << endl;}}else{if ( i%5 == 0){if ( i%7 == 0){cout << i << "能被5、7整除。" << endl;}else cout << i << "只能被5整除。" << endl;}else{if ( i%7 == 0){cout << i << "能被7整除。" << endl;}else cout << i << "不能被3、5、7整除。" << endl;}}}return 0;}

3. 输入某年某月某日,判断这一天是这一年的第几天。

#include <iostream>using namespace std;  //方法1:利用switch的方式int main(){int year = 0,month = 0,day = 0;int cnt = 0;//记录第几天,对应英文单词:count(不能直接用,因为是关键字)cout << "请输入年:";cin >> year;while( year <= 0 ){cout << "请重新输入年:";cin >> year;}cout << "请输入月:";cin >> month;while( ( month < 1 ) || ( month > 12) ){cout << "请重新输入月:";cin >> month;}cout << "请输入日:";cin >> day;while( ( day < 1 ) || ( day > 31 ) ){cout << "请重新输入日:";cin >> day;}switch (month){case 12:cnt += 30;case 11:cnt += 31;case 10:cnt += 30;case  9:cnt += 31;case  8:cnt += 31;case  7:cnt += 30;case  6:cnt += 31;case  5:cnt += 30;case  4:cnt += 31;case  3:if ( (year%4==0 && year%100!=0) || (year%400==0) ){cnt += 29;}elsecnt += 28;case  2:cnt += 31;case  1:cnt += day;break;default:cout << "error!" << endl;}cout << year << "年" << month << "月" << day << "日是这一年的第" <<cnt << "天" << endl;return 0;}// //方法2:利用数组的方式// int main()// {// int m[12]={31,28,31,30,31,30,30,31,30,31,30,31};// int year = 0,month = 0,day = 0;// int cnt = 0;//记录第几天,对应英文单词:count(不能直接用,因为是关键字)// cout << "请输入年:";// cin >> year;// while( year <= 0 )// {// cout << "请重新输入年:";// cin >> year;// }// cout << "请输入月:";// cin >> month;// while( ( month < 1 ) || ( month > 12) )// {// cout << "请重新输入月:";// cin >> month;// }// cout << "请输入日:";// cin >> day;// while( ( day < 1 ) || ( day > 31 ) )// {// cout << "请重新输入日:";// cin >> day;// }// // 判断闫年// if ( (year%4==0 && year%100!=0) || (year%400==0) )// {// m[1] = 29;// }// else// {// for (int i=0;i<month;++i)//注意取值范围// {// n += m[i];// }// n += day;// }// cout << year << "年" << month << "月" << day << "日是这一年的第" <<// n << "天" << endl;// return 0;// }


0 0