ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:52.48KB ,
资源ID:4047468      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4047468.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课设报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课设报告.docx

1、课设报告目录一、需求分析 2二、概要设计 3三、详细设计 5四、调试分析 15五、用户手册 15六、测试数据 16七、附录 17一、 需求分析1. 声明程序所需要的存放学校各系、学生运动会成绩、学生信息数据的结构体,以便程序函数对数据的处理和操作。2. 编写程序运行所需要的增加、修改、排序、查找、保存函数,主菜单、主函数以实现题目要求。3. 用户需要输入已经获得的数据进入程序,然后在主菜单中选择自己需要的操作,数据最大可达对50个学院的成绩进行处理。4. 程序执行的命令:(1) 输入已获得的数据(2) 选择需要进行的操作(3) 输出需要的结果二、 概要设计1、 声明所需要保存数据的结构体typ

2、edef struct /*collegestruct*/ char name10; int num;College;typedef struct /*scorestruct*/College ColMaxnum;struct int male; int female;scoreMaxnumMaxnum;int m,n,b,g;Score;typedef struct /*itemstruct*/ int score; char name20;item;2、 编写解决问题函数void Push(Score *p); 增加数据函数void Correct(Score *p); 修改数据函数voi

3、d Sort(Score *p); 总成绩排序函数void Malesort(Score *p); 男团体成绩排序函数void Femalesort(Score *p); 女团体成绩排序函数void Colsearch(Score *p); 按院系查找函数void Itemsearch(Score *p); 按项目查找函数int save(Score *p); 程序文件操作函数void Mainmenu(Score *p); 主菜单void main(); 主函数三、详细设计1、结构体数据模块 typedef struct /*collegestruct*/ char name10;学院名字变

4、量 int num;学院编号变量College;typedef struct /*scorestruct*/ College ColMaxnum; struct int male; int female; scoreMaxnumMaxnum; int m,n,b,g;Score;typedef struct /*itemstruct*/ int score;成绩变量 char name20;项目变量item;1、 各个函数内容增加数据函数void Push(Score *p) int flag,i,j,f,b=0,g=0; printf(please put in flag and numbe

5、r:n); scanf(%d %d,&flag,&f);flag=0表示增加了新院系,f表示增加个数 if(flag=0) printf(new college name scoren); for(i=p-m+1;im+f;i+)m表示院系个数 for(j=1;jn;j+)n表示院系编号个数 scanf(%d%d,&p-scoreij.male,&p-scoreij.female); printf(new college name and num:n); for(i=p-m+1;im+f;i+) scanf(%s %d,p-Coli.name,&p-Coli.num); p-m+=f; if(

6、flag=1) printf(new item scoren); for(j=p-n ;jn+f;j+) for(i=0;im;i+) scanf(%d %d,&p-scoreij.male,&p-scoreij.female); if(p-scoreij.male!=-1)b+;b表示男生的成绩个数 if(p-scoreij.female!=-1)g+;g表示女生成绩个数 p-n+=f; p-b+=b; p-g+=g; save(p); Mainmenu(p);2、 修改数据函数void Correct(Score *p) /*xiugaiscore*/ int i,j,sex,f; pri

7、ntf(college num,xiangmu num:n); scanf(%d %d,&i,&j); printf(xiugai scoren); scanf(%d,&f); printf(0manscoren1womanscoren);输入0表示修改男生成绩1表示修改女生成绩 scanf(%d,&sex); if(sex=0)p-scoreij.male=f; if(sex=1)p-scoreij.female=f; save(p); Mainmenu(p);3、 总分排序void Sort(Score *p) /*nameallscore*/ int i,j; item aMaxnum,

8、t; for(i=1;im;i+) ai.score=0; strcpy(ai.name,p-Coli.name); for(j=1;jn;j+) if(p-scoreij.male!=0)ai.score+=p-scoreij.male; if(p-scoreij.female!=0)ai.score+=p-scoreij.female; for(i=1;im-1;i+) for(j=i+1;jm;j+) if(ai.scoreaj.score) t.score=aj.score;strcpy(t.name,aj.name); aj.score=ai.score;strcpy(aj.name

9、,ai.name); ai.score=t.score;strcpy(ai.name,t.name); 对不满足条件的数据交换数据和学院名称得到从大到小顺序的数据 for(i=1;im;i+) printf(%s:%10dn,ai.name,ai.score); Mainmenu(p);4、 男生成绩排序void Malesort(Score *p) /*manpaiming*/ int i,j; item aMaxnum,t; for(i=1;im;i+) ai.score=0; strcpy(ai.name,p-Coli.name); for(j=1;jn;j+) if(p-scoreij

10、.male!=-1) ai.score+=p-scoreij.male; for(i=1;im-1;i+) for(j=i+1;jm;j+) if(ai.scoreaj.score) t.score=aj.score;strcpy(t.name,aj.name); aj.score=ai.score;strcpy(aj.name,ai.name); ai.score=t.score;strcpy(ai.name,t.name); for(i=1;im;i+) printf(%s:%10dn,ai.name,ai.score); Mainmenu(p);5、 女生成绩排序void Females

11、ort(Score *p) /*jisuan*/ int i,j; item aMaxnum,t; for(i=1;im;i+) ai.score=0; strcpy(ai.name,p-Coli.name); for(j=1;jn;j+) if(p-scoreij.female!=-1)ai.score+=p-scoreij.female; for(i=1;im-1;i+) for(j=i+1;jm;j+) if(ai.scoreaj.score) t.score=aj.score;strcpy(t.name,aj.name); aj.score=ai.score;strcpy(ai.nam

12、e,aj.name); ai.score=t.score;strcpy(ai.name,t.name); for(i=1;im;i+) printf(%s:%10dn,ai.name,ai.score); Mainmenu(p);6、 按学院查询void Colsearch(Score *p) /*allnamescore*/ int i,j;printf(college name num:n); scanf(%d,&i); for(j=1;jn;j+) printf(man%dscore%10d woman%dscore%10d,i,p-scoreij.male,i,p-scoreij.fe

13、male); Mainmenu(p);7、 按项目查询void Itemsearch(Score *p) /*chazhaoscore*/ int i,j; printf(xiang mu num:n); scanf(%d,&i); for(j=1;jm;j+) printf(man%dscore%10d women%d score%10d,i,p-scoreji.male,i,p-scoreji.female); Mainmenu(p);8、 保存数据int save(Score *p) int i,j,a=1; FILE *fp; fp=fopen(C:information.txt,w)

14、;打开文件 fprintf(fp,college name num xiangmu man score woman scoren); for(i=1;im;i+&a+) for(j=1;jn;j+) fprintf(fp,%d%d,p-scoreij.male,p-scoreij.female); printf(college name%5s college number%d man item%d score%d woman item%d score %dt,p-Coli.name,p-Coli.num,i,p-scoreij.male,i,p-scoreij.female); fprintf

15、(fp,%3s %10d %10d %10d %10dn,p-Coli.name,p-Coli.num,j,p-scoreij.male,p-scoreij.female); fprintf(fp,name:%s num:%s man%d score:%d woman%d score:%d,p-Coli.name,p-Coli.num,j,p-scoreij.male,j,p-scoreij.female); fclose(fp);关闭文件9、 主菜单void Mainmenu(Score *p) int ch,exit=1; printf(n menu n); printf(0.exit n

16、); printf(1.Push scoren); printf(2.Correct scoren); printf(3.Sort scoren); printf(4.Malesort n); printf(5.Femalesort n); printf(6.Colsearch n); printf(7.Itemsearch n); printf(8.save n); printf(n menu n); while(exit!=0)停止条件 printf(please choose:(0-8) n); scanf(%d,&ch); switch(ch) case 0: exit=0;break

17、; case 1:Push(p);break; case 2:Correct(p);break; case 3:Sort(p);break; case 4:Malesort(p);break; case 5:Femalesort(p);break; case 6:Colsearch(p);break; case 7:Itemsearch(p);break; case 8:save(p);break; default: printf(put in the wrong number!); 10、 主函数void main() Score *p; int t; int i,j; p=(Score *

18、)malloc(sizeof(Score); if(p) printf(enter colleges,items,man,woman:n); scanf(%d %d %d %d,&p-m,&p-n,&p-b,&p-g); printf(input college name and number:n); for(t=1;tm;t+) scanf(%s%d,p-Colt.name,&p-Colt.num); printf(input college each item score:n); for(i=1;im;i+) for(j=1;jn;j+) scanf(%d%d,&p-scoreij.mal

19、e,&p-scoreij.female); Mainmenu(p);11、 函数的调用关系反映了程序的层次结构 主函数菜单函数其他子函数菜单函数用主函数接收数据调用菜单函数循环使用代码解决问题。 三、 调试分析1、开始写好了所有的处理问题的子函数但是没办法解决怎么连接起来的问题,最后参考了机房别的类似程序用菜单函数跟主函数组合调用子函数完成程序。2、对程序的数据接收记得不是很清楚一输入错误就没办法继续使用跳不出程序,后面记住了数据顺序就没有问题。3、程序缺少文件操作的读取功能,找了一些资料还是没办法解决结构体数据的读取程序。五、用户手册 本程序的运行环境为DOS操作系统,执行文件为ydh.ex

20、e; 进入演示程序后,即显示对话形式的提示操作过程,如:要求输入院系名称和学院编号输入院系名称和学院编号输入各个项目的成绩:输入完毕选择需要的操作得到结果在菜单函数输入0结束程序六、测试数据 打印已经输入的数据: 对成绩进行排序:七、附录 源代码#include#include#include#define Maxnum 50typedef struct /*collegestruct*/ char name10; int num;College;typedef struct /*scorestruct*/ College ColMaxnum; struct int male; int fem

21、ale; scoreMaxnumMaxnum; int m,n,b,g;Score;typedef struct /*itemstruct*/ int score; char name20;item;void Mainmenu(Score *p); /*mainmenu*/void Push(Score *p) int flag,i,j,f,b=0,g=0; printf(please put in flag and number:n); scanf(%d %d,&flag,&f); if(flag=0) printf(new college name scoren); for(i=p-m+1

22、;im+f;i+) for(j=1;jn;j+) scanf(%d%d,&p-scoreij.male,&p-scoreij.female); printf(new college name and num:n); for(i=p-m+1;im+f;i+) scanf(%s %d,p-Coli.name,&p-Coli.num); p-m+=f; if(flag=1) printf(new item scoren); for(j=p-n ;jn+f;j+) for(i=0;im;i+) scanf(%d %d,&p-scoreij.male,&p-scoreij.female); if(p-s

23、coreij.male!=-1)b+; if(p-scoreij.female!=-1)g+; p-n+=f; p-b+=b; p-g+=g; save(p); Mainmenu(p);void Correct(Score *p) /*xiugaiscore*/ int i,j,sex,f; printf(college num,xiangmu num:n); scanf(%d %d,&i,&j); printf(xiugai scoren); scanf(%d,&f); printf(0manscoren 1womanscoren); scanf(%d,&sex); if(sex=0)p-s

24、coreij.male=f; if(sex=1)p-scoreij.female=f; save(p); Mainmenu(p);void Sort(Score *p) /*nameallscore*/ int i,j; item aMaxnum,t; for(i=1;im;i+) ai.score=0; strcpy(ai.name,p-Coli.name); for(j=1;jn;j+) if(p-scoreij.male!=0)ai.score+=p-scoreij.male; if(p-scoreij.female!=0)ai.score+=p-scoreij.female; for(

25、i=1;im-1;i+) for(j=i+1;jm;j+) if(ai.scoreaj.score) t.score=aj.score;strcpy(t.name,aj.name); aj.score=ai.score;strcpy(aj.name,ai.name); ai.score=t.score;strcpy(ai.name,t.name); for(i=1;im;i+) printf(%s:%10dn,ai.name,ai.score); Mainmenu(p);void Malesort(Score *p) /*manpaiming*/ int i,j; item aMaxnum,t; for(i=1;im;i+) ai.score=0; strcpy(ai.name,p-Coli.name); for(j=1;jn;j+) if(p-scoreij.male!=-1) ai.score+=p-scoreij.male; for(i=1;im-1;i+) for(j=i+1;jm;j+) if(ai.scoreaj.score) t.score=aj.score;strcpy(t.name,aj.name); aj.score=ai.score;strcpy(aj.name,ai.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1