运动会分数统计程序-数据结构与算法课程设计报告i_第1页
运动会分数统计程序-数据结构与算法课程设计报告i_第2页
运动会分数统计程序-数据结构与算法课程设计报告i_第3页
运动会分数统计程序-数据结构与算法课程设计报告i_第4页
运动会分数统计程序-数据结构与算法课程设计报告i_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、合肥学院计算机科学与技术系课程设计报告20092010学年第2学期课程课程设计名称 学 学专指名号级师数据结构与算法运动会分数统计程序朱小杰080401203708计本(2)班王昆仑张贯红2010年06月5号题目:运动会分数统计程序。参加运动会有 n个学校,学校编号为1n。比赛分成m个男 子项目,和 w个女子项目。项目编号为男子1m,女子m+1m+w 。有些项目取前五名,得分依次为 6, 4, 3, 2 , 1 ;有些项目取前三名,得分依次为4 , 2 , 1。写一程序产生各学校的成绩单(包括各校所取得的每项成绩的项目号、成绩、姓名和得分)和团体总分报 表(包括校号、男子团体总分、女子团体总分

2、和团体总分)。基本要求:1).可以输入各个项目的前三名或前五名的成绩;2).能统计各学校总分,3).可以按学校编号、学校总分、男女团体总分排序输出;4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学 校。5).数据存入文件并能随时查询。一、问题分析和任务定义此程序需要完成如下要求:要解决的问题是采用什么样结构放学生的信息,不浪费空间 也便于统计各个学校的总分,通过思考加深了对课程设计内容的理解和综合运用,提高了解 决实际问题的能力,达到了理论联系实际相结合,以及学有所用的目的。本程序要解决以下几个问题:1)如何解决学校、项目以及分数的存放问题;2)关于在学校总分

3、。男子以及女子项目总分的问题上,算法中应该包括排序功能,这 样在主函数中输出的时候就会让使用者的眼前更加清晰;3)4)原始数据输入、输出格式 :原始数据要输入参赛者的学校数、男子项目数、女子项 目数、参赛人数以及学生的信息。输出时要求能统计各学校总分以及男女项目总分还可以查询,最后输出学生的所有信息。测试用例:学校数为5,男子项目数为3,女子项目数为3,参赛人数11表一学校代号项目代号姓名成绩11Su225Dong433Fly345Han153Rai n613Lucy421Yan131Wang443An153He215zhe n2二、概要设计和数据结构的选择 运动会分数统计程序用到的是顺序表的

4、数据类型,由于一开始参赛人数就是确定下来的,参赛人数即为顺序表表长,故顺序表的表长也就确定下来了,顺序表的主要内容有学校数、typ edef struct /节点总的参赛人数。节点主要内容包括:学生的姓名、学校代号、项男子项目数、女子项目数、 目代号以及学生的成绩。 顺序表类型如下:typ edef struct char name100; xuexiao; xia ngmu; score;intintint/节点/姓名/学校代号/项目代号/成绩schoolt ype; typ edef structschoolt ypescsize;int n ;int m;int w;int r;seql

5、ist;/顺序表/学校数/男子项目数/女子项目数/总参赛人数图1该程序要求统计各个学校的总分及男女项目总分,为便于排序,另用一顺序表将计算出 来的总分放于其中,节点内容包括关键字key (即算出来的总分)xiaohao (用来放学校的代号)解决了排序后能输出确定的学校代号及总分。顺序表类型如下:/存放分/存放学校代号int key;int xiaohao;recordt ype;顺序表为方便排序而建立的 II工作单元typ edef structrecordt ype rsize;list;数即为顺序表表长,在顺序表节点中有成绩,在建立学生信息时可直接输入成绩,输入学生信息时编码是自动加的,统

6、计学校总分或男女项目总分时都用2个for循环来实现,统计出来的得分都可放入另一个顺序表中以便于排序,在查询时用户输入要查询的学校代号或项 目代号即可查询,在建立信息时会调用保存在文件的函数来实现学生信息的保存。结构图如图1 :成员函数名及功能介绍如表二:表二成员函数名作用set(seqlist *L)建立参赛者信息search1(seqlist *L)按学校代号查某个项目的情况search2(seqlist *L)按项目代号查取得成绩的学校school(seqlist *L,list *s)统计各学校总分boy(seqlist *L,list *s)统计各学校男子项目总分girl(seqlis

7、t *L,list *s)统计各学校女子项目总分out pu t(seqlist *L)输出seqlist *loadfile()提取到文件函数savefile(seqlist *s)保存到文件函数paixu(seqlist *L,list *s)直接插入排序三、细设计和编码主函数main()(1)如果文件“运动员系统.txt”中无保存的记录则输入参赛的学校数,男子项目数,女子项目数,总的参赛人数。然后提供可选择的项目,用户需先建立参赛者的 信息,然后可按照菜单提示进行操作,用switch语句实现不同模块的调用。流程图如图2:3:主界面如图(2)如果“运动员系统.txt”中已保存信息是则主界面

8、图4:主函数中,先是要看看是不是有”运动员系统22.txt"这个文件,该文件应该与程序放在同一个文件夹中,或者是桌面或同一个盘中,即放在一起。用fopen打开它,如果没有的话即执行第一种操作,申请空间来存储运动会的参赛学校,男女项目数以及总的参赛人数这些信息,然 后再选择菜单中的第一个选择,重新建立一个文件"运动员系统22.txt",用来存储运动员的信WWWWMWMWHWWMWMMMMMMMMMMKMMKWWMMMMWon *C:DocuB.ents and Sett ingsXAdiinist ratorM面运动会分数统计ID丽11匡运动-.欢迎来到大学土运动会

9、管理系铳认参赛的学校数,男子项目数,女子项目数,总的参赛人熱欧迎来到«| «|!*KJCMMIMC, .!*»!* -拄 *C:Docu»cjits and SettinesAd»iTiistrator桌面运动会分数统计加1)11 臥运动-.H回阴请输入您的选择ZZI统计统i§出智学校成绩表建立参赛簪息并记录成绩 洽校查某个项中 串書貝查取得成嶽1学弦、 £貓学项目总分 衬交女子项总分图4息,在运动会的项目中所取得的成绩;如果有该文件,则要进行第二步,即按照菜单进行其 他功能的实现。以下是成员函数介绍:(a) void se

10、t(seqlist *L)流程图如图 5:图5函数代码如下:void set(seqlist *L)int i,x;for(i=1;i<=L->r;i+)printf("依次输入校代号,项目号 姓名,成绩:n");sca nf("%d%d%s%d",&L->sci.xuexiao,&L->sci.xia ngmu,&L->sci. name,&L->sci.score); savefile(L,i);printf("恭喜您,建立成功!n");printf("

11、是否继续添加?n");printf("1 是n");printf("0否 n");sca nf("%d", &x);if(x=0) return;while(x!=1)&&(x!=0)printf(”您的输入有误,请重新输入!");sca nf("%d", &x);(b )查询函数void search1(seqlist *L)这个是按照学校和项目代号进行查询的。流程图如下:函数代码如下:void search1(seqlist *L)/按学校代号查某个项目的情况

12、int i,j,n;int flag=1;prin tf("输入学号以及要查的项目代号 :n");sca nf("%d%d", &i,&n);for(j=1;j<=L->r;j+)if(L->scj.xuexiao=i&&L->scj.xia ngmu=n)printf(”该学校在该项目姓名为%dn "丄->sc|j. name,L->scj.score);flag=0;if(flag=1)printf(”查找不到您所要查找的学生和项目!n");%s 取得成(C)按照

13、项目代号进行查询:void search2(seqlist *L)流程图如图6按项目代号查取得成绩的学校是也是按编号查询,只要学校项目代号与输入要查的项目相 同并且有成绩就输出。函数代码如下:void search2(seqlist *L)int j,k;int flag=1;printf(”输入所要查的项目代号:n");/按项目代号查取得成绩的学校scan f("%d",&k); for(j=1;j<=L->r;j+) if(L->scj.xia ngmu=k&&L->scj.score!=0)printf(”学校

14、代号 d在项目上%d姓名为%8s取得成绩是4dn "丄->sc|j.xuexiao,k,L->sc|j. name,L->scj.score);flag=0;if(flag=1)printf(”查找不到您所要查找的项目!n");(d )统计学校总分:和各学校男女项目总分时思路大致相同,在统计男(女)项目总分时只需确定下是否是 男(女)子项目,如果是就加,判断方法就是男子项目的项目代号小于等于男子项目数(即:L->scj.xia ngmu)<(L->m)而女子项目则大于男子项目数(即L->scj.xia ngmu)>(L->

15、;m)统计各学校总分函数介绍如下:流程图如图7:图7/统计各学校总分void school(seqlist *L,list *s)int i,j,sum; for(i=1;i<=L->n ;i+) sum=0;for(j=1;j<=L->r;j+)if(L->scj.xuexiao=i) sum=sum+L->scj.score;s->ri.xiaohao=i; s->ri.key=sum;:%drr,i,sum);printf("学校代号为%d的学校取得的总分为上机调试1、调试中遇到问题及解决方法然后改正。语句错误语句使用不当造成程序

16、无法运行出正常的结果。 在排序过程中输出的结果是按总分顺序排序的,但是却不能够正确的输出是哪个学校 解决方法是在新申请的顺序表的节点中加入了一个纪录学校代号的内容,在输出的1)、程序调试过程中常会出现一些小错误, 如 i,j 混淆少括号少分号等小问题都可以按照提 示找到,2)、3)、 的总分, 同时就可以把学校代号也正确的输出来了。4)开始的时候想在结构体里假如 SEX 来记录男女性别,以用来区分男子和女子项目,但 是这样的话相对 比较麻烦了,在程序中就是在项目代号来解决的,算法中有实现。5)为了方便使用者,对程序中的输出基本上都用了排序,使得程序更加完善,在美观上 也有一定的提高。2、设计体

17、会通过这次课程设计使我进一步达到理论与实际相结合, 提高了自己组织数据及编写程序的 能力,使我们能够根据问题要求和数据对象的特性,学会数据组织的方法,把现实世界中的 实际问题在计算机内部表示出来并用软件解决问题,培养良好的程序设计技能,掌握设计程 序的思路,学会用计算机语言编写程序,以实现所需处理的任务,锻炼自己的动脑能力,学 会用自己的思路解决现实中的实际问题,虽然一开始也走了一些弯路不过在同学和老师的点 拨下完成了该程序,这次课程设计中遇到了很多问题,一开始准备用二维数组存放的可考虑 到同一个学校同一个项目有好几个人参加,就不能用二维数组了,如果每个学校都申请一个 二维数组也非常不方便,还

18、是用顺序表方便也不浪费空间,在这次课程设计的过程中虽然很 多次都参照了课本及资料,不过这使我更加熟悉了顺序表以及结构体的定义及实现,调试过 程中也遇到了一些问题也都是自己独立思考完成的,还有一个体会是,遇到不会的地方可以 参考课本也可以去图书馆或网上查资料,当然主要思路有了也就简单点了,一开始思路不是 很清楚就开始在敲程序了,浪费了很多时间,在老师的指导下,把自己的思路理清楚了再来 敲程序果真是事半功倍,这真是个很好的收获。还有就是这个程序的男女问题上,开始准备 在结构体中加一个 sex 的点,大使那样对与男女项目还是有点麻烦,后来在同学的提醒下, 通过参赛项目号就可以解决了,比 m 大就是女

19、子项目,比 m 小或者等于 m 就是男子项目。 这样就可以很完美地解决这个问题了。其实,当你实验遇到问题时,自己会通过很多途径去解决它,没有解决时,心急如焚, 解决之后的那种快感是前所未有的,这也许就是付出了行动之后的收获吧!这也教会了我们以后在社会上,遇见了事情不可怕,只要不被困难击倒,解决了它,那 样我们就是胜利的!3、性能分析 在排序时用到了直接插入排序,从算法描述中可以看到,在搜索插入位置时,遇到关键 字相等的元素就停止比较和移动元素,可以确定该算法是稳定的排序算法。从空间角度上看, 它只需要一个元素的辅助空间r0 。从时间角度上看, 主要时间耗费在关键字的比较和移动元素上。n为顺序表

20、表长,平均时间复杂度为0 (n2)最坏时间复杂度为 0 (n2)辅助存储空间r0。四、 用户使用说明 本程序主要用来实现运动会分数统计,用户在使用前需输入参赛人数,男子项目数、女 子项目数以及参赛总人数,参赛编号是根据输入顺序编的,参赛人数既为顺序表表长,在完 成这一步后,在提供的可选菜单中用户应先建立参赛者信息(即选1),参赛者信息一次性输入,如果文件中已保存输入的菜单,下次就不需要再重新建立参赛者信息了,可直接对已存的信息进行查询排序输出,可根据采单选择。而且,一定要是一次性输入完毕,否则下回再输入的时候就会将上次的输入记录覆盖掉, 因此在使用的时候要多加注意。另外,其他几个功能在菜单中都

21、有,只要根据菜单进行操作,基本上都可以完成其功能 的实现。云C:Docu>entS and SettingsAd>±iiistrator桌面Debug新建 文本文档-ex亡欢迎来到大学生运动会管理系魏MKKMMKMKMMMKMMMMMlCKMKKMMKKMKKMXWMWXWWMKMKMMMMKMMMMMKMMKMMMKKMMMJCMMMlCKltKlgKMMM请输入参赛的学校数,男子项目数,女子项目数,总的参赛人数:i 3 3 11盂 *C:Docu»eiits and SettingsAd»inistrator桌面XDebugXS建 文*文档-ehe

22、图10:欢迎来到大学生运动*2 3 4 5 6?4询 洽查询丈按项E统甘各女字: 鳶出S学校成绩表 退岀信息并记录虑绩-校查皐个项目-项g查取得够的学校- 交总分 士-顶目寥分-顶目a分-«1请输入您的济;输入学号以茨要查的项目世号,1 3该学校在该项目姓名为lucy取得輛:4图10图11:关于功能3 :按照运动会的项目代号进行学校成绩的查询,其功能实现的截图如試 *C:Docu»ents and SettingsAd>±nistrator桌面DebugS建 文*文档-exe!*1234567B0成枝呼 常询各各各岀各岀 « Hft出 暑査统统统驀

23、退S16目目 -项项 分刊 舅女? Xnnwinnnrmrirf If nirwnnnnnniWH MWWHWWkHmJtMM H H HHK*请输入您的选择:输入所要查的项目代号:3S3_5_5咬咬咬咬咬35145在项目上3姓名为 在项目上3姓名为 在项目上3姓名第 在项目上3姓名为 在项目上M姓容为是是是是是 绩缀绩绩绩 成成成成成 几八 L冲r LC八 L冲几 耳耳耳耳耳 9 n y n e 1 i c fl h f * ur 1图11关于功能4:统计出各参赛学校在运动会中取得的总分,其功能实现的截图如图12 :ETC: Dacu>ent f and Sett ingf Ad>

24、;inist rat Dr:Debu£Sf 文*文档-ese I-I-1 I谊建立参赛君儈息并记录成绩S询 確较查某个项目S诲t盪顼目査眾得成绩的学校 统匸各敷男子项目总分 蔻普官報女子项g总分请输入伫的选择:为为为为为代代代代代12 3 4 5養HH盂于 HUJ- JTT,- JT, 勺二 BHssss - / 2 n 7 - 7-KMT- 亠叉寥二亠另为为为肯为 分分令芬分 总总耳总总按冗细由高到低进彳丁排序.二 厶 二 二 二 为为为为対 分労分分分 恙总总总总 15 3 2 4 为勺为为力 岳e号匸=U 代代代代代 学小亠学学呻图13:图12关于功能5:统计各学校在运动会男子

25、项目上的总分,其功能实现的截图如c:Q *C:Docu*entS and SettingsAd»inistrator桌面DebugS建文*文档.eieWWWWWMWWWWKMKKMWWWWWWWW”12345676e请输入您的选择:和MWWWMMMMW曲濟查取得质绩旳 谿菴鑛子项目总分 统i+各戦女子项目总分目查取得质绩的学較了岀各学校成绩表«|«:«:»!»|12 3 4 5为为为为为肯艺苕暮咬咬咬咬孩筈盂盂于学为为为为为 今分分分分 凸心:心 出 心吕心凸心 八 /八 L2 -1 八 L2 K K K.HIBi 目目目目目 项项项

26、项项 子子子3子 在在-在在在6 17 18按成绩由高到低进行排序,有:分分分分分 总总总总总 5 3 12 4 为为为为为 口苕g旨|P 代代忆代代 咬皎咬找咳 2?图13关于功能6:统计各学校在运动会女子项目中的总分,其功能实现的截图如图14:C:匚 *C:Docu*entS and SettingsAd>inistrator桌面Debug新建 文#文档-ewer34567 BBWWMWM HWHKKMMMKMHUH HWWKWMMKMMWWH牌 H HKKMMMMMWMWWWH ftKWWMKMMl铲得咸绩的学校'二 ifeiteilli 二岀各学狡成绩袤再I41- j请输

27、入您的选择:12 3 4 5为为为为为代忙罠代咬咬咬咳为为为为为 分分分分分 凸 心;0心:心 已 心凸心 抵的阿瓶抵 H# 取取取取取 目目目目目 项项项项顶 子子子子子 -fk女矢女 在在在.在起2 4 0 10按成绩由高到低进行排序,有:分沖分分分 凸心凸心a心凸心巴心 2 14 3 5 为为为为为 吃代代代代 咬咬咬找咬 s$s4 2 10 0关于功能7:输出所有学校所有参赛者在运动会中的所有信息,其功能实现的截图如图15:C斤 C:Docu»entS and SettingsAd>inistrator桌面DebugS建 文*文档-exet2345678aIMMMWMB

28、HIMMMMMWWWIIMH«WKWHWWMWHW rr幡議瞬:查 询f技项g查取得成绩的学校 统计各学唆总分-统匸各爭交男子项g总分-缢i+荐孕校女字我I总分-*sI岀严成绩表mJMKWWMMKKMKKKKKKMWIIW WKXMMKMMMMWMWH WKMKKKKKKKWMW WKWKKMKKKMMMMMWMMatXKKKKMMMWWWa:请输入您的选择:学校代号编号项目号姓名成绩:123451234511234567B91015353311335SU doDg fly han rain lucy wan GTan he zhen24316414122&输出各学校所有信息

29、关于功能顺序输出的,其功能实现的截图如图15(运动会中分数及参赛者所得分数)图16:,是按照每个学校的5>|X41成绩:11SU lucy zhen成绩:34的学拯绩际项目号姓名135的学生成绩报衰:项目号姓名3fly1uang的学生威绩握袤:项目号姓名5dong1yan请输入S的选择I学校代号为学校代号为学校代号为的学味成绩报表:项目号姓名33rain he成绩:62强 *C:Docu*entS and SettinEsAd»inistrator桌面XDebugXS建 文本文档-眈e学校代号为的学生成绩报袤:项目号姓名5han3an图16关于功能0:推出此系统的使用,使用之后

30、会出现以下截面图17:C:Docu>entS and SettingsAd>inistrator桌面Debug新建 文#文档-ex亡*!«1«1分分凸心吕心 目目 项项(導g分子子-書项总男女8報 -立询询各各各岀各岀1查统统统W - 一 -T -1H II H II请输入您的选择:欢迎您使用大学生运动会管理系统,再见IPress any key to continue图17图9:关于功能1 ,即建立参赛者信息并记录成绩这个功能实现的截图如c:*C:Docu»ents and Sett inesAd>lnistrat or桌面XDebueVS建

31、文本文档-exE请输入您的选择:依次输入校代号,项目号.姓名,成绩:1 1 SU 2恭喜您.建立成功!是否迪续添加?1是0否依次输入校代号,项目号,姓名,成绩:2 5 dang 4恭喜您t建立成功!臺否继续添加?-是-否d第决输人校代号,项目号,姓名,成绩:3 3 £193恭喜S*建立成功I 是否继续添期?1是0否恆次输扎校代号,项g号,姓名,成绩:4 5 ha.ni 1恭喜您,建立成功I是否继续添加?依次输人校代号,项目号姓名,成绩:5 3 Min t恭喜您.建立成功!是否继续添加?1是j依次输入校代号”项g号”姓名,成绩:1 3 lucjf 4恭喜您.建立成功! 是否继续添扣?

32、k七、参考文献李红、王昆仑等编著数据结构与算法八、源程序#in clude<stdio.h>#in clude<stri ng.h>#in clude<malloc.h>#in clude<stdlib.h>#defi ne NULL 0#defi ne size 100static int n=0;/int count;typ edef struct char name100;中国铁道出版社2007年6月第1版/节点姓名xuexiao; xiangmu; score;schooltype; typedef struct schooltype s

33、csize; int n; int m; int w; int r;seqlist;typedef structint key;int xiaohao;recordtype;typedef structrecordtype rsize;list;void savefile(seqlist *,int );void set(seqlist *L)int i,x; for(i=1;i<=L->r;i+) printf(" 依次输入校代号 ,项目号 ,姓名 ,成绩 :n");int int int/学校代号/项目代号/成绩/顺序表/工作单元/学校数 /男子项目数 /女

34、子项目数 /总参赛人数/节点/放分/放校代号/顺序表为方便排序而建立的/工作单元/函数的声明scanf("%d%d%s%d",&L->sci.xuexiao,&L->sci.xiangmu,&L->,&L->sci.score); savefile(L,i);printf("n 恭喜您,建立成功! n");printf(" 是否继续添加? n");printf("1 是 n");printf("0 否 n");scanf(&

35、quot;%d",&x);if(x=0) return;while(x!=1)&&(x!=0)printf(" 您的输入有误,请重新输入! "); scanf("%d",&x);void search1(seqlist *L)/ 按学校代号查某个项目的情况 int i,j,n;int flag=1;printf(" 输入学号以及要查的项目代号 :n"); scanf("%d%d",&i,&n);for(j=1;j<=L->r;j+) if(L-&

36、gt;scj.xuexiao=i&&L->scj.xiangmu=n) printf(" 该 学 校 在 该 项 目 姓 名 为 %s 取 得 成 绩 : %dn",L->,L->scj.score);flag=0;n");if(flag=1) printf(" 查找不到您所要超找的学生和项目!void search2(seqlist *L)/ 按项目代号查取得成绩的学校 int j,k;int flag=1;printf(" 输入所要查的项目代号: n"); scanf("

37、%d",&k);for(j=1;j<=L->r;j+) if(L->scj.xiangmu=k&&L->scj.score!=0) 姓 名 为 %8s 取 得 成 绩/统计各学校总分printf(" 学 校 代 号 %d 在 项 目 上 %d是 %4dn",L->scj.xuexiao,k,L->,L->scj.score);flag=0;if(flag=1) printf(" 查找不到您所要查找的项目! n");void school(seqlist *L,li

38、st *s)int i,j,sum;for(i=1;i<=L->n;i+)sum=0;for(j=1;j<=L->r;j+) if(L->scj.xuexiao=i) sum=sum+L->scj.score;s->ri.xiaohao=i;s->ri.key=sum;printf(" 学校代号为 %d 的学校取得的总分为 : %dn",i,sum);void boy(seqlist *L,list *s)/ 统计各学校男子项目总分int i,j,sum;for(i=1;i<=L->n;i+)sum=0;for(j

39、=1;j<=L->r;j+)if(L->scj.xuexiao=i)if(L->scj.xiangmu)<(L->m)|(L->scj.xiangmu)=(L->m)sum=sum+L->scj.score;s->ri.xiaohao=i;s->ri.key=sum;printf(" 学校代号为 %d 在男子项目取得的总分为 : %dn",i,sum);void girl(seqlist *L,list *s)/ 统计各学校女子项目总分int i,j,sum;for(i=1;i<=L->n;i+)

40、sum=0;for(j=1;j<=L->r;j+)if(L->scj.xuexiao=i)if(L->scj.xiangmu)>(L->m) sum=sum+L->scj.score;s->ri.xiaohao=i;s->ri.key=sum;printf(" 学校代号为 %d 在女子项目取得的总分为 : %dn",i,sum);void paixu(seqlist *L,list *s)/ 直接插入排序int i,j,k;for(i=1;i<=L->n;i+)s->r0=s->ri;j=i-1;

41、while(s->r0.key>s->rj.key)s->rj+1=s->rj;j=j-1;s->rj+1=s->r0;printf(" n 按成绩由高到低进行排序,有 : nn"); for(k=1;k<=L->n;k+)printf(" 学校代号为 %d 总分为 : %dn",s->rk.xiaohao,s->rk.key);printf("n");void baobiao(seqlist *L)int i,j; for(i=1;i<=L->n;i+)p

42、rintf(" 学校代号为 %d 的学生成绩报表 :nn",i);printf("tt 项目号 姓名 成绩 :n"); for(j=1;j<=L->r;j+)if(i=L->scj.xuexiao)printf("tt %d t %4st%dn",L->scj.xiangmu,L->,L->scj.score); printf("n");void output(seqlist *L)int j;printf(" 学校代号 编号 项目号 姓 名 成绩 :n

43、"); for(j=1;j<=L->r;j+)printf("%d%2d%d%5s%dn",L->scj.xuexiao,j,L->scj.xiangmu,L->,L->scj.score);seqlist *loadfile()FILE *fp;char buf100;fp=fopen(" 运动员系统 22.txt","r");seqlist *s;s=(seqlist *)malloc(sizeof(seqlist); fscanf(fp,"%d%d%d%d&

44、quot;,&s->r,&s->n,&s->m,&s->w);for(int i=1;i<=s->r;i+)fscanf(fp,"%s",buf);strcpy(s->,buf);fscanf(fp,"%d%d%d",&s->sci.xuexiao,&s->sci.xiangmu,&s->sci.score);fclose(fp);return s;/ 用来打开磁盘文件,读取相关数据void savefile(seqlist

45、 *s,int i)FILE *fp;if(fp=fopen(" 运动员系统 22.txt","a+")=NULL)printf("Cannot open the file!n");return; n+; if(n=1) fprintf(fp,"%dt",s->r); fprintf(fp,"%dt",s->n); fprintf(fp,"%dt",s->m);fprintf(fp,"%dn",s->w); fprintf(fp,"%st",s->); fprintf(fp,"%dt",s->sci.xuexiao); fprintf(fp,"%dt",s->sci.xiangmu); fprintf(fp,"%dn",s->sci.score); fclose(fp);/ 菜单函数,

温馨提示

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

评论

0/150

提交评论