xsglxt学生管理系统.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文档。上传文档
查看更多
xsglxt学生管理系统

学生信息管理 题目中的各个功能都是相对独立的,用户通过输入编号执行相应的功能。显示菜单的代码处于一个循环之中,当执行完一个子功能后,回到循环,显示主菜单,直到用户选择“退出” 菜单。这种操作方式比其它机制(如:主程序 + 程序参数)更简捷,不必每次用不同的参数重新运行程序,以实现相应的功能。 1. 查看文件记录内容的实现:用循环读取文件内容,然后显示在屏幕上。因为我们的数据是以结构体的形式存放在文件中的,所以代码中用了块读取和块写入函数。在循环中设置计数器来统计记录的个数。 2. 添加记录的实现:让用户根据屏幕提示输入数据,完成对学生信息结构体各项的赋值,待取得足够数据后,将数据文件以“追加”方式打开,执行块写入,将整个结构体写入文件。 3. 删除记录的实现:学号(ID)一般不会重复,所以我在程序中让用户输入想要删除的记录的学号(ID),然后在文件中查找,如果不是用户想要删除的记录(即ID不同),就保存在一个临时的文件中, 这样,就将想要删除的记录与其它记录分离开了,最后,删除原来的数据文件,将临时文件的名字改为原来数据文件的名字。 4. 查找功能的实现: 题目要求两种查找方式:按学号(ID) ,按姓名(Name)。两者是独立的,所以我用了一个参数 isFind_From_ID 来表明是哪种查找方式,进而在在程序内部由一个 switch() 选择分支转向不同的代码段去执行。具体的查找就是比较相应的项目是否与用户输入的一样,若一样就输出到屏幕。 5. 统计功能的实现: 统计功能模块分为三个小模块:平均分的分数段统计,总分的最高和最低分统计,各科的最高和最低分统计。因为它们都要对所有记录进行扫描, 而它们又互不干扰,所以我把它们组织在一个循环中,各自都有自己的计算代码和变量,所以这个函数中的局部变量很多。 屏幕显示菜单样式 ############ Main Menu ############### ############################################## 1 . View the Records in the data file //查看记录 2 . Add New Record //增加记录 3 . Delete an old Record //删除记录 4 . Find a Record from the ID //按ID号查找 5 . Find a Record from the Name //按姓名查找 6 . Quit //退出 7 . Make a Statistics //统计 ############################################## Input the index of your choice : 1 /*自定义模块*/ #include stdio.h #include conio.h #include string.h #include stdlib.h #define CMD_START printf(\n\n######### Start a command #########\n); /* 用来标记一个命令执行的开始*/ #define CMD_END printf( \n######### End a command #########\n\n); /* 用来标记一个命令执行的结束,这两个语句是为了提供更好的用户界面而写的 */ #define DATA_FILE data.dat /* 这是数据文件名 */ #define TEMP_FILE temp.dat /* 这是一个临时的文件的名字,在删除记录的函数中使用的,参考 Delete() 函数 */ /* 这是学生信息结构体 */ typedef struct tagStudent { char ID[30]; /* 学号 */ char Name[30]; /* 姓名 */ char Class[255]; /* 班级 */ char Sex; /* 性别 ,值为 F 或 f 或 M 或 m */ int Math; /* 数学成绩 */ int English; /* 英语成绩 */ int Compute; /* 计算机成绩 */ in

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档