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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构之学生成绩管理系统.docx

1、数据结构之学生成绩管理系统学生成绩管理系统一、实验目得1、通过此次课程设计中学生成绩管理系统得题目,掌握链表等数据结构得基本操作方面得知识,并能灵活得解决一些基本得问题,加深对其性质及各项操作得理解;、 将所学数据结构方面得知识与一门具体得语言语言来进行实现,感受数据结构得强大作用,加深理解.二、 试验要求管理系统中有五个要求:输入 查找 修改 插入 删除 存储(1) 输入要求:能够通过键盘输入与文件输入两种(2) 查找要求:能够根据学生号查找单个学生得信息,也可以遍历所有学生信息(3) 修改要求:能够根据学生号修改单个学生所有信息(4) 插入要求:能够实现头插与尾插(5) 删除要求:能够根据

2、学生号删除单个学生信息(6) 存储要求:通过链表存储所有信息三、 算法得思想与算法实现步骤1、基本思想通过链表数据类型进行基本操作,主要有三个模块:分别就是主函数模块、主要操作函数及基本操作函数.其中,主函数负责其她子函数得调用实现以及基本界面得操作主要函数包括:vod StuInt(Suent ); /学生成绩管理系统得输入函数,由主函数调用oid StuSelet(Stunt ); /学生成绩管理系统得查找函数,由主函数调用void tuAlter(Student ); /学生成绩管理系统得修改函数,由主函数调用vi StInsert(Stuent ); /学生成绩管理系统得插入函数,由主

3、函数调用voi Stlect(tdent *); /学生成绩管理系统得删除函数,由主函数调用vid tuSe(Studnt); /学生成绩管理系统得存储函数,由主函数调用基本操作函数:void SuOtput(Studen *p); 输出函数inSuIp(Stdent *e,Sudent p); /输入函数vodStunpuHand(Suen*head); /学生成绩管理系统得手动输入函数,由输入函数调用void tuInput *head); /学生成绩管理系统得文件输入函数,由输入函数调用v SSelectEr(tudt hed); /学生成绩管理系统得遍历函数,由查找函数调用 void

4、StuSectNumFind(Sudent *had); /学生成绩管理系统得按学号查找函数,由查找函数调用vid StuelctubFind(Stude ead); /学生成绩管理系统得按科目查找函数,由查找函数调用2、实现步骤首先,分析题目要求划分实现模块,定义基本数据类型,诸如结构体、链表等;其次,针对上述得基本操作实现具体需要进行得操作,具体实现每个环节需要进行得基本操作,即具体编写每个小函数实现功能;最后,编写主函数对每个实现进行按需调用,实现操作。3、流程图mainStuMainStuInputStuSelectStuAlterStuInsertStuDelectStuSaveSt

5、uInputHandStuInputFileStuSelectErgStuSelectNumFindStuSelectSubFind四代码:includestdi、h#iclesruct tudet char name10; charsubjet10; inm; nt gade; tue next;void SuMain(); /学生成绩管理系统得主函数,由in函数调用od StuIpt(udnt *); /学生成绩管理系统得输入函数,由主函数调用void StSelec(tuden *); /学生成绩管理系统得查找函数,由主函数调用void StuAlter(Studnt ); /学生成绩管

6、理系统得修改函数,由主函数调用vi tunset(Student); /学生成绩管理系统得插入函数,由主函数调用vodStuDeec(Student ); /学生成绩管理系统得删除函数,由主函数调用voiStuve(Stdent*); 学生成绩管理系统得存储函数,由主函数调用voidtuOutpu(Studnt p); /输出函数it Smor(Suden head,Student *p); /输入函数oi StuOutpt(Suent ) /打印函数,将链表得该节点信息输出 printf(学生姓名:”); intf(”% ,pnae); prinf(”学生号:”); printf(”d ,-

7、um); print(科目: ); pri(s ,p-ect); pintf(”学生成绩:); prin(”%d ”,pgrade);nt Stumpot(Sudnt *hed,tud p) tnt Opion=(Student *)aoc(sizeof(Sden)); /用来判断输入节点中学生号就是否有重复 inion=eadnx; printf(”学生姓名:n”); canf(%s”,pnam); pinf(”学生号:n); sanf(”d,pum); printf(科目:n);san(s”,pubjec); i(pno!=NULL) f(pnio-nu=p-nu!strc(Oiionsb

8、jct,-be)) i(”该学生这门科目已有成绩,请重新输入n); rturn 1; Oinin=Oponet; printf(学生成绩:); scnf(”%d,&pgrade); reurn 0;oidman() StMain();voiStuMai() char ei; /定义wle变量,函数就是否继续进行int num=1; /定义swich变量,函数跳转到哪个子函数 Studned; /定义链表得头指针hd=(Studen *)malc(sie(Suen));/给头指针开辟空间hednex=NULL; /初始化头指针 while(deci!=) prnt( *); pintf( * 1

9、 输入 查找 3 修改 4 插入 *n); int( * 删除 存储 退出 *n”); pnf( *n); scnf(”,um); wich(nm) case 1: StuInut(head); break; as 2: Sulect(hea); bak; cae3: StuAte(e); brek; as 4: StuInser(had); break; ase 5: tueect(a); bea; cs 6: StuSave(hea); brea; efaul: decid=; brek; ;void StuInpuHand(Stdent hea); /学生成绩管理系统得手动输入函数,由输

10、入函数调用i StuInput *ead); /学生成绩管理系统得文件输入函数,由输入函数调用voStnt(Sude *ha) /学生成绩管理系统得输入函数,由主函数调用 cardeide; /定义hile变量,函数就是否继续进行int num; /定义sitch变量,函数跳转到哪个子函数while(decide!n) pntf( *); pritf(” * 1 手动输入 2 文件输入 退出 *”); prif(” *n”); scanf(%d,nm); wtch(num) cas1:StuInuHan(head);br; se:Sunput);dealt: did=n;bea; voi St

11、Inputand(tude head) /学生成绩管理系统得手动输入函数,由输入函数调用 if(hed-ext=ULL) Stuet poit=(Studet )allo(szeof(Stuet); /链表中最后一个节点,只在该函数中存在 pointnext=NUL; it decide1; whil(ede!=0) Sden p=(Stude *)mll(sief(Stdent)); p-next=NULL; StIpr(hed,p); f(heex=ULL) heanxt=; pont=p; se pont-next=p; ont=p; printf(就是否继续:1/0n); ca(%d,

12、dcie); else pit(管理系统中已存在信息,若想输入学生信息,请转插入子系统”);voi StuInpu hea) /学生成绩管理系统得文件输入函数,由输入函数调用 if(head-ext!=NUL) prif(学生管理系统中已有信息,请跳转到插入选项n); reun ; ILE f; printf(请输入文件名(包括物理地址)); ha10;scanf(”s,); i((fp=fpe(,r”))=NUL) printf(ca n pen filen); eun; tuden*point=(Stun )ac(szef(Stden)); tuden *Oiin=(tudent )all

13、oc(izo(Stu); /用来判断输入节点中学生号就是否有重复 whie(!fof(fp)) Opion=ead-next; Stentp(Sdnt)malc(szf(Studt); p-ne=ULL; fread(,sizf(Student),fp); f(Opnon!=NULL) if(Opiionnu=pum&!scm(pnio-bjec,p-ject) print(”该文件中有重复学生信息,请验明再传输n); head-nxt=NULL; return ; Opinon=pinionnex; if(head-ext=ULL) heaextp; point=p; else ointne

14、=p; oip; ; pion=hedext; hil(Opnin-next!NL) Opinn=Oinionex; f(Oini-nenext=NL) Onont=NUL; ; fls(fp); printf(传输成功”);vod StuelectErg(Studnhea); 学生成绩管理系统得遍历函数,由查找函数调用void SteetNuFi(tude d); /学生成绩管理系统得按学号查找函数,由查找函数调用vdtuSelctuind(Stuen *ead); /学生成绩管理系统得按科目查找函数,由查找函数调用void SuSect(Sudenhed) /学生成绩管理系统得查找函数,由

15、主函数调用 char decidey; /定义hil变量,函数就是否继续进行 int num; /定义swtc变量,函数跳转到哪个子函数whl(decie!=n) f(” *); rintf(” * 1 遍历2学号查找 科目查找 退出*n); rint( *n); scanf(%d,nm); switch(um)ase1: SSelecEr(head);rek;cae2: tuSelecumFnd(hea); break; cae : StuSlectSuFnd(head);break;default: decie=n; reak; oid tuSeectErg(Stdet *ead) /学生

16、成绩管理系统得遍历函数,由查找函数调用 Stuet p=(Stent )lloc(sizef(tut); p=hed-next; inti=1; whi(!NUL) prnt(”第位学生信息:n,i); StOutpu(p); p=p-n; i; oid tuelectmFnd(Studn head) /学生成绩管理系统得查找子系统,有查找函数调用 int n; prntf(”输入想要查找学生得学生号:n); scan(d,nu); Stuen =(Suent )aloc(sizeof(Stunt); p=edne; inti=1; wle(p!NULL) f(=pnm) tuut(p); i

17、+; p=pnext; if(=) rtf(没有该学生信息);oid SuSlecubFid(uent had) /学生成绩管理系统得按科目查找函数,由查找函数调用 chr Su0; printf(”输入想要查找科目:n); scanf(”%s”,Sub); Stdetp(Stdent )malloc(sze(udet);p=eadnext; iti1; while(!NULL) if(!trcp(Sub,psbjet) StOutpu(p); ; p=pnxt; (i=1) printf(”没有该学生信息”);vidStuAlter(Stuen *head) /学生成绩管理系统得修改函数,由

18、主函数调用 it num; prit(输入想要查找学生得学生号:n); saf(d,nu); chrub10; ptf(”输入想要查找科目:n); scn(s,ub); Studntp=(Stdnt*)malloc(ze(Se)); =headnext; nt i=; while(p!=NUL) (num=-num&!strcp(Sub,psubject)) rntf(输入修改成绩:n”); scanf(,p-grade); printf(修改成功n”); i+; p=nex; if(i=) pri(没有该学生信息); void tuIsert(Student ) /学生成绩管理系统得插入函数

19、,由主函数调用 Stdet point=(Studen)malloc(izof(Suet)); oin=hdnext; while(pit-nxt!=NULL) oint=iex; /找到尾结点 har deidey; /定义le变量,函数就是否继续进行 it nu; /定义swich变量,函数跳转到哪个子函数 hil(deide!=n) rint(” *n); intf( * 1 头插 2 尾插 3退出 *n); rntf( *n”); can(d,&num); tudetp=(tunt )alloc(ief(Stude)); swich(u) case 1: StuImport(head,

20、p); p-nxt=eadnex; hednext=p; pintf(插入成功n”); break; as2: StImport(had,); point-next=p; pnet=NLL; itf(”插入成功n); break; dea: dcin; bek; od Stlct(udet *d) 学生成绩管理系统得删除函数,由主函数调用 intn; in(输入想要删除学生得学生号:); scaf(%,um); ub10; ptf(输入想要删除科目:n); scan(%s”,Sub); Stuen*p=(tude *)loc(if(Studet);pnt=eanext; int i1;hie(p-nxt!=UL) f(u=p-nextnum&!srm(Su,p-nextubject)) SuOtput(t); printf(”就是否删除:1/0); scanf(”%,&i); if(n

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

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