C++程序设计实践报告

上传人:新**** 文档编号:58098029 上传时间:2022-02-26 格式:DOCX 页数:27 大小:144.96KB
收藏 版权申诉 举报 下载
C++程序设计实践报告_第1页
第1页 / 共27页
C++程序设计实践报告_第2页
第2页 / 共27页
C++程序设计实践报告_第3页
第3页 / 共27页
资源描述:

《C++程序设计实践报告》由会员分享,可在线阅读,更多相关《C++程序设计实践报告(27页珍藏版)》请在装配图网上搜索。

1、C+银序设计实践报告中南大学C+课程设计设计报告学生姓名学号专业班级指导老师*2011年6月1、实验目的、内容32、题目一:比赛求平均分2.1 程序内容32.2 实验程序设计及结构323设计过程32.4 运行结果43、题目二:火柴游戏3.1 程序内容53.2 实验程序设计533设计过程53.4 运行结果64、题目三:足球比分4.1 设计内容64.2 设计方案75、设计的特点与心得7参考文献7附录题目一实验源代码8题目二实验源代码*10题目三实验源代码-121、实验目的、内容通过课程设计,能够熟练运用C+进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效

2、率,全面掌握面向对象编程技术.要求学生在指导老师的指导下,独立完成实习课题的全部内容,包括:(1) 通过调查研究和上机实习,收集和调查有关技术资料;(2) 掌握设计课题的基本步骤和方法;(3) 根据课题的要求进行上机实验调试.2、题目一:比赛求平均分2.1 程序内容在体育、文艺比赛及选举等打分类项目中,为了公平起见,往往n个评委打出分数后,要去掉一个最高分和一个最低分,然后求取平均得分。当n较大时(本题设为9),则应取掉两个最高分和两个最低分,然后求取平均分。编程实现该算法。2.2 实验程序设计及结构(1)需求分析:输入9个评委所打分数,程序运行最后结果为去掉最高分和最低分后的平均分(2)设计

3、结构:总体结构数据结构Hiniib山n$n-ri7riiIJ-矶0al曰口a3Ja4a5a6J胃矶同从a到a9依次为9位评委的打分.2.3 设计过程(1)建立iostream/ofstream/fstream、输入、输出、输入输出流对象,建立ifndef,define预编命令,STRUCT据.根据流程图,建立main函数,并运用for循环.(3)运行main函数进行调试.2.4 运行结果1 L皿Jb1M_J_k3、题目二:火柴游戏3.1 程序内容:23根火柴游戏:两个游戏者开始拥有23根火柴(或小棒)。每个游戏者轮流移走1根、2根或3根火柴,拿到最后一根火柴的就算输了。编一程序与计算机玩这个游

4、戏。3.2 实验程序设计(1)需求分析:运行程序能使人与计算机进行23根火柴游戏。设计思路:使计算机能最先使火柴变成4或4以下计算机就能赢了。3.3 设计过程(1)建立iostream/ofstream/fstream、输入、输出、输入输出流对象,建立ifndef,define预编命令,STRUCT据.(2)根据设计思路运用if判断语句设计(3)建立main函数(4)运行main函数调试3.4 运行结果,D: .iVicrcso Yisujt Studio c.CMyDrojecr&3Debugs.txF请玩家草取吠柴灰罡病掉了泳戏用j F国早三了,: 岂前还剃b根 iT火第D:Mkosoft

5、 ViLI Studio 凡0,Pro:ect55Dewq3e嘱氟蹦律惠取火柴,q - 阍嘤 m.三眼火柴4、题目三:足球比分4.1 设计内容:问题描述足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得。分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。基本要求设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进

6、球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。测试数据可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。4.2 设计方案:定义一个球队类和对象数组,每个球队均是球队类的对象。由于联赛中参赛队伍数目是固定的,因此将每个球队存放在对象数组的一个数组元素中。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢得场数,进球数等等)即可进行修改,比赛成绩录入完成,调用联

7、赛排序方法(对象数组作为参数,积分为排序元素)排出名次并输出。5、设计的特点与心得:经过一个学期的学习和上机实践,使我对C+吾言有了更认识和和了解,要想学好它要重在实践,要通过不断的上机操作才能更好的学习它,通过实践,我也发现我的好多不足之处,对各种控制结构及语句、数组的基本与高级应用、指针数组、字符数组、动态数组、函数的定义、调用方式;函数在编程中的具体应用;以及变量存储特征与标识符的作用域,通过实践,使我在这些方面有了认识和提高。课程设计它是一项任务,更是一种挑战和历练。在课程设计中,为了使用时方便,着重对不足方面的知识进行了分析与理解,在这一过程中对文件的操作有了很大的提高。通过实际的演

8、练,可以增强对知识的理解和运用能力。参考文献1、杨长兴、刘卫国,C+程序设计,中国铁道出版社,2008年附录题目一实验源代码:#include#includevoidmain()inta9,i,j,temp,b=0,s;cout请打分:endl;for(i=0;i9;i+)cinai;for(i=0;i9;i+)for(j=i;j9;j+)(if(ai=aU)(temp=ai;ai=aj;aj=temp;)for(i=2;i7;i+)(b=b+ai;)s=b/5;cout最后成绩为:s;)题目二实验源代码:#include#include#includeintgetMin(inta,intb)

9、returna=2)printf(2.两根火柴);if(count=3)printf(3.三根火柴);printf(n);while(true)2&count =std:cininput;if(input=1|(input2)|(input=3&count=3)break;elseprintf(请正确输入序号n);count-=input;if(count=0)printf(游戏结束,玩家输掉了游戏n);break;if(count%4=1)computerInputrand()%(getMin(count,3)+1;elsecomputerInput=(count%4=0)?3:count%

10、4-1;printf(电脑拿走了%d根火柴n,computerInput);count-=computerInput;if(count=0)printf(游戏结束,电脑输掉了游戏n);break;system(pause);题目三实验源代码:/程序需要先在d盘建立2个文本文档teams.txt,teamlist.txt,以保存球队信息和比分信息/#include#include#includeusingnamespacestd;classTeamprivate:intgoal;intcgoal;intpgoal;intwin;intlost;intequal;intscorce;public:

11、charname20;Team()goal=0;cgoal=0;pgoal=0;win=0;lost=0;equal=0;scorce=0;voidDisplay()coutnamegoalcgoalpgoalwinlostequalscorce0)this-goal+=a;if(acgoal-=a;pgoal=goal-cgoal;voidTeam:matchchg(inta,intb)if(ab)this-win+=1;this-scorce+=3;if(alost+=1;if(a=b)this-equal+=1;this-scorce+=1;voidTeam:match(Team&t)i

12、nta,b;couta;if(a0)coutwarningendl;exit(1);coutb;if(b0)coutwarninggoalchg(a);this-goalchg(0-b);t.goalchg(b);t.goalchg(0-a);this-matchchg(a,b);t.matchchg(b,a);voidTeam:setIm()coutthis-name;intTeam:getS()returnthis-scorce;intTeam:getPG()returnthis-pgoal;voidgetteamlist();fstreamteam(d:teams.txt,ios:in|

13、ios:out|ios:binary);voidmain()charname20;Teamt5;intt1,t2;charn;inti;if(!team)coutlostfileendl;exit(1);teamwhile(1)coutdoyouhavesettheIM?(Y)n;if(n=Y|n=y)break;for(inti=0;i=4;i+)ti.setIm();team.write(char*)&ti,sizeof(ti);break;team.seekg(0,ios:beg);for(i=0;i5;i+)team.read(char*)&ti,sizeof(ti);while(1)

14、coutisanymatchnow?(N)n;if(n=N|n=n)break;docoutname;for(i=0;i5;i+)if(strcmp(name,ti.name)=0)t1=i;break;elsecontinue;while(i=5);docoutname;for(i=0;i5;i+)if(strcmp(name,ti.name)=0)t2=i;break;elsecontinue;while(i=5);tt1.match(tt2);team.seekg(0,ios:beg);for(i=0;i5;i+)team.write(char*)&ti,sizeof(ti);gette

15、amlist();voidgetteamlist()Teamt15;Teamhao;fstreamgamelist(d:teamlist.txt,ios:in|ios:out|ios:binary);if(!gamelist)coutwrong!endl;exit(1);team.seekg(0,ios:beg);for(inti=0;i5;i+)team.read(char*)&t1i,sizeof(t1i);for(intj=0;j4;j+)for(inti=0;i4-j;i+)if(t1i.getS()t1i+1.getS()hao=t1i;t1i=t1i+1;t1i+1=hao;)if(t1i.getS()=t1i+1.getS()if(t1i.getPG()t1i+1.getPG()hao=t1i;t1i=t1i+1;t1i+1=hao;)cout球队进球数失球数净胜球胜负平积分endl;for(i=0;i5;i+)gamelist.write(char*)&t1i,sizeof(t1i);t1i.Display();)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!