学生信息管理系统(高级)(44页).doc

上传人:1595****071 文档编号:37071917 上传时间:2022-08-30 格式:DOC 页数:44 大小:302.50KB
返回 下载 相关 举报
学生信息管理系统(高级)(44页).doc_第1页
第1页 / 共44页
学生信息管理系统(高级)(44页).doc_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《学生信息管理系统(高级)(44页).doc》由会员分享,可在线阅读,更多相关《学生信息管理系统(高级)(44页).doc(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-学生信息管理系统(高级)-第 41 页目 录1 实习目的12 需求分析22.1 对教务管理系统要求提供一下几个方面的服务22.2 信息管理系统各个使用者应具备的功能22.3 系统性能的要求22.4 系统的功能分析22.5 系统的模块功能33 概要设计33.1 总体功能模块33.2 各函数的功能和实现43.2.1 主界面43.2.2 管理员界面53.2.3 教师界面123.2.4学生界面143.2.5 保存文件143.2.6 读取文件154 调试与测试164.1 主界面164.2 管理员界面164.2.1 新建用户组174.2.2 查看所有用户组184.2.3 查询指定用户信息(教师为例)19

2、4.2.4 添加用户信息(以教师为例)204.2.5 删除用户(以教师为例)214.2.6 修改用户信息(以教师为例)234.3 教师界面254.3.1 查看学生信息264.3.2 查询学生信息264.3.3 录入学生成绩274.4 学生界面284.4.1 查看成绩294.5 账号的登陆(管理员为例)304.6 修改当前用户的密码(以学生为例)315 使用说明326 总结337 参考文献348 附录344.4.1只有一个三级目录的话就不用写了目录我给改了德州学院教务管理系统的设计与实现上面那两个空行删去1 实习目的随着现代科学的发展,计算机的应用几乎进入了生活中的每一个领域。计算机技术在信息管

3、理上也得到了越来越深入而广泛的应用,信息管理系统的实施在技术上已逐步成熟。教务管理系统是学校等教育单位不可缺少的部分,利用计算机对学生信息进行管理,具有传统手工管理无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。本系统以Visual C+6.0作为开发工具,并运用其进行编程,实现学生信息的管理。本系统界面友好,操作方便,支持海量数据,维护方便,是功能比较完备的信息管理系统。通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过实际操作、编

4、写程序、发现问题、最后解决问题,提升对C语言实用性的理解,在实践中巩固各知识点。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。上机实习可以帮助我们更好地理解这种结构式的中级语言以及其各式各样的数据类型和高效率的运算程序,为我们进一步学习打下坚实的基础。同时,在实习过程中,通过相互发现问题,

5、共同讨论、研究和解决问题,不仅锻炼了我们的合作能力,而且也让我们发现了一些自己的个人误区以及其他人容易犯的错误,从而在今后的学习中更加谨慎,达到事半功倍的效果;通过查找资料,使我们自主学习的能力得到提高;通过询问老师也让我们养成了不耻下问的好习惯,这将很有利于今后的学习。2 需求分析2.1 对教务管理系统要求提供一下几个方面的服务二级标题格式不对,2.1和2.2我给你改了,你把全文格式刷一下(1)教与学生信息管理(2)教师与学生账号管理(3)教师与学生账号的创建2.2 信息管理系统各个使用者应具备的功能(1)管理员管理员使用给定账号密码登陆本系统进行(教师与学生账户密码管理,教师与学生信息管理

6、,教师与学生账号的创建)。设置段落先把前面空格删去,这才是首字缩进2字符。(2)学生 学生登陆本系统(查看个人信息,管理个人账户)(3)教师 教师登陆本系统(查看个人信息,查看学生信息,录入学生成绩,管理个人账号)(4)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。2.3 系统性能的要求(1)系统安全、可靠(2) 功能齐全(3) 操作简单、界面友好(4) 易于维护2.4 系统的功能分析(1) 资料维护:系统维护包括对数据表中的信息进行浏览及操作。(2)系统功能:可以对数据表中的信息进行全部浏览和单个浏览。 (3)系统查询:可以对教师与学生的信息全部进行查询和单个查

7、询。2.5 系统的模块功能(1) 管理员模块:由数据表信息查看、添加、删除、修改构成;(2) 教师模块:由学生信息查看、成绩录入构成;(3) 学生模块:由学生信息查看构成;3 概要设计3.1 总体功能模块(1)系统概述开始主界面核对账号密码结束教师界面录入学生成绩修改本账号密码注销查询指定学生信息查看全体学生信息教师N3查看成绩修改本账号密码注销学生界面N3结束核对账号密码学生Nnext; while(1) printf(请输入账号:); scanf(%s,account); printf(请输入密码:); scanf(%s,password); if(strcmp(account,p-acc

8、ount)|strcmp(password,p-password) system(cls); printf(帐号或密码错误!请重新登录!n); n+; else system(cls); printf(登录成功!n); break; if(n=3) printf(已3次输入错误!退出系统!n); exit(0);(2) 查看所有用户信息(以教师为例)void print_teacher(struct teacher *head) /输出 int s=0; struct teacher *p; p=head-next; printf(*n); printf(n); printf(教师编号t密码t

9、 姓名t 性别t系别t 职位t 学历 n); while(p!=NULL)printf(%-15ld%-10s%-10s%-5s%-10s%-10s%-5sn,p-num,p-password,p-name,p-sex,p-depart,p-proftitle,p-degree); p=p-next; /指针后移 s+; printf(n these are %d nodesn,s); printf(*n);(3) 输入教师或学生ID,查找其相关信息(以学生为例这些属于正文了,宋体小四号,全文检查)void search_student(struct stu *head,long num) s

10、truct stu *p1,*p2; p1=head-next; p2=head; if(head-next=NULL)/链表为空 printf(链表为空!n); else while(p1!=NULL&num!=p1-num)/查找删除节点 p2=p1; p1=p1-next; if(!p1)/删除节点不存在 printf(无此记录!n); else printf(*n); printf(学生编号t密码t 姓名t 性别t系别t 专业t 分数n); printf(%-15ld%-10s%-10s%-5s%-10s%-15s%-5fn,p1-num,p1-password,p1-name,p1-

11、sex,p1-depart,p1-major,p1-score); printf(*n);(4) 新建用户组,以num为0结束(教师为例)struct teacher *creat_teacher()/创建链表 struct teacher *head; struct teacher *p1,*p2; head=(struct teacher*)malloc(LEN2); head-next=NULL; p1=head; p2=(struct teacher*)malloc(LEN2); strcpy(p2-password,123456);/设置默认密码123456 printf(教师编号:

12、); scanf(%ld,&p2-num); printf(姓名:); scanf(%s,&p2-name); printf(性别:); scanf(%s,&p2-sex); printf(系别:); scanf(%s,&p2-depart); printf(职位:); scanf(%s,&p2-proftitle); printf(学历:); scanf(%s,&p2-degree); while(p2-num!=0) p2-next=p1-next; p1-next=p2; p1=p2; p2=(struct teacher*)malloc(LEN2); strcpy(p2-passwor

13、d,123456); printf(教师编号:); scanf(%ld,&p2-num); if(p2-num=0) break; printf(姓名:); scanf(%s,&p2-name); printf(性别:); scanf(%s,&p2-sex); printf(系别:); scanf(%s,&p2-depart); printf(职位:); scanf(%s,&p2-proftitle); printf(学历:); scanf(%s,&p2-degree); free(p2); return(head);(5) 添加用户,num为0结束(以学生为例)void insert_stu

14、dent(struct stu *head)/插入新节点 struct stu *p0,*p1,*p2; p1=head-next; p2=head; while(1) p0=(struct stu*)malloc(LEN1); p0-next=NULL; strcpy(p0-password,123456);/设置默认密码123456 printf(学生编号:); scanf(%ld,&p0-num); if(p0-num=0) break; printf(姓名:); scanf(%s,&p0-name); printf(性别:); scanf(%s,&p0-sex); printf(系别:

15、); scanf(%s,&p0-depart); printf(专业:); scanf(%s,&p0-major); p2-score=0.0; while(p1!=NULL)&(p0-nump1-num) p2=p1; p1=p1-next;/指针后移 p0-next=p2-next; p2-next=p0;(6) 删除用户,先以ID进行查询,再删除(以教师为例)int delete_teacher(struct teacher *head,long num)/删除 struct teacher *p1,*p2; p1=head-next; p2=head; if(head-next=NUL

16、L)/链表为空 return -1; else while(p1!=NULL&num!=p1-num)/查找删除节点 p2=p1; p1=p1-next; if(!p1)/删除节点不存在 return 0; else printf(*n); printf(教师编号t密码t 姓名t 性别t系别t 职位t 学历n); printf(%-15ld%-10s%-10s%-5s%-10s%-10s%-5sn,p1-num,p1-password,p1-name,p1-sex,p1-depart,p1-proftitle,p1-degree); printf(*n); printf(确认删除此用户?1:是

17、 2:否n); int choose; scanf(%d,&choose); switch(choose) case 1: p2-next=p1-next;/将删除节点从链表中摘除 free(p1);/释放删除节点 return 1; break; case 2: break;(7) 查找用户,以ID查找,可进行一个及多个查找,以num为0结束(以学生为例) void search_teacher(struct teacher *head,long num) struct teacher *p1,*p2; p1=head-next; p2=head; if(head-next=NULL)/链表

18、为空 printf(链表为空!n); else while(p1!=NULL&num!=p1-num)/查找删除节点 p2=p1; p1=p1-next; if(!p1)/删除节点不存在 printf(无此记录!n); printf(*n); printf(教师编号t密码t 姓名t 性别t系别t 职位t 学历n); printf(%-15ld%-10s%-10s%-5s%-10s%-10s%-5sn,p1-num,p1-password,p1-name,p1-sex,p1-depart,p1-proftitle,p1-degree); printf(*n);(8) 修改用户信息,以ID查找,再

19、加以修改(以学生为例)void Modify_student(struct stu *head,long num) struct stu *p; p=head-next; while(p!=NULL&num!=p-num) p=p-next; if(!p) printf(无此ID!); else printf(*n); printf(学生编号t密码t 姓名t 性别t系别t 专业t 分数n); printf(%-15ld%-10s%-10s%-5s%-10s%-15s%-5fn, p-num,p-password,p-name,p-sex,p-depart,p-major,p-score); p

20、rintf(*n); printf(确认修改此用户?1:是 2:否n); int choose; scanf(%d,&choose); switch(choose) case 1: printf(学生编号:); scanf(%ld,&p-num);printf(密码:);scanf(%s,&p-password);printf(姓名:);scanf(%s,&p-name);printf(性别:);scanf(%s,&p-sex);printf(系别:);scanf(%s,&p-depart);printf(专业:);scanf(%s,&p-major);break;case 2:break;3

21、.2.3 教师界面login_teacher(t); while(1) printf(n); printf(*可进行操作*n); printf( 1:查看学生信息n); printf( 2:查询学生信息n); printf( 3:录入学生成绩 n); printf( 4:修改密码n); printf( 5:注销n); printf(n); printf(*n); printf(您的选择是:); scanf(%d,&mychoose2); system(cls); switch(mychoose2) case 1: 查看所有学生信息函数 break; case 2: 查看指定学生信息函数 bre

22、ak; case 3: 学生给分函数 break; case 4: 修改密码函数 break; case 5: 注销函数 break;(1) 给学生打分,先以ID查找学生信息,确认后输入成绩void getscore(struct stu *head,long num) struct stu *p; p=head-next; while(p!=NULL&num!=p-num) p=p-next; if(!p) printf(无此ID!); else printf(*n); printf(学生编号t 姓名t 性别t系别t 专业t 分数n); printf(%-15ld%-5s%-10s%-15s

23、%-5fn,p-num,p-name,p-sex,p-depart,p-major,p-score); printf(*n); printf(确认该学生?1:是 2:否n); int choose; scanf(%d,&choose); switch(choose) case 1: printf(得分:); scanf(%f,&p-score); break; case 2: break;3.2.4学生界面 ss=login_student(s); while(1) printf(*可进行操作*n); printf(n); printf( 1:查看成绩n); printf( 2:修改密码n);

24、 printf( 3:注销n); printf(n); printf(*n); printf(您的选择是:); scanf(%d,&mychoose2); system(cls); switch(mychoose2) case 1: 查看函数 break; case 2: 修改密码函数 break; case 3: 注销函数 break; 3.2.5 保存文件void save_student(struct stu *head) FILE *fp; struct stu *p; if(fp=fopen(Data_student.dat,wb)=NULL) printf(打不开文件n); exi

25、t(0); p=head-next; while(p!=NULL) fwrite(p,LEN1,1,fp); p=p-next; fclose(fp);3.2.6 读取文件struct stu *load_stu() FILE *fp; struct stu *head; struct stu *p1,*p2; head=(struct stu*)malloc(LEN1); head-next=NULL; p1=head; if(fp=fopen(Data_student.dat,rb)=NULL)/无文件则创建文件 save_student(head); else p2=(struct stu*)malloc(LEN1); fread(p2,sizeof(struct stu),1,fp); while(!feof(fp) p2-next=p1-next; p1-next=p2; p1=p2; p2=(struct stu*)malloc(LEN1); fread(p2,sizeof(struct stu),1,fp); fre

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁