欢迎来到天天文库
浏览记录
ID:11834077
大小:693.00 KB
页数:23页
时间:2018-07-14
《学生证管理系统—c语言课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言课程设计报告学生证管理系统1.题目与要求该系统应该具有下列功能:1)录入某位学生的学生证信息。2)给定学号,显示某位学生的学生证信息。3)给定某个班级的班号,显示该班所有学生的学生证信息。4)给定某位学生的学号,修改该学生的学生证信息。5)给定某位学生的学号,删除该学生的学生证信息。6)提供一些统计各类信息的功能。【输入要求】应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】1)应用程序运行后,要在屏幕上显
2、示一个菜单。2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。2.功能实现设计2.1总体设计:根据题目要求,由于要设计学生证的管理系统,所以学生证信息中应该包含学号、姓名、性别、班号等信息。除此之外,还要做到先录入,再输出,即如果使用者还没有录入任何学生证信息就不能做任何输出。由于学生信息要不断更改,所以还要设定修改、增加、删除、查找功能。另外,学生数量多而繁,故应设置不同类别的统计功能,供使用者方便使用。综上所述,可将该程序分为:主函数、菜单显示模块、菜单提示模块、学生
3、证信息生成模块、添加学生证信息模块、学生证信息显示模块、学生证信息修改模块、学生证信息删除模块、计算所有学生人数模块、计算各班人数模块。2.2详细设计:1)主函数主函数一般设计比较简洁,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如下图所示:23C语言课程设计报告开始菜单显示函数显示一系列功能根据n的值调用个功能模块函数结束进入main函数体,选择nY【程序】23C语言课程设计报告1)各功能模块设计1.结构体2.输入模块从主函数送进来的n=1,进入structcreate,在st
4、ructcreate中通过链表开辟一个长度为student结构体的连续动态空间。接着在此函数中通过*p1这个指针调用voidtips_create(structstudent*p)函数来提示用户录入学生证各项信息。录入完毕后*p1再从voidtips_create(structstudent*p)函数中跳回structcreate中,将其值赋给*p2,这样保存*p2到开辟的内存单元中即可。具体流程图如下图所示:n=1,调用structstudent*create(void)p1、p2在内存中开辟一段长度提示输入
5、学生证信息,调用voidtips_create(structstudent*p)函数来完成引导用户的信息录入voidtips_create(structstudent*p)返回*p1,*p1再将值赋给*p2,保存在动态存储单元中【程序】23C语言课程设计报告注意:如果输入完毕,要在各项输入时键入0以示。1.学生证信息添加模块该模块的功能主要用于录入完学生证信息后,发现漏录入了信息或学生变动需要添加学生信息用。【程序】2.输出模块23C语言课程设计报告输出模块主要功能有:输出出所有学生的学生证信息、给定学号后输出
6、某位学生的学生证信息和给定班号后输出该班所有学生的学生证信息三大功能。首先,通过main函数得到选择结果(3、4或5),如果选择3则赋值给print函数一个num=0,继而进入第一个分模块——输出所有学生的学生证信息;如果选择4则赋值给print函数一个num=1,继而进入第二个分模块——给定学号后输出某位学生的学生证信息;如果选择5则赋值给print函数一个num=2,继而进入第三个分模块——给定班号后输出该班所有学生的学生证信息。【程序】23C语言课程设计报告该程序流程图如下图所示:开始读入main传过来的
7、intnumNum=?0?1?2?第一分模块第二分模块第三分模块第一分模块流程图如下图所示:23C语言课程设计报告开始读取n的值,确定用户是否已录入任何学生证信息n=0?提示用户录入学生证信息,并返回至菜单选择P=head指向链表的头通过p指针输出链表个项值结束其他各分模流程图与上图类似,这里不多述。1.修改模块修改模块是用于给定某位学生的学号,修改该学生的学生证信息。具体过程:读取学号,在链表中找到相对应的结构单元,用新输入的学生信息替换原有信息。【程序】23C语言课程设计报告1.删除模块删除模块用于给定某位
8、学生的学号,删除该学生的学生证信息。具体过程与修改模块相似。【程序】23C语言课程设计报告1.统计模块1)总人数统计模块【程序】2)各班人数统计模块【程序】23C语言课程设计报告该程序具体操作操作如下:1)判断n的值,若n=0,表明用户还未录入任何学生证信息,提示用户录入学生证信息,并跳至菜单处供用户重新选择。若n不为0,则进入下面的程序。2)将指针*p指向链表的头(head),验证h
此文档下载收益归作者所有