1、1 计算机科学与技术学院计算机科学与技术学院 C+C+高级语言程序设计课程设计高级语言程序设计课程设计 报告报告 (2016/2017 学年 第一学期) 学生姓名:学生姓名: 学生班级:学生班级: 软件工程 学生学号:学生学号: 指导教师指导教师: 2016 年 12 月 20 日 2 课程设计任务书课程设计任务书 课程设计名称 C+高级语言程序设计课程设计高级语言程序设计课程设计 课程设计题目 剪刀石头布 学生姓名 专业班级 学号 课程设计任务内容课程设计任务内容 问题描述 基本要求 (1) 实现人机对战的功能, (2)可以记录比赛次数 ,输赢的次数 测试要求 (1) (2) 指导教师: 时
2、 间: 年 月 日 3 目目 录录 (1)设计问题描述与需求分析 待定 (2)数据结构与算法设计 4 (3)程序设计编码与测试 5 (4)设计过程总结与体会 13 4 5 程序源代码程序源代码: #include using namespace std; enum c_h_scloth,hammer,scissors,game,help,instructions,quit; class Game /构造类 public: Game(); enum c_h_s select(); enum c_h_s mach(); void instruct(); int won(enum c_h_s,enu
3、m c_h_s); void gamee(int,int,int); void helpp(); void solution(); private: int win; int lose; int tie; enum c_h_s player; enum c_h_s machine; ; 6 *成员函数定义模块 define.cpp* #include using namespace std; Game:Game() /初始化数据成员 win=0; lose=0; tie=0; void Game:instruct() coutendl; cout“ “* 剪刀 锤子 布 * “endl; co
4、ut“在这个游戏中“endl; cout“c 表示布“endl; cout“h 表示锤子“endl; cout“s 表示剪刀.“endl; cout“游戏者和机器都只选择 c,h,s 中的一个.如果二者的选择相 同“endl; cout“那么这一局就是平局.此外:“endl; cout“布包锤子“(布获胜).“endl; cout“锤子打烂剪刀“(锤子获胜).“endl; cout“剪刀剪布“(剪刀获胜).“endl; coutendl; cout“还有其它的选择是:“endl; cout“g 表示游戏的结果(至今获胜的次数)“endl; cout“p 可获得帮助“endl; cout“i 可
5、获得游戏方法的指导信息“endl; cout“q 表示退出游戏.“endl; cout“这个游戏一直重复到游戏者选择 q 为止.“endl; cout“祝你好运!“endl; /游戏结束 7 enum c_h_s Game:select() char c; enum c_h_s p; coutendl; cout“ 请选择 c,h,或 s:“;/提示用户输入字符 while(c=getchar()= |c=n|c=t); switch(c) case c: p=cloth; break; case h: p=hammer; break; case s: p=scissors; break; c
6、ase g: p=game; break; case i: p=instructions; break; case q: p=quit; break; default: p=help; break; return(p); enum c_h_s Game:mach() static int i; i=+i%3; return(i=0)?cloth:(i=1)?hammer:scissors); 8 void Game:gamee(int win,int lose,int tie) coutendl; cout“ 游戏结果如下:“; coutendl; cout.width(7); cout“ 你获胜