- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 音响系统施工方案.docx
- 《C#程序设计》课程教学大纲.doc VIP
- 儿童呼吸科课程设计.docx VIP
- (高清版)B-T 9254.2-2021 信息技术设备、多媒体设备和接收机 电磁兼容 第2部分:抗扰度要求.pdf VIP
- 公园音响系统安装方案.docx VIP
- 跌倒、坠床与压疮的预防与护理.pptx
- 医院建筑工程施工方案(3篇).docx VIP
- 心肺复苏ppt讲课开场白.pptx VIP
- (高清版)B-T 9254.1-2021 信息技术设备、多媒体设备和接收机 电磁兼容 第1部分 发射要求.pdf VIP
- 基于模型的系统工程(MBSE)及MWORKS实践 课件全套 聂兰顺 第1--10章 引论、 MBSE语言、工具、方法论---MBSE未来发展趋势.pptx
文档评论(0)