logo资料库

c++课程设计.doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
JINGCHU UNIVERSITY OF TECHNOLOGY 课程设计报告 学 院:计算机工程学院 班 级:09 级计算机科学与技术 1 班 学生姓名: 学 号: 2009404010126 设计地点(单位): A5-101 设 计 题 目: 足球联赛积分 完成日期:2011 年 12 月 20 日 指导教师评语: ____________ __ ________________________________________________________________________ ______________________________________________________________________ 成绩(五级记分制):_____ _ __________ 教 师 签 名:__________ ________
目 录 一、课程设计目的……………………………………………3 二、课程设计内容……………………………………………3 三、课程设计任务与要求……………………………………3 四、课程设计方案提示………………………………………4 五、课程设计源代码…………………………………………4 六、课程设计结果分析………………………………………8 七、课程设计心得与体会……………………………………8 八、参考文献…………………………………………………9 - 2 -
一.课程设计目的 《C++面向对象程序设计》是计算机专业中一门重要的专业课。这次课程设计的 目的是以程序设计语言为基础,通过完成一些程序设计,运用所学理论知识掌握 面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相 结合。从而提高自我分析问题、解决问题的能力。通过课程设计,我们应该得到 了一些有利锻炼: 1.进一步加深我们对所学知识的理解、分析以及运用的灵活性。全面提高我 们的综合能力,解决问题的能力。 2.理论与实际相互交涉,既检验了对理论的掌握又检验了理论与实际相结合 使用的能力。这不仅可以使我们充分理解理论,还可以提高我们的思考能力。 3.掌握类与对象的知识,熟练使用数组。 4.掌握面向对象程序的设计方法。 5.进一步掌握编写、调试、运行各种能力的综合运用。 二.课程设计内容 足球联赛采用主客场双循环赛制,胜一场得 3 分,平局各得 1 分,负一场得 0 分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进 球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同, 则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列, 本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。 三.课程设计任务与要求 基本要求:设积分表结构如下:队名(不超过 15 个字符),已比赛的场数, 赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件 中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用 代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改 - 3 -
各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。 实现提示:定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛 的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入 两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数, 负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用 联赛排序方法(对象数组作为参数)排出名次并输出。 选做内容:篮球联赛(如 NBA)往往采用胜率来决定名次,胜率就是取胜的 场数比赛场数之比。若胜率相同,再由净胜球及进球数来决定名次,通过继承性 完成上述要求。 四.课程设计方案提示 实现提示:定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛 的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入 两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数, 负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用 联赛排序方法(对象数组作为参数)排出名次并输出。 五.课程设计源代码 #include #include #define TEAMCOUNT 4 using namespace std; class team //定义一个球队类 { public: team():paly_amount(0), win_amount(0), tie_amount(0), lose_amount(0), in_amount(0), out_amount(0), accumulate_points(0) { - 4 -
cout<<"Input the name of the "<<++team_count<< " team:"<>team_name; } team(int){} void change(int mine, int opponent); friend void input_score(); friend void sort(); friend void display(); private: string team_name; //队名 int paly_amount; //比赛场数 int win_amount; //赢的场数 int tie_amount; //平的场数 int lose_amount; //输的场数 int in_amount; //进球数 int out_amount; //失球数 int accumulate_points; //总积分 static int team_count; //球队数 }; { { int team::team_count = 0; team tm[TEAMCOUNT]; //球队数组 void team::change(int mine, int opponent) paly_amount++; in_amount+=mine; lose_amount+=opponent; if(mine > opponent) win_amount++; accumulate_points+=3; - 5 -
} { } else if(mine < opponent) lose_amount++; else { } } tie_amount++; accumulate_points+=1; void input_score() { string home_team, away_team; int home_score, away_score; int i, j; for(i = 0; i < TEAMCOUNT/2; i++) { cout<<"Input the name of home/away team and the score of home/away team:"<>home_team>>away_team>>home_score>>away_score; for(j = 0; j < TEAMCOUNT; j++) { if(tm[j].team_name == home_team) tm[j].change(home_score, away_score); if(tm[j].team_name == away_team) tm[j].change(away_score, home_score); - 6 -
} } } void sort() { int i, j, k; team temp(1); for(i = 0; i < TEAMCOUNT; i++) { k = i; for(j = i+1; j < TEAMCOUNT; j++) if(tm[k].accumulate_points < tm[j].accumulate_points) k = j; if(k!=i) { temp = tm[i]; tm[i] = tm[k]; tm[k] = temp; } } } void display() { int i; for(i = 0; i < TEAMCOUNT; i++) cout<<" 第"<
void main() { int i; for(i = 0; i < TEAMCOUNT-1; i++) { input_score(); sort(); display(); } } 六.课程设计结果分析 胜一场得 3 分,平局各得 1 分,负一场得 0 分,联赛排名以积分多者在前, 当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前, 若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次。 七.课程设计心得与体会 在接近俩周的课程设计中,学会了很多,收获了很多,也明白了很多。在老 师和同学的帮助下,通过自己的努力终于成功的完成了这次的课程设计。从刚开 始的理解程序到后来的调试编程,面对各种各样的困难与挫折。但我坚信,只要 不放弃我一定会成功的。看到它成功运行后,感觉很是有成就感,通过这次的课 程设计让我对 C++的理论有了更加深入的了解,同时发现书本上的知识与实际存 在着差异。书本知识就是理论后的结论,它忽略了很多对于我们来说更直接更具 有实用性的东西。也许如大家所明白的书中自有黄金屋书中自有颜如玉一样,我 并不否认书中给予的知识,但我更想说,书本重要但远不如实际重要。即使你在 怎么懂得理论,对它理解多么独特、深刻,如果不能与实践联系起来,对我们来 - 8 -
分享到:
收藏