c语言课程设计运动会分数统计系统讲课教案.docx

上传人:b****6 文档编号:15639222 上传时间:2023-07-06 格式:DOCX 页数:35 大小:231.64KB
下载 相关 举报
c语言课程设计运动会分数统计系统讲课教案.docx_第1页
第1页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第2页
第2页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第3页
第3页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第4页
第4页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第5页
第5页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第6页
第6页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第7页
第7页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第8页
第8页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第9页
第9页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第10页
第10页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第11页
第11页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第12页
第12页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第13页
第13页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第14页
第14页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第15页
第15页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第16页
第16页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第17页
第17页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第18页
第18页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第19页
第19页 / 共35页
c语言课程设计运动会分数统计系统讲课教案.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言课程设计运动会分数统计系统讲课教案.docx

《c语言课程设计运动会分数统计系统讲课教案.docx》由会员分享,可在线阅读,更多相关《c语言课程设计运动会分数统计系统讲课教案.docx(35页珍藏版)》请在冰点文库上搜索。

c语言课程设计运动会分数统计系统讲课教案.docx

c语言课程设计运动会分数统计系统讲课教案

四、影响的宏观环境分析

年轻有活力是我们最大的本钱。

我们这个自己动手做的小店,就应该与时尚打交道,要有独特的新颖性,这正是我们年轻女孩的优势。

大学生个性化消费增多是一种趋势。

当前社会、经济飞速发展,各种新的消费品不断增多,流行文化时尚飞速变化,处于校园与社会两者之间的大学生肯定会受影响。

目前在大学校园,电脑、手机、CD、MP3、录音笔被称为大学生的“五件武器”。

除了实用,这也是一种表明自己生活优越的炫耀性的东西。

现下很大一部分大学生中的“负债消费”表现的典型的超前享乐和及时行乐——其消费项目多半是用于奢侈浪费的非必要生活消耗。

如举办生日宴会、打网球、保龄球、上舞厅跳舞、进夜总会唱“卡拉OK”等。

“负债消费”使很多学生耽于物欲,发展严重者轻则引起经济纠纷,动武斗殴,影响同窗友谊,重则引发犯罪事件,于社会治安不利。

可是创业不是一朝一夕的事,在创业过程中会遇到很多令人难以想象的疑难杂症,对我们这些80年代出生的温室小花朵来说,更是难上加难。

我们长期呆在校园里,没有工作收入一直都是靠父母生活,在资金方面会表现的比较棘手。

不过,对我们的小店来说还好,因为我们不需要太多的投资。

合计50100%

300-400元1632%

(一)DIY手工艺品的“多样化”

2.www。

cer。

net/artide/2003082213089728。

shtml。

我们从小学、中学到大学,学的知识总是限制在一定范围内,缺乏在商业统计、会计,理财税收等方面的知识;也无法把自己的创意准确而清晰地表达出来,缺少个性化的信息传递。

对目标市场和竞争对手情况缺乏了解,分析时采用的数据经不起推敲,没有说服力等。

这些都反映出我们大学生创业知识的缺乏;

课程设计报告

 

课程名称C语言课程设计

课题名称运动会分数统计系统

专业电气工程及其自动化

班级

学号

姓名

指导教师王颖

 

2012年6月25日

 

 

湖南工程学院

课程设计任务书

 

课程名称C语言课程设计

课题运动会分数统计系统

 

专业班级电气工程及其自动化

学生姓名

学号

指导老师王颖

审批

 

任务书下达日期2012年6月16日

任务完成日期2012年6月25日

 

运动会分数统计系统

一、问题描述:

参加运动会的n个学校编号为l~n。

比赛分成m个男子项目和w个女子项目,项目编号分别为l~m和m+1~m+w。

由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。

设计一个统计程序按名次产生各种成绩单、得分报表。

二、基本要求:

1.产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次、成绩、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分;均按名次排序。

2.比赛项目既要有径赛,又要有田赛。

三、测试数据:

对于n=4,m=3,w=2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。

四、实现提示:

1.数据结构:

线性表

2.数据库结构:

下面四张表构成该系统的基本数据库,全部输出报表由系统根据基本表自动生成。

 

 

3.可以假设n≤20,m≤30,w≤20,姓名长度不超过20个字符。

每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并输入运动员编号、学校编号和成绩等。

五、选作内容:

允许用户指定某项目采取其他名次取法。

 

前言

《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至

一整套软件工作规范的训练和科学作风的培养。

是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

通常,课程设计的课题比平时的习题复杂得多,也更接近实际。

课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。

为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。

学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。

学习委员将课程设计报告与磁盘收齐后交指导老师。

一、目的

全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。

二、设计要求

掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。

1.设计正确,方案合理。

2.界面友好,使用方便。

3.程序精炼,结构清晰。

4.设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

5.上机演示。

6.按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。

源程序及编译生成各文件均保存在软盘中;

7.按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。

并用A4的复印纸打印并装订;

8.在2012年6月25日之前,请各班学习委员收齐课程设计报告和源程序软盘交王颖老师,联系电话:

8883238。

三、进度安排

第一周星期四:

课题讲解,查阅资料

第二周 星期一:

总体设计,详细设计

星期二:

编程,上机调试、修改程序

星期三:

上机调试、完善程序

星期四:

上机调试、完善程序

星期五:

答辩

星期六-星期天:

撰写课程设计报告

 

第一章问题描述

本课程设计主要解决在运动会上,将各个比赛项目所有获得名次的同学的成绩输入,成绩查询,成绩修改,成绩删除,以及成绩输出。

该程序用于运动会上,涉及到比赛项目成绩的录入,某个学校在某个项目中获得成绩的查询,某个学校在某个运动项目中获得的成绩的修改,某个学校在某个运动项目中获得的成绩的删除,以及某个学校所有获得成绩的得分报表以及团体成绩的得分报表。

其中比赛成绩的录入可以按照运动项目举行的次序输入,也可以输入自己指定的运动项目的成绩;自己扩展的功能是“某个学校在某个项目中获得成绩的查询,某个学校在某个运动项目中获得的成绩的修改,某个学校在某个运动项目中获得的成绩的删除”三项,这三项都要求输入学校以及运动项目编号,通过这两项作为参数具体的函数可以查询、修改成绩或者是删除某项成绩记录,进而影响到最后得分报表的输出。

1.1问题描述

参加运动会的n个学校编号为l~n。

比赛分成m个男子项目和w个女子项目,项目编号分别为l~m和m+1~m+w。

由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。

设计一个统计程序按名次产生各种成绩单、得分报表。

1.2基本要求

1.产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次、成绩、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分;均按名次排序。

2.比赛项目既要有径赛,又要有田赛。

1.3测试数据

对于n=4,m=3,w=2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。

1.4实现提示

3.数据结构:

线性表

4.数据库结构:

下面四张表构成该系统的基本数据库,全部输出报表由系统根据基本表自动生成。

 

 

3.可以假设n≤20,m≤30,w≤20,姓名长度不超过20个字符。

每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并输入运动员编号、学校编号和成绩等。

1.5选作内容

允许用户指定某项目采取其他名次取法。

第二章需求分析

2.1需求陈述

本课程设计主要解决在运动会上,将各个比赛项目所有获得名次的同学的成绩输入,成绩查询,成绩修改,成绩删除,以及成绩输出。

2.1.1开发语言

本课程涉及主要采用了C++。

C++语言代表着对以往语言之精华的发展和提炼,既支持面向对象的程序设计,也支持结构化的程序设计。

它修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析,提供了异常处理机制,简化了程序的出错处理,利用throw、try和catch关键字,提高了程序的可靠性和可读性。

函数重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。

提供了模板机制。

模板包括类模板和函数模板两种,它们将数据类型作为参数。

2.1.2运行环境

MicrosoftVisualC++6.0。

VisualC++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境。

“可视”的资源编辑器与MFC类以及应用程序向导,为快速高效地开发出功能强大的Windows应用程序提供了极大的方便。

利用VisualC++6.0进行Internet、数据库及多媒体等多方面的程序开发也很容易。

2.2建立对象模型

将各个比赛项目所有获得名次的同学的成绩输入,成绩查询,成绩修改,成绩删除,以及成绩输出封装为一个类,通过函数调用将这些对象连接起来。

 

2.3建立功能模型

1)可以输入各个项目的前三名或前五名的成绩;

2)能统计各学校总分;

3)可以按学校编号、学校总分、男女团体总分排序输出;

4)可以按学校编号查询学校某个项目的情况;

5)可以按项目编号查询取得前三或前五名的学校。

 

第三章概要设计

3.1系统设计

3.1.1系统分析

1)首先进入成绩录入界面,先输入学校编号1,再输入学校1各个项目成绩0或1(‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次)。

然后再输入第二个学校编号2,再输入成绩;当输入其他的学校编号和成绩会提示错误输入,重新输入。

2)然后进入总目录,输入:

1统计各学校总分并输出;

3)输入:

2按学校编号排序输出;

4)输入:

3按学校总分排序输出;

5)输入:

4按男团体总分排序输出;

6)输入:

5按女团体总分排序输出;

7)输入:

6按学校编号查询学校某个项目情况;

8)输入:

7按项目编号查询取得名次的学校;

9)输入:

0退出系统;

10)输入其他数据会提示错误输入,重新输入。

3.1.2系统设计思想

本程序主要是使用顺序表来实现操作。

一个运动会包括运动项目和参加运动会的学校。

因此构造顺序表match,school。

为了操作的方便,设计了一个总目录,选择相应序号进入各个操作,并有错误提示,每完成一个操作程序会提示选择返回目录或退出程序,对于总分的排序使用了冒泡排序。

为了使整个程序界面看起来更加惬意,又添加了背景和字体颜色设置的程序语句。

每个操作前都有操作指南,易于使用。

 

3.2系统类层次及结构图

 

 

 

图3.2系统流程图

 

第四章详细设计

4.1类与对象的设计

详细设计:

宏定义:

#defineN2

#definebm4

#definegm3

数据类型定义:

运动项目的定义:

structmatch

{

intmatchnum;

intrank[3];

mat[bm+gm];

}

学校的定义:

structschool

{

intschoolnum;

structmatchmat[bm+gm];

inttotal;

intboytotal;

intgirltotal;

sch[N];

}

 

函数之间的调用关系

 

图4.1函数调用关系图

4.1.1类属性的详细设计

类的属性包括静态属性和动态属性。

该程序用于运动会上,其中类的静态属性包括:

运动项目的编号,参加比赛的学校总数,涉及到的动态属性包括:

比赛项目成绩的录入,某个学校在某个项目中获得成绩的查询,某个学校在某个运动项目中获得的成绩的修改,某个学校在某个运动项目中获得的成绩的删除,以及某个学校所有获得成绩的得分报表以及团体成绩的得分报表。

其中比赛成绩的录入可以按照运动项目举行的次序输入,也可以输入自己指定的运动项目的成绩;自己扩展的功能是“某个学校在某个项目中获得成绩的查询,某个学校在某个运动项目中获得的成绩的修改,某个学校在某个运动项目中获得的成绩的删除”三项,这三项都要求输入学校以及运动项目编号,通过这两项作为参数具体的函数可以查询、修改成绩或者是删除某项成绩记录,进而影响到最后得分报表的输出。

第五章测试与维护

<1>数据输入(输入成绩如图)

图5.1.1

输入:

请输入学校编号:

1

项目编号1234567

第<1>名:

1001100

第<2>名:

1110010

第<3>名:

0000111

请输入学校编号:

2

项目编号1234567

第<1>名:

0110011

第<2>名:

0001101

第<3>名:

1111000

 

输入成绩后出现总目录(下图);

图5.1.2

(1)输入:

1

输出:

图5.1.3

(2)输入:

1返回总目录,再输入:

2

输出:

图5.1.4

 

(3)输入:

1返回总目录,再输入:

3

输出:

图5.1.5

(4)输入:

1返回总目录,再输入:

4

输出:

图5.1.6

(5)输入:

1返回总目录,再输入:

5

输出:

图5.1.7

(6)输入:

1返回总目录,再输入:

6,学校编号输入:

1,项目编号输入:

5

输出:

图5.1.8

 

(7)输入:

2,返回上一级,再输入学校编号:

2,项目编号:

1

输出:

图5.1.9

(8)输入:

1,返回总目录;再输入:

7,输入项目编号:

7

输出:

图5.1.10

(9)如果输入提示外的数字,例如输入:

4

则输出错误提示:

图5.1.11

(10)输入:

0

输出:

图5.1.12

 

第六章用户手册

1、运行环境

Windows,VC++6.0

2、用户界面

图6.2.1

图6.2.2

3、操作过程

(1)用户进入运动会分数统计系统程序欢迎界面

(2)录入成绩,先输入要输入的学校编号,1或2;再输入对应学校的1-7项目的成绩(成绩用0或1:

‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次)当成绩录入错误时会有错误提示。

(3)进入总目录,按提示,输入0--7中的一个数;

输入:

0则推出系统;

输入:

1统计各学校总分并输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);

输入:

2按学校编号排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);

输入:

3按学校总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);

输入:

4按男团体总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);

输入:

5按女团体总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);

输入:

6按学校编号查询学校某个项目编号;选择学校编号1或2;然后选择项目编号1--7;输出项目成绩;然后选择0或1或2(‘0’表示退出系统,‘1’表示返回总目录,‘2’表示返回上一级);

输入:

7按项目编号查询取得名次的学校;选择项目编号1--7;输出成绩;然后选择0或1或2(‘0’表示退出系统,‘1’表示返回总目录,‘2’表示返回上一级);

 

设计总结

本次课程设计,使我对课程设计的设计方法、步骤、思路、有一定的了解与认识。

它相当于实际设计工作的模拟。

在课程设计过程中,基本能按照规定的程序进行,先针对表达式算法为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;收集、调查有关资料,然后进入草案阶段,其间与指导教师进行几次方案的讨论、修改,再讨论、再修改,最后定案。

通过此次课程设计,我了解了编写应用软件的一般步骤,获得了很多宝贵的经验。

特别是怎么样通过理论与实践相结合,把书本上的内容应用到我们做的程序上去。

怎样使各个子模块实施其的详细功能,特别是各个子模块之间的接口,一定要相当清晰,达到相互协调的作用其次,我熟悉了所学的各种知识。

学会了很多关于程序设计的经验和技巧,明白了程序的使用性和通用性是程序生存周期长短的关键,学会了调试程序的一般方法。

重要的是,通过这次设计,逐步我具备了走向程序员的基本素质。

知道应如何在困难重重中一步一步细心的发现问题,解决问题。

并深刻体会到了团体合作精神的重要性,知道了在软件设计中对界面和功能如何平衡,如何达到相对的完美。

参考文献

[1]陈维兴,林小茶.c++面向对象程序设计教程.北京:

清华大学出版社,1996.2004.

[2]张国峰.C++程序设计实用教程.北京:

清华大学出版社,1996.

[3]张松梅.C++语言教程.电子科技大学出版社,1993.

[4]阎龙.C程序员的C++指南.北京航空航天大学出版社,1992.

[5]王博.面向对象的建模、设计技术与方法.北京希望电脑公司,1990.

[6]汪成为.面向对象分析、设计及应用.国防工业出版社,1992.

[7]江明德.面向对象程序设计.电子工业出版社,1993.

[8]吕凤翥.C++语言程序设计.电子工业出版社,2001.

致谢

首先感谢我的指导老师王颖老师,他在我的课程设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。

在这几节课程设计中,对课本中所学的各种知识进一步理解和掌握,学会了如何把学到的知识用于解决实际问题,锻炼了自己动手的能力。

一个人要完成所有的工作是非常困难和耗时的。

在以后的学习中我会更加注意各个方面的能力的协调发展。

在课程设计时遇到了很多的问题,在老师的帮助,和对各种资料的查阅中,将问题解决,培养了我自主动手,独立研究的能力,为今后在学习工作中能更好的发展打下了坚实的基础。

我的同学在我的课程设计中也给了我很多无私的帮助和支持,在此一并表示感谢。

 

附录:

源代码

#include

#include

#defineN100//学校个数

#definebm50//男团体个数

#definegm50//女团体个数

voidxuanze();

voidxunhuan();

structmatch//项目

{

intmatchnum;

intrank[3];

}

mat[bm+gm];

structschool//学校

{

intschoolnum;

structmatchmat[bm+gm];

inttotal;

intboytotal;

intgirltotal;

}sch[N];

voidhuanyingni()/*开始界面,欢迎使用*/

{

printf("\n\n湖南工程学院电气1182班赵岩\n\n\n\n\n");

printf("\t***^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^***\n\n");

printf("欢迎使用运动会分数统计系统\n\n");

printf("\t***^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^***\n\n");

}

voidinput()//输入成绩

{

inti,j,k;

for(i=0;i

{

sch[i].total=0;

sch[i].boytotal=0;

sch[i].girltotal=0;

for(k=0;k

{

sch[i].mat[k].rank[0]=0;

sch[i].mat[k].rank[1]=0;

sch[i].mat[k].rank[2]=0;

sch[i].mat[k].matchnum=k+1;

}

}

printf("*********输入成绩**********\n");

printf("###输入说明:

\n");

printf("1.学校编号为1--%d;项目编号为1--%d(1-%d为男子项目,%d-%d为女子项目).\n",N,bm+gm,bm,bm+1,bm+gm);

printf("2.成绩只能是'0'或'1'\n('0'表示没获得该项目的该名次,'1'表示获得了该项目的该名次.以'Tab'键前进。

)\n",N);

for(i=0;i

{

printf("******请输入学校编号:

");

loop3:

scanf("%d",&sch[i].schoolnum);

if(sch[i].schoolnum<0||sch[i].schoolnum>N)

{

printf("输入错误(只能是1-%d)请重新输入:

",N);

gotoloop3;

}

printf("项目编号");

for(k=0;k

printf("%d",sch[i].mat[k].matchnum);

printf("\n");

for(j=0;j<3;j++)

{

loop:

printf("第(%d)名:

",j+1);

for(k=0;k

scanf("%d",&sch[i].mat[k].rank[j]);

for(k=0;k

if(sch[i].mat[k].rank[j]!

=0&&sch[i].mat[k].rank[j]!

=1)

{

printf("输入错误,请重新输入,成绩只能是'0'或'1'\n");

gotoloop;

}

}

}

}

 

voidtotaljisuan()

{

inti,k,b;

for(i=0;i

for(k=0,b=0;k

{

b=sch[i].mat[k].rank[0]*5+sch[i].mat[k].rank[1]*3+sch[i].mat[k].rank[2]*2;

sch[i].total=sch[i].total+b;

if

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2