C语言程序设计方案报告学生管理系统 .docx

上传人:Che****ry 文档编号:13053389 上传时间:2022-04-27 格式:DOCX 页数:30 大小:67.31KB
返回 下载 相关 举报
C语言程序设计方案报告学生管理系统 .docx_第1页
第1页 / 共30页
C语言程序设计方案报告学生管理系统 .docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《C语言程序设计方案报告学生管理系统 .docx》由会员分享,可在线阅读,更多相关《C语言程序设计方案报告学生管理系统 .docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习C 语言程序设计大型作业报告题目:同学信息治理可编辑资料 - - - 欢迎下载精品名师归纳总结一、实践的目的和要求加深对 C 语言课程所学学问的懂得,进一步巩固C 语言语法规章。学会编制结构清晰、风格良好、数据结构适当的语言程序,从而具备解决综合性实际问题的才能。二、实践内容在娴熟把握 C 语言的基本学问:数据类型(整形、实型、字符型、指针、数组、结构等)。运算类型(算术运算、规律运算、自增自减运算、赋值运算等)。程序结构(次序结构、判定选择结构、循环结构)。大程序的功能分解方法(即

2、函数的使用)等。进一步把握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。三、实践任务现有同学成果信息,内容如下 姓名学号 语文 数学 英语张明明 01677882李成友 02789188张辉灿 03688256王露04564577陈东明 05673847. .请用 C 编写一系统,实现同学信息治理,软件的入口界面应包括如下几个方面:(一)功能要求:(1) 信息爱护:要求:同学信息数据要以文件的形式储存,能实现同学信息数据的爱护。此模块包括子模块有:增加同学信息、删除同学信息、修改同学信息(2) 信息查询:要求:查询时可实现按姓名查询、按学号查询(3) 成果统计:可编辑资料 -

3、- - 欢迎下载精品名师归纳总结要求: A 输入任意的一个课程名(如数学)和一个分数段(如60-70 ),统计出在此分数段的同学情形。(4) 排序:能对用户指定的任意课程名,按成果升序或降序排列同学数据并显示排序结果(使用表格的形式显示排序后的输出结果)(使用多种方法排序者,加分)(二)其它要求:(1) 只能使用 C 语言,源程序要有适当的注释,使程序简洁阅读(2) 至少接受文本菜单界面(假如能接受图形菜单界面更好)(3) 同学可自动增加新功能模块(视情形可另外加分)(4) 写出课程设计报告,具体要求见相关说明文档四、相关程序#include stdio.h#include stdlib.h#

4、include string.hint shoudsave=0。 /* */ struct studentchar num10。/* 学号 */ char name20。char sex4。int cgrade。int mgrade。int egrade。int totle 。int ave 。可编辑资料 - - - 欢迎下载精品名师归纳总结char neartime10。/* 最近更新时间 */。typedef struct nodestruct student data。struct node *next。Node,*Link。void menuprintf*。printft1登记同学资料

5、 ttttt2删除同学资料 n 。printft3查询同学资料 ttttt4修改同学资料 n 。printft5储存同学资料 ttttt0退出系统 n 。printf*n。void printstartprintf-n。void Wrongprintfn=提示 :输入错误 .n 。可编辑资料 - - - 欢迎下载精品名师归纳总结void Nofindprintfn=提示 :没有找到该同学 .n 。void printc /*本函数用于输出中文*/printf学号t 姓名 性别 英语成果 数学成果 C 语言成果 总分 平均分 n 。void printeNode *p/*本函数用于输出英文*/p

6、rintf%-12s%st%st%dt%dt%dt%dt%dn,p-data.num,p-data.name,p-data.sex,p-data.egrade,p-data.mgrade,p-data.cgrade,p-data.totle,p-data.ave。Node* LocateLinkl,char findmess,char nameornum/* 该函数用于定位连表中符合要求的接点,并返回该指针*/Node *r 。ifstrcmpnameornum,num=0 /*按学号查询 */r=l-next 。whiler.=NULLifstrcmpr-data.num,findmess=

7、0可编辑资料 - - - 欢迎下载精品名师归纳总结return r 。r=r-next 。else ifstrcmpnameornum,name=0 /*按姓名查询 */r=l-next 。whiler.=NULLifstrcmpr-data.name,findmess=0return r 。r=r-next 。return 0 。void AddLink l /*增加同学 */Node *p,*r,*s 。char num10 。r=l 。s=l-next 。whiler-next.=NULLr=r-next 。 /* 将指针置于最末尾*/可编辑资料 - - - 欢迎下载精品名师归纳总结wh

8、ile1printf请你输入学号 以0 返回上一级菜单 : 。scanf%s,num。ifstrcmpnum,0=0break 。whilesifstrcmps-data.num,num=0printf=提示 :学号为 %s 的同学已经存在 ,如要修改请你选择4 修改.n,num。printstart。printc 。printes。printstart。printfn。return 。s=s-next。p=Node *mallocsizeofNode。strcpyp-data.num,num。printf请你输入姓名 : 。可编辑资料 - - - 欢迎下载精品名师归纳总结scanf%s,p-

9、data.name。getchar 。printf请你输入性别 : 。scanf%s,p-data.sex。getchar 。printf请你输入语文成果: 。scanf%d,&p-data.cgrade。getchar 。printf请你输入数学成果: 。scanf%d,&p-data.mgrade。getchar 。printf请你输入英语成果: 。scanf%d,&p-data.egrade。getchar 。p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade。p-data.ave=p-data.totle / 3。/* 信息输入

10、已经完成*/ p-next=NULL。r-next=p 。r=p 。shoudsave=1。可编辑资料 - - - 欢迎下载精品名师归纳总结void QurLink l /*查询同学 */int sel 。char findmess20。Node *p 。if.l-nextprintfn=提示 :没有资料可以查询 .n 。return 。printfn=1按学号查找 n=2按姓名查找 n 。scanf%d,&sel。ifsel=1/*学号 */printf请你输入要查找的学号 : 。scanf%s,findmess。p=Locatel,findmess,num。ifpprintftttt查找结

11、果 n 。printstart。printc 。printep 。printstart。可编辑资料 - - - 欢迎下载精品名师归纳总结elseNofind 。else ifsel=2 /*姓名 */printf请你输入要查找的姓名 : 。scanf%s,findmess。p=Locatel,findmess,name。ifpprintftttt查找结果 n 。printstart。printc 。printep 。printstart。elseNofind 。elseWrong 。void DelLink l /*删除 */可编辑资料 - - - 欢迎下载精品名师归纳总结int sel 。N

12、ode *p,*r。char findmess20。if.l-nextprintfn=提示 :没有资料可以删除 .n 。return 。printfn=1按学号删除 n=2按姓名删除 n 。scanf%d,&sel。ifsel=1printf请你输入要删除的学号 : 。scanf%s,findmess。p=Locatel,findmess,num。ifpr=l 。whiler-next.=pr=r-next 。r-next=p-next。freep 。printfn=提示 :该同学已经成功删除 .n 。可编辑资料 - - - 欢迎下载精品名师归纳总结shoudsave=1。elseNofind

13、 。else ifsel=2printf请你输入要删除的姓名 : 。scanf%s,findmess。p=Locatel,findmess,name。ifpr=l 。whiler-next.=pr=r-next 。r-next=p-next。freep 。printfn=提示 :该同学已经成功删除 .n 。shoudsave=1。elseNofind 。else可编辑资料 - - - 欢迎下载精品名师归纳总结Wrong 。void ModifyLink lNode *p 。char findmess20。if.l-nextprintfn=提示 :没有资料可以修改 .n 。return 。pri

14、ntf请你输入要修改的同学学号: 。scanf%s,findmess。p=Locatel,findmess,num。ifpprintf请你输入新学号 原先是 %s:,p-data.num。scanf%s,p-data.num。printf请你输入新姓名 原先是 %s:,p-data.name。scanf%s,p-data.name。getchar 。printf请你输入新性别 原先是 %s:,p-data.sex。scanf%s,p-data.sex。可编辑资料 - - - 欢迎下载精品名师归纳总结printf请你输入新的语文成果原先是 %d分:,p-data.cgrade。scanf%d,&

15、p-data.cgradegetchar 。printf请你输入新的数学成果原先是 %d分:,p-data.mgrade。scanf%d,&p-data.mgradegetchar 。printf请你输入新的英语成果scanf%d,&p-data.egrade原先是 %d。分:,p-data.egrade。p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade。p-data.ave=p-data.totle/3。printfn=提示 :资料修改成功 .n 。shoudsave=1。elseNofind 。void DispLink lint

16、 count=0。Node *p 。p=l-next 。if.pprintfn=提示 :没有资料可以显示 .n 。可编辑资料 - - - 欢迎下载精品名师归纳总结return 。printftttt显示结果 n 。printstart。printc 。printfn。whilepprintep 。p=p-next。printstart。printfn。void TongjiLink lNode *pm,*pe,*pc,*pt,*pa。 /* 用于指向分数最高的接点*/ Node *r=l-next。if.rprintfn=提示 :没有资料可以统计 .n 。return。pm=pe=pc=pt=

17、pa=r。可编辑资料 - - - 欢迎下载精品名师归纳总结whiler.=NULLifr-data.cgrade=pc-data.cgradepc=r 。ifr-data.mgrade=pm-data.mgradepm=r 。ifr-data.egrade=pe-data.egradepe=r 。ifr-data.totle=pt-data.totlept=r 。ifr-data.ave=pa-data.avepa=r 。r=r-next 。printf-统计结果 -n。printf总分最高者 :t%s %d分n,pt-data.name,pt-data.totle。printf平均分最高者

18、:t%s %d分n,pa-data.name,pa-data.ave。printf英语最高者 :t%s %d分n,pe-data.name,pe-data.egrade。printf数学最高者 :t%s %d分n,pm-data.name,pm-data.mgrade。printfc语言最高者 :t%s %d分n,pc-data.name,pc-data.cgrade。printstart。void SortLink l可编辑资料 - - - 欢迎下载精品名师归纳总结Link ll 。Node *p,*rr,*s。ll=LinkmallocsizeofNode。 /* 用于做新的连表 */ l

19、l-next=NULL。ifl-next=NULLprintfn=提示 :没有资料可以排序 .n 。return。p=l-next 。whileps=Node*mallocsizeofNode。 /* 新建接点用于储存信息*/ s-data=p-data。s-next=NULL。rr=ll 。whilerr-next.=NULL & rr-next-data.totle=p-data.totlerr=rr-next。ifrr-next=NULLrr-next=s。else可编辑资料 - - - 欢迎下载精品名师归纳总结s-next=rr-next。rr-next=s。p=p-next。free

20、l 。l-next=ll-next。printfn=提示 :排序已经完成 .n 。void SaveLink lFILE* fp 。Node *p 。int flag=1,count=0。fp=fopenc:student,wb。iffp=NULLprintfn=提示 :重新打开文件时发生错误.n 。exit1 。p=l-next 。whilep可编辑资料 - - - 欢迎下载精品名师归纳总结iffwritep,sizeofNode,1,fp=1p=p-next。count+ 。elseflag=0 。break 。ifflagprintfn=提示 :文件储存成功 .有%d 条记录已经储存 .

21、n,count。shoudsave=0。fclosefp。void mainLink l 。/* 连表 */FILE *fp 。 /* 文件指针 */ int sel 。char ch 。可编辑资料 - - - 欢迎下载精品名师归纳总结char jian 。int count=0。Node *p,*r。printftttt同学成果治理系统 。l=Node*mallocsizeofNode。l-next=NULL。r=l 。fp=fopenf:student,rb。iffp=NULLprintfn=提示 :文件仍不存在,是否创建?y/nn 。scanf%c,&jian。ifjian=y|jian

22、=Yfp=fopenf:student,wb。elseexit0 。printfn=提示 :文件已经打开 ,正在导入记录 .n 。while.feoffpp=Node*mallocsizeofNode。iffreadp,sizeofNode,1,fp /*将文件的内容放入接点中*/可编辑资料 - - - 欢迎下载精品名师归纳总结p-next=NULL。r-next=p 。r=p 。 /* 将该接点挂入连中*/ count+ 。fclosefp。 /* 关闭文件 */printfn=提示 :记录导入完毕 ,共导入 %d 条记录 .n,count。while1menu 。printf请你选择操作

23、: 。scanf%d,&sel。ifsel=0ifshoudsave=1 getchar。printfn=提示 :资料已经改动 ,是否将改动储存到文件中y/n.n。scanf%c,&ch。ifch=y|ch=YSavel 。printfn=提示 :你已经退出系统 ,再见 .n 。可编辑资料 - - - 欢迎下载精品名师归纳总结break 。switchselcase 1:Addl。break 。 /* 增加同学 */ case 2:Dell。break 。/* 删除同学 */ case 3:Qurl。break 。/* 查询同学 */ case 4:Modifyl。break 。/* 修改同学

24、 */ case 5:Savel。break 。/* 储存同学 */case 9:printfttt=帮忙信息 =n。break 。default: Wrong。getchar。break 。版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人全部This article includes some parts, including text,pictures, and design. Copyright is Pan Hongliangs personalownership.用户可将本文的内容或服务用于个人学习、争论或观看,以及其他非商业性或非盈利性用途,但同时应

25、遵守著作权法及其他相关法律的规定,不得侵害本网站及相关权益人的合法权益。除此以可编辑资料 - - - 欢迎下载精品名师归纳总结外,将本文任何内容或服务用于其他用途时,须征得本人及相关权益人的书面许可,并支付酬劳。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by th

26、e provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the pers

27、on concerned and the relevant obligee.转载或引用本文内容必需是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修 改,并自负版权等法律责任。Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁