学生证管理系统—C语言课程设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学生证管理系统—C语言课程设计

学生证管理系统 1.题目与要求 该系统应该具有下列功能: 录入某位学生的学生证信息。 给定学号,显示某位学生的学生证信息。 给定某个班级的班号,显示该班所有学生的学生证信息。 给定某位学生的学号,修改该学生的学生证信息。 给定某位学生的学号,删除该学生的学生证信息。 提供一些统计各类信息的功能。 【输入要求】 应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。 【输出要求】 应用程序运行后,要在屏幕上显示一个菜单。 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。 2.功能实现设计 2.1总体设计: 根据题目要求,由于要设计学生证的管理系统,所以学生证信息中应该包含学号、姓名、性别、班号等信息。除此之外,还要做到先录入,再输出,即如果使用者还没有录入任何学生证信息就不能做任何输出。由于学生信息要不断更改,所以还要设定修改、增加、删除、查找功能。另外,学生数量多而繁,故应设置不同类别的统计功能,供使用者方便使用。 综上所述,可将该程序分为:主函数、菜单显示模块、菜单提示模块、学生证信息生成模块、添加学生证信息模块、学生证信息显示模块、学生证信息修改模块、学生证信息删除模块、计算所有学生人数模块、计算各班人数模块。 2.2详细设计: 主函数 主函数一般设计比较简洁,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如下图所示: 【程序】 各功能模块设计 结构体 输入模块 从主函数送进来的n=1,进入struct create,在struct create中通过链表开辟一个长度为student结构体的连续动态空间。接着在此函数中通过*p1这个指针调用void tips_create(struct student *p)函数来提示用户录入学生证各项信息。录入完毕后*p1再从void tips_create(struct student *p)函数中跳回struct create中,将其值赋给*p2,这样保存*p2到开辟的内存单元中即可。具体流程图如下图所示: 【程序】 注意:如果输入完毕,要在各项输入时键入0以示。 学生证信息添加模块 该模块的功能主要用于录入完学生证信息后,发现漏录入了信息或学生变动需要添加学生信息用。 【程序】 输出模块 输出模块主要功能有:输出出所有学生的学生证信息、给定学号后输出某位学生的学生证信息和给定班号后输出该班所有学生的学生证信息三大功能。 首先,通过main函数得到选择结果(3、4或5),如果选择3则赋值给print函数一个num=0,继而进入第一个分模块——输出所有学生的学生证信息;如果选择4则赋值给print函数一个num=1,继而进入第二个分模块——给定学号后输出某位学生的学生证信息;如果选择5则赋值给print函数一个num=2,继而进入第三个分模块——给定班号后输出该班所有学生的学生证信息。 【程序】 该程序流程图如下图所示: 第一分模块流程图如下图所示: 其他各分模流程图与上图类似,这里不多述。 修改模块 修改模块是用于给定某位学生的学号,修改该学生的学生证信息。 具体过程:读取学号,在链表中找到相对应的结构单元,用新输入的学生信息替换原有信息。 【程序】 删除模块 删除模块用于给定某位学生的学号,删除该学生的学生证信息。具体过程与修改模块相似。 【程序】 统计模块 总人数统计模块 【程序】 2)各班人数统计模块 【程序】 该程序具体操作操作如下: 判断n的值,若n=0,表明用户还未录入任何学生证信息,提示用户录入学生证信息,并跳至菜单处供用户重新选择。若n不为0,则进入下面的程序。 将指针*p指向链表的头(head),验证head是否为空(NULL)。 先将*p读到student结构体里的class赋值给二维数组的[0][0]位置,进入for循环,如果*p读到的class值和二维数组[0][0]位置的值相同,则学生人数(该二维数组所对应的第二列)自加一次;若不同,则跳出if语句,进行二维数组i++(行加1),再进入if语句来比较。当for循环完毕跳出时指针p指向next单元,由此再回到此段开头进行do…while循环。直至指针p指向的next为空结束。 输出记录着班级和各班人数的二维[20][2]的数组,得到统计结果。 具体流程图如下图所示: 3)公共函数 1.学生总人数:int n; 2.学生信息录入提示函数:void tips_create(struct student *p [说明] 该函数用于录入学生证信息和修改学生证信息时的输入提示作用,从而引导使用者完成录入工作。 【程序】 4)声明 程序

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档