1、 C+面向对象程序设计 课程设计 系 部 : 专 业 : 班 级 : 学 号 : 姓 名 : 指导老师 : 设计日期 : 1 目 录 一、设计课题2 二、设计要求2 三、设计过程2 四、程序流程图3 五、程序源代码4 六、运行结果13 七、本次设计的评价与收获16 八、参考文献16 2 一、设计课题设计课题 锤子剪刀布 二、设计要求二、设计要求 1、开发平台:VC+6.0 2、对设计内容的要求 源文件要采用多文件的工程结构,在源程序中必须使用类,输入输出要符合 C+语言的特性; 功能必须完善,程序代码要有相应的注释。 3,对设计说明书的要求 设计过程、流程图及源代码。 对本次设计的评价、此次设
2、计的收获与建议。 4、说明书为打印件 三、设计过程三、设计过程 本次试验主要参考了老师所给的资料,把流程图画出来,把程序分成若干个 功能块,没个功能块能实现不同的功能,各功能之间能够相互调用,功能块之间 的合理组合实现了整个游戏的功能。然后再定义各个功能块的作用,再根据作用 用 C+语言实现其功能,并编译与链接各功能块,各功能块编译与链接正确后再 把他们链接成一个工程。 本次试验中构造了一个 Game 类,将实现游戏的一些过程函数封装成类的函 数, 将在游戏中需要的变量变成 C+里面的数据成员, 然后分块将各个功能实现。 3 四、程序流程图四、程序流程图 4 五、程序源代码:五、程序源代码:
3、*类模块 head.h* #include using namespace std; enum c_h_scloth,hammer,scissors,game,helpp,instruction,quit; class Game public: Game(); enum c_h_s select(); enum c_h_s mach(); void instructions(); int won(enum c_h_s,enum c_h_s); void gamee(int,int,int); void help(); void solution(); private: int win; int
4、 lose; int tie; enum c_h_s player; 5 enum c_h_s machine; ; *成员函数定义模块 define.cpp* #include #include #include“head.h“ using namespace std; Game :Game() win=0; lose=0; tie=0; void Game:instructions() coutendl; cout“ “*剪刀 锤子 布*“endl; cout“在这个游戏中“endl; cout“c 表示布“endl; cout“h 表示锤子“endl; cout“s 表示剪刀“endl;
5、 cout“游戏者和记起都只能选择 c,h,s 中的一个,如果二者的选择 6 相同“endl; cout“那么这一局就是平局。此外:“endl; cout“布包锤子“(布获胜)。“endl; cout“锤子打烂剪刀“(锤子获胜)。“endl; cout“剪刀剪布“(剪刀获胜)。“endl; coutendl; cout“还有其它的选择是:“endl; cout“g 表示游戏的结果(至今获胜次数)“endl; cout“p 可获得帮助“endl; cout“i 可获得游戏方法的指导信息“endl; cout“q 表示退出游戏。“endl; cout“这个游戏一直重复到游戏者选择 q 为止。“endl; cout“祝你好运!“endl; /游戏结束 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); 7 switch(c) case c: p=cloth; break; case h: p=hammer; break