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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(淮海工学院课程设计学生成绩管理系统Word下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

淮海工学院课程设计学生成绩管理系统Word下载.docx

1、2) 菜单函数,提供一个可以选择任何一个功能的选择窗口,供用户选择需要执行的操作3) 打开文件函数,把文件的信息打开到一个结构体数组中4) 输入函数,提供录入职工信息功能5) 输出函数,提供学生信息输出功能,浏览学生信息6) 排序函数,提供对学生信息检索,按条件查找排序功能7) 删除学生信息函数,提供对学生信息的删除功能8) 退出函数,执行退出功能4 关键功能算法和绘制函数流程图4.1 整体流程图开 始主 函 数菜 单Swith删除信息排序查询信息查询输出显示输入功能退 出Y继续结 束图1功能模块4.2 显示模块流程图查找磁盘上的文件成功否用for语句实现把文件的所有内容输入到数组中图2显示模

2、块4.3 保存模块流程图开始建立(查找)磁盘文件用for语句实现把数组的所有内容储存在文件中 结束图3保存模块4.4 输入模块流程图输入各个学生的信息结束N图4 输入模块4.5 排序模块流程图:从文件中读入数据swith平均成绩总成绩英语成绩数学成绩语文成绩图5排序模块4.6 显示模块流程图执行函数输出每个学生的信息学号不存在图6显示模块4.7 删除函数流程图:执行open()函数输入需要删除的学生号是否找到把该员工后面的每一个学生信息陆续前提执行close()函数把新的学生信息输出到文件中保存起来图7删除模块4.8 查找函数的流程图:执行open()函数从文件中读入数据输入要查询的学生学号是

3、否存在匹配输出学生的各科成绩图8查找模块5 运行结果说明5.1 主菜单:图9主菜单5.2 输入界面:图10输入界面5.3 排序界面图11排序界面5.4 查询界面:图12查询界面5.5 删除界面:图13删除界面5.6 保存界面:图14保存界面5.7 修改界面图15修改界面5.8 统计界面图16统计界面6 简要总结及自我评价忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功

4、指日可待。另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。为了解决此。类问题,最好就是多向同学,老师请教,不要怕难为情。尤其是老师,评他们多年的编写程序的经验,要解决我们的问题,对他们来说只是小事。在设计这个程序时,我们刚开始是根据老师给我们提供的资料,用画图以及循环将框架设计出来,但是接下去便无从下手了,计算是个关键和难点,我们也查了相应的资料,但是它上面用得是坐标来做的,所以为了方便设计程序,我们也改为坐标来做的,这样计算问题解决了。接下去就是按键问题,我们的资料是用鼠标做的,所以

5、关于按键这个函数就只能我们自己设计,还好手头有类似的资料,经过自己的反复尝试以及与与同学的讨论,这也不难,最好还是被我们搞定了。最后就是闪烁,这个设计的方法很死板,都一个类型,就是算坐标比较烦琐,要确定好它的位置,但是这些只要你自己愿意去尝试,问题都可以迎刃而解的。从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让我知道团队精神得难能可贵,尽管一年下来大家不怎么有多大接触,但是彼此之间的友谊已经在我们心里扎根生底,在遇到问题时,我们会共同进退,每个人都很慷慨不会因为是通过自己艰辛劳动设计出来的东西而不准他人剽窃了。总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会7 参考文献

6、1谭浩强著.C程序设计(第三版). 北京:清华大学出版社,20052Herbert Schildt著.王曦若译.ANSI C标准详解. 北京:学院出版社,19943谭浩强著.C程序设计(第二版). 北京:清华大学出版社,1999 程序:#include stdio.h /*标准输入输出函数库*/stdlib.h /*标准函数库*/string.h /*字符串函数库*/conio.h /*屏幕操作函数库*/#define HEADER1 -students information- n#define HEADER2 | Number | Name |C|Math|English| Total |

7、 Average | n#define HEADER3 |-|-|-|-|-|-|-|#define FORMAT | %-10s |%-15s|%4d|%4d|%4d| %4d | %.2f |n#define DATA p-data.num,p-data.name,p-data.egrade,p-data.mgrade,p-data.cgrade,p-data.total,p-data.ave#define END - nint shoudsave=0; /* */struct studentchar num10;/* Number */char name20;char sex4;int

8、cgrade;int mgrade;int egrade;int total;float ave;char neartime10;/* 最近更新时间 */;typedef struct nodestruct student data;struct node *next;Node,*Link;/*函数*/void menu()system(cls); /*调用DOS命令,清屏.与clrscr()功能相同*/cprintf(nprintf(Students performance management systemnnMenun *1 input 2 delete *n *3 search 4 m

9、odify *n *5count *n *6 sort 7 save *n *8 dispaly 0 exit *nn/*cprintf()送格式化输出至文本窗口屏幕中*/void printheader() /*格式化输出表头*/printf(HEADER1);printf(HEADER2);printf(HEADER3);void printdata(Node *pp) /*格式化输出表中数据*/Node* p;p=pp;printf(FORMAT,DATA);void Wrong()n=error!void Nofind()No record now!Please press Enter

10、nvoid Disp(Link l) /*显示单链表l中存储的学生记录,内容为student结构中定义的内容*/Node *p;p=l-next; /*l存储的是单链表中头结点的指针,该头结点没有存储学生信息,指针域指向的后继结点才有学生信息*/if(!p) /*p=NULL,NUll在stdlib中定义为0*/getchar();return;nnprintheader(); /*输出表格头部*/while(p) /*逐条输出链表中存储的学生信息*/printdata(p);p=p- /*移动直下一个结点*/*作用:用于定位链表中符合要求的节点,并返回指向该节点的指针参数:findmess保

11、存要查找的具体内容; nameornum保存按什么查找; 在单链表l中查找;*/Node* Locate(Link l,char findmess,char nameornum) /* 该函数用于定位连表中符合要求的接点,并返回该指针 */Node *r;if(strcmp(nameornum,num)=0) /* 按Number查询 */r=l-while(r!=NULL)if(strcmp(r-data.num,findmess)=0)return r;r=r-else if(strcmp(nameornum,name)=0) /* 按Name查询 */data.name,findmess

12、)=0)return 0;/*增加学生记录*/void Add(Link l)Node *p,*r,*s; /*实现添加操作的临时的结构体指针变量*/char ch,flag=0,num10;r=l;s=l-Disp(l); /*先打印出已有的学生信息*/while(r-next! /*将指针移至于链表最末尾,准备添加记录*/while(1) /*一次可输入多条记录,直至输入Number为0的记录结点添加操作*/while(1) /*输入Number,保证该Number没有被使用,若输入Number为0,则退出添加记录操作*/please input the Number(pressoto u

13、pper level):scanf(%s,num);flag=0;if(strcmp(num,0)=0) /*输入为0,则退出添加操作,返回主界面*/ return; while(s) /*查询该Number是否已经存在,若存在则要求重新输入一个未被占用的Number*/ if(strcmp(s-data.num,num)=0) flag=1; break; s=s-if(flag=1) /*提示用户是否重新输入*/ getchar(); printf(=Number %s existed already!Please press Enter.input again?(y/n): scanf(

14、%c,&ch); if(ch=y|ch=Y) continue; else return; break;p=(Node *)malloc(sizeof(Node); /*申请内存空间*/p)n Allocate memory failure /*如没有申请到,打印提示信息*/ return ; /*返回主界面*/strcpy(p-data.num,num); /*将字符串num拷贝到p-data.num中*/please input the Name:,p-data.name);please input the score of C:%dp-data.cgrade);please input

15、the score of Math:data.mgrade);please input the score of English:data.egrade);/* 信息输入已经完成 */next=NULL;r-next=p;r=p;shoudsave=1;void Qur(Link l) /*按Number或Name,查询学生记录*/int sel; /*1:按Number查,2:按Name查,其他:返回主界面(菜单)*/char findmess20; /*保存用户输入的查询内容*/l-next)/*若链表为空*/1Search by Numbern=2Search by Namen sele

16、ct1,2:sel);if(sel=1)/* Number */please input the Number you want to search:,findmess);p=Locate(l,findmess,/*在l中查找Number为searchinput值的节点,并返回节点的指针*/if(p)/*若p!=NULL*/ printheader(); printdata(p); printf(END);press any key to back getchar();elseNofind();else if(sel=2) /* Name */please input the Name you

17、 want to search:if(p) Nofind();Wrong();/*删除学生记录:先找到保存该学生记录的节点,然后删除该节点*/void Del(Link l) /* 删除 */Node *p,*r;next)no record!1Delete by Numbern=2Delete by Namenif(sel=1)please input the Number you want to delete:=p)next=p-free(p);Delete successful!else if(sel=2)please input the Name you want to delete:

18、/*修改学生记录。先按输入的Number查询到该记录,然后提示用户修改Number之外的值,Number不能修改*/void Modify(Link l) system(modify the informationplease input the Number you want to modify:please input the new Number(which was %s):data.num);please input the new Name(which was %s):please input the new C score(which was %d):please input th

19、e new Math score(which was%d):please input the new English score(which was%d):modify successful!void Tongji(Link l)Node *pm,*pe,*pc,*pt,*pa; /* 用于指向分数最高的接点 */Node *r=l-int num1=0,num2=0,num3=0,num4=0,num5=0;int select;r)return ;pm=pe=pc=pt=pa=r;select the subject you want to count:1.C 2.Math 3.Englishn

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

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