您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言课程设计报告模版
湖南科技大学课程设计报告设计题目运动会分数统计程序的设计院系:专业班级:学号:学生姓名:指导教师:2010年12月30日程序设计语言课程设计报告2目录1叙述........................................................................................21.1功能要求.....................................................21.2程序描述.....................................................21.3主要模块描述.................................................31.4功能结构.....................................错误!未定义书签。1.5流程图......................................................101.6采用的算法..................................................162课程设计总结......................................................................173附录(参考文献)..............................................................181.1功能要求基本要求:1)输入各个项目的前三名或前五名的成绩;2)能统计各学校的总分;3)可以按学校编号、学校总分输出、男女团体总分输出4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五的学校拓展功能:可以输入学校名称,运动项目的名称1.2程序描述本程序通过建立结构体然后对学校数及名称、男女项目数及其所取名次、项目名及其对应学校编号录入,然后根据所要的输出方式进行排序输出。1.3主要模块描述intmain(){SchEnter();//学校录入程序设计语言课程设计报告3ProjectEnter();//项目录入MarkEnter();//成绩录入MenuSelect();//菜单选择return0;}voidMenuSelect(){……switch(z){case1:RuajData();break;//学校编号排序输出case2:TotalSort(1);break;//学校总分排序输出case3:BoySort();break;//学校男生总分排序输出case4:GirlSort();break;//学校女生总分排序输出case5:NoQuery();break;//查询某个学校成绩case6:SchQuery();break;//查询某个项目成绩case7:SaveData();break;//退出保存}}1.4功能结构该程序应具有的功能有输入,计算,排序,查看成绩,保存退出。主函数学校录入项目录入成绩录入菜单选择学校编号排序退出保存查询某个项目成绩查询某个学校成绩学校女生总分排序学校男生总分排序男总分学校总分排序程序设计语言课程设计报告41:输入(1)功能描述:实现学校数和学校名、男女项目数和项目名以及成绩取前五的项目编号的录入,以及成绩的初始化和计算。(2)设计说明:为了使入字母程序不产生错误使用了atoi函数,为了使屏幕简洁化使用了清屏函数system(cls)。(3)操作说明:输入学校数目、男女项目数都得在1-20之间,成绩取前五的编号不得大于男女项目数的总和,学校名称、项目名称、成绩取前五的编号不得重复。学校录入的效果图如下如果输入的学校数目不是1-20则会提示出错,假如输入的学校名重复则会提醒你与第几个重复并要求重新输入。其效果图如下:程序设计语言课程设计报告5项目录入效果图如下:如果输入的男女项目数不是1-20则会提示出错,假如输入名次取前五的编号及项目名称重复则会提醒你与第几个重复并要求重新输入。其效果图如程序设计语言课程设计报告6下:成绩录入效果图如下:如果输入数字不在1-w+m(这里w,m分别取3)之间则会提示你出错,要求你重新输入;效果图如下:2.菜单选择(1)功能说明:给出功能选项程序设计语言课程设计报告7(2)设计说明:使用了switch()函数,进行选项选择,为了使入字母程序不产生错误使用了atoi函数。(3)操作说明:这里只有7个功能,所以我们只能选择1-7之间的选项。其效果图如下:假如输入的不是1-7;则会提示出错,效果图如下:学校编号排序输出功能说明:按编号排列顺序输出其效果图如下:学校总分排序程序设计语言课程设计报告8功能说明:按总分排列顺序输出其效果图如下:学校男生总分排序功能说明:按学校男生总分排列顺序输出其效果图如下:学校女生总分排序功能说明:按学校女生总分排列顺序输出其效果图如下:查询某个学校的成绩功能说明:根据所选的编号输出学校成绩。设计说明:通过比较找到所选编号数据然后输出,为了使入字母程序不产生错误使用了atoi函数。操作说明:编号数要在1-n之间,否则会提示出错。其效果图如下:程序设计语言课程设计报告9如果输入的编号不是1-n则会提示你输入错误:查询某个项目的成绩功能说明:根据所选的项目编号输出项目名,及其获得名次的学校。设计说明:通过比较找到所选编号数据然后输出,为了使入字母程序不产生错误使用了atoi函数。操作说明:编号数要在1-w+m之间,否则会提示出错。其效果图如下:如果输入的编号不是1-w+m则会提示你输入错误:程序设计语言课程设计报告10退出保存功能说明:fout.open()函数生成一个txt文档然后按总分排序读入成绩。设计说明:通过fout.open()函数生成一个txt文档,然后按总分排序将数据读入这个txt文档,如果选择退出,会执行exit(0)。操作说明:输入y退出,其他返回主菜单。其效果图如下:1.5流程图主模块:程序设计语言课程设计报告11学校输入;开始学校输入项目输入成绩录入主菜单i学校编号排序输出校录入学校总分排序分排序目录入学校男生总分排序排序绩录入学校女生总分排序查询某个学校成绩查询某个项目成绩保存退出Y/Ni=1i=2i=3i=4i=5i=6i=7YN程序设计语言课程设计报告12i=1;开始1=n=20YN输入name判断与前面的名称是否相同i++;in数据初始化结束NYNY输入n程序设计语言课程设计报告13项目输入:成绩录入:i=1;开始输入m,w1=m=201=w=20YN输入name判断与前面的名称是否相同i++;iw+mNYNY是否有成绩取前五的项目输入编号编号是否正确确前五的项目是否输入完结束YNYNYN程序设计语言课程设计报告14开始i=1;j=1;判断是否为成绩取前五的项目Y输入学校编号X;j=5;输入学校编号X;1=x=n;Pro[i].snum[j]=x;sch[x].score+=integral[j-1];if(i=m)sch[x].male+=integral[j-1];elsesch[x].female+=integral[j-1];j++;Pro[i].snum[j]=x;sch[x].score+=Integral[j-1];if(i=m)sch[x].male+=Integral[j-1];elsesch[x].female+=Integral[j-1];j++;j=3;i++;j=1;i=w+m;1=x=n;结束YYYYNNNNY程序设计语言课程设计报告15因为排序大致相似所以只选取学校编号排序作为代表学校编号排序:开始i=1;j=i;sch[i].numsch[j].numt=sch[i];sch[i]=sch[j];sch[j]=t;j++;j=n;i++;i=n;i=1;print(i);i++;i=n;结束YYYNNN程序设计语言课程设计报告161.6采用的算法因为我们要进行排序,所以我们会用到线性表。typedefstruct{intnum;//学校的编号stringname;//学校名称intscore;//学校总分intmale;//男子总分intfemale;//女子总分}sch[21];学校的编号排序StatusArrange(){for(i=1;in;i++){for(j=i;j=n;j++)if(sch[i].numsch[j].num){sch[i]——sch[j];}}//Arrange学校总分排序StatusArrange(){for(i=1;in;i++){for(j=i;j=n;j++)if(sch[i].scoresch[j].score){sch[i]——sch[j];}}//Arrange学校男子总分排序StatusArrange(){for(i=1;in;i++){for(j=i;j=n;j++)if(sch[i].malesch[j].male)程序设计语言课程设计报告17{sch[i]——sch[j];}}//Arrange学校女子总分排序StatusArrange(){for(i=1;in;i++){for(j=i;j=n;j++)if(sch[i].femalesch[j].female){sch[i]——sch[j];}}//Arrange这些算法的时间复杂度都是f(n)。2课程设计总结在这个程序当中用到的函数有system(cls):作用使屏幕整洁;atoi:把字符转化成数字,解决输入数字的地方输入字目程序出错;switch:实现功能选择,exit:退出函数;fout.open():实现文档保存。改进设想:可以增加运动员及其编号,和其每个运动员所拿到的积分数进行排名。所遇问题1:输入重复的学校、项目名称以及前五的编号时程序无法识别。解决方法:输入的编号先跟前面的比较看是否重复,如果重复就提示与哪个重复。所遇问题2:输入数字处输入字母会程序出错解决方法:使用atoi函数进行转换。备注:这里调试所用学校数:6分别为:1.中南大学2.湖南大学3湖南师范大学4.湘潭大学5.长沙理工大学6.湖南科技大学男女项目数:33项目分别为:1.男子跑步2.男子跳远3.男子跳高程序设计语言课程设计报告184.女子跑步5.女子跳远6.女子跳高成绩取前五的项目有:143附录(参考文献)参考文献:[1]严蔚敏.数据结构(C语言版).北京:清华大学出版社,2007[2]蒋清明.C语言程序设计.人民邮电出版社
本文标题:C语言课程设计报告模版
链接地址:https://www.777doc.com/doc-3355909 .html