学生信息管理系统

上传人:新** 文档编号:487836641 上传时间:2023-07-12 格式:DOC 页数:31 大小:83KB
返回 下载 相关 举报
学生信息管理系统_第1页
第1页 / 共31页
学生信息管理系统_第2页
第2页 / 共31页
学生信息管理系统_第3页
第3页 / 共31页
学生信息管理系统_第4页
第4页 / 共31页
学生信息管理系统_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《学生信息管理系统》由会员分享,可在线阅读,更多相关《学生信息管理系统(31页珍藏版)》请在金锄头文库上搜索。

1、-一.设计目的:课程设计容:1.问题描述学生信息包括:*,*,年龄,性别,出生年月,地址, 等。设计以学生信息管理系统,使之能提供以下功能:(1).系统以菜单式工作;(2).学生信息录入功能学生信息用文件保存-输入;(3).学生信息浏览功能-输出;(4).查询,排序功能-算法:a.按*查询;b.按*查询。(5).学生信息的删除与修改。2.功能要求A界面比较美观;B有一定的容错能力。3.函数功能描述输入局部通过键盘输入多位学生的学生信息。学生的信息包含有:学生*、性别、*、出生年月、年龄等。此次做的学生管理系统是利用链表而完成的程序,故第一局部想要实现建立链表、输出局部输出当前已存储的学生信息、

2、更新局部删除 删除用户指定的学生信息 ,这局部的功能是输入学生的*,找到其在链表中存储的结点处,并将这整个结点删除,再把该结点的前驱结点和后驱节点连接,来实现这个学生信息的删除.修改 修改用户指定的学生信息 ,这局部是利用输入学生的*,来找到存储该学生信息的结点,通过该结点的链域来修改其中的值域,来实现对学生信息的修改.、查询局部按名字查询 输出用户查询的学生信息,这局部是利用输入学生的*,来找到存储该学生信息的结点,输出该结点的值域中的容,来实现对学生信息的查询功能.按*查询 输出用户查询的学生信息,同上,只是查询条件为* .4.要求与限制条件.各模块间通过菜单切换和调用.主函数通过调用菜单

3、函数实现对各功能模块的调用,各功能模块间根据需要可相互调用。.程序能够保证各模块功能的独立和数据共享。不使用全局变量则能保证函数之间的独立性,利用形参与实参之间的数值传递来实现数据共享。二.总体设计:录入数据break选择2输出界面选择操作选择9读取文件执行freeall()退出系统选择1帮助说明Break完毕选择3增加数据Break选择4选择5修改数据增加数据BreakBreak选择6删除数据Break选择7选择8显示数据保存数据BreakBreak输出:无效选项Break完毕主界面选择录入学生信息输入学生信息正确 错误 正确 不录入学生信息录入学生信息完毕查找利用函数找到相关结点是否存在该

4、学生信息输出该结点的值域的内容查询完毕该学生不存在修改调用函数查找到相关结点地址修改相关结点的值域是否存在该学生信息修改完毕三.详细设计:输入模块void insert() /*插入函数*/inti=n,j,flag;printf(请输入待增加的学生数:n);scanf(%d,&m);do flag=1;while(flag)flag=0;printf(请输入第 %d 个学生的*:n,i+1);scanf(%s,stui.code);for(j=0;ji;j+)if(strcmp(stui.code,stuj.code)=0)printf(已有该*,请检查后重新录入!n);flag=1;bre

5、ak; /*如有重复立即退出该层循环,提高判断速度*/printf(请输入第 %d 个学生的*:n,i+1);scanf(%s,stui.name);printf(请输入第 %d 个学生的年龄:n,i+1);scanf(%d,&stui.age);printf(请输入第 %d 个学生的性别:n,i+1);scanf(%s,stui.se*);printf(请输入第 %d 个学生的出生年月:(格式:年.月)n,i+1);scanf(%s,stui.time);printf(请输入第 %d 个学生的地址:n,i+1);scanf(%s,stui.add);printf(请输入第 %d 个学生的:n

6、,i+1);scanf(%s,stui.tel);printf(请输入第 %d 个学生的:n,i+1);scanf(%s,stui.mail);if(flag=0) i=i;i+;while(in+m);n+=m;printf(录入完毕!nn);sort();查找模块void seek() /*查找*/int i,item,flag;char s121; /* 以*和*最长长度+1为准 */printf(-n);printf(-1.按*查询-n);printf(-2.按*查询-n);printf(-3.退出本菜单-n);printf(-n);while(1)printf(请选择子菜单编号:);

7、scanf(%d,&item);flag=0;switch(item)case 1:printf(请输入要查询的学生的*:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;printf(学生*学生*年龄性别出生年月地址 n);printf(-n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.se*,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该*

8、不存在!n); break;case 2:printf(请输入要查询的学生的*:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.name,s1)=0)flag=1;printf(学生*学生*年龄性别出生年月地址 n);printf(-n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.se*,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该*不存在!n); break;case 3:

9、return;default:printf(请在1-3之间选择n);修改模块void modify() /*修改信息*/int i,item,num;char se*13,s1LEN+1,s2LEN+1; /* 以*和*最长长度+1为准 */printf(请输入要要修改的学生的*:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0) /*比较字符串是否相等*/num=i;printf(-n);printf(1.修改*n);printf(2.修改年龄n);printf(3.修改性别n);printf(4.修改出生年月n);printf(

10、5.修改地址n);printf(6.修改n);printf(7.修改地址n);printf(8.退出本菜单n);printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);switch(item)case 1:printf(请输入新的*:n);scanf(%s,s2);strcpy(stunum.name,s2); break;case 2:printf(请输入新的年龄:n);scanf(%d,&stunum.age);break;case 3:printf(请输入新的性别:n);scanf(%s,se*1);strcpy(stunum.se*,s

11、e*1); break;case 4:printf(请输入新的出生年月:n);scanf(%s,s2);strcpy(stunum.time,s2); break;case 5:printf(请输入新的地址:n);scanf(%s,s2);strcpy(stunum.add,s2); break;case 6:printf(请输入新的:n);scanf(%s,s2);strcpy(stunum.tel,s2); break;case 7:printf(请输入新的地址:n);scanf(%s,s2);strcpy(stunum.mail,s2); break;case 8:return;defa

12、ult:printf(请在1-8之间选择n);四.调试:A先编译程序B再连接程序 生成目标C运行程序1调试中的主要问题调试中主要出现的问题:经常遇到程序执行到*局部就不运行,而编译和都成功,说明程序设计上有些问题,语法等并未出错,这时就要去再行考虑设计的程序哪局部考虑不全。因为这次使用链表来设计程序,就牵扯到形参和实参的问题。曾经因为考虑不全,在自定义函数前的基类出错,导致相关的值未改变,这里就要考虑好形参和实参的问题。刚开场没有那个初始化函数,程序运行后没有输入任数据就试得去执行显示功能,结果显示的是一些乱码!参加初始化函数后,这种现象也随之消失。在没有输入任信息的情况下,不能执行查询、修改、删除、统计、排序功能 。 有时候,忘记定义就直接调用,使得出错。我这时候才真正体会到了一致性的重要。检查程序很多遍但却始终不知道输入的数据有错,很令人头疼。2程序的缺乏和改进之处因为用链表来设计一个程序,较复杂,最后没来得及,设计相关的文件存储来实现将数据保存,以致每次运行程序都要重新输入新的数据改进之处:可以再考虑编写一个函数,这个函数的功能是将数据写入文件中并保存。五.测试结果:程序运行:主界面:输入信息显示查询修改删除六.完毕语:回想学习C语言 的过

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号