《学生信息管理系统报告》_第1页
《学生信息管理系统报告》_第2页
《学生信息管理系统报告》_第3页
《学生信息管理系统报告》_第4页
《学生信息管理系统报告》_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、225552C程序设计课程设计报告 题目学生信息管理系统班 级: 计算机科学与技术(师范) 设 计 者: 学 号: 指导老师: 刘怀愚 2011年3月30日一、设计目的与内容(1) 学生信息管理系统的功能为显示主要操作页面,通过密码验证登陆界面,学生信息处理功能。通过密码验证登陆,可实现安全登录,方便可靠。学生信息处理功能包括增加学生信息,显示学生信息,学生信息条件查询(分为:按学生姓名进行查询,按学生学号进行查询),修改学生信息,删除学生信息,读取保存学生信息。(2) 学生信息管理系统的功能模块有:用户名和密码验证登陆界面,输入正确的用户名和密码登陆主菜单选择界面,方便用户对程序的功能进行选

2、择,选择要实现的功能按enter键进入该功能。0. 系统帮助及说明1. 增加学生信息。2. 显示学生信息。3. 学生信息条件查询。4. 修改学生信息。5. 删除学生信息。6. 读取学生信息。7. 保存学生信息。8. 退出,谢谢使用!程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。二、总体设计流程图学生信息管理系统密码登陆界面登陆主菜单选择框架界面输入信息模块显示信息模块条件查询模块修改信息模块退出系统模块从键盘输入信息输出信息至屏幕按学生学号查询按学生姓名查询修改学生信息将退出界面显示删除信息模块读取保存信息模块读取文件信息保存文件信息删除学生信息该流程图为此次学生信息管理系统

3、的总体流程图,用户进入界面以后可以看到登陆密码界面,密码输入正确进入主菜单选择框架界面,0 为系统帮助及说明,1 为输入学生信息,2 为显示学生信息,3 为查找学生信息,4 为修改学生信息,5 为删除学生信息,6 为读取学生信息,7为保存学生信息,8为退出系统,谢谢使用! 用户可以根据自己的需求方便快捷的做出自己的选择。三、算法的基本思想1.头文件的引用和函数的声明#include<stdio.h> /I/O函数#include<string.h> /字符串函数#define N 100000 /最大学生人数,实际请更改/struct record /结构体 char

4、code15; /学号 char name15; /姓名 char age3; /年龄 char sex8; /性别 char time15; /出生日期 char add30; /家庭地址 char tel15; /电话号码 char mail30; /电子邮件地址stuN;int k=1,n=0; /定义全局变量void password(); /验证密码函数void mainmenu(); /主菜单函数声明void help(); /系统帮助函数声明void insert(); /插入函数声明void display(); /显示函数声明void search(); /查找函数声明voi

5、d search_by_num(); /通过学号查找函数声明void search_by_name(); /通过姓名查找函数声明void modify(); /修改函数声明void del(); /删除函数声明void readfile(); /读取文件函数声明void save(); /保存文件函数声明该函数是对头文件的加载和引用,定义结构体、常量和变量,并对他们进行初始化工作。2.系统主调函数void main() /*主函数*/printf("ttt+-+n"); printf("ttt| |n"); printf("ttt| 欢迎使用学

6、生信息管理系统 |n"); printf("ttt| |n"); printf("ttt+-+n");password();该函数为程序的主函数,通过密码验证进入主菜单。3密码验证函数/*通过对比字符串数组比较实现密码校验*/void password() /*验证密码函数*/ int i; char Administrator15; char Password15; for(i=0; i<3; i+) printf("n管理员初始用户名和密码均为adminn"); printf("请输入您的用户名:&quo

7、t;); scanf("%s", Administrator); printf("请输入您的密码:"); scanf("%s", Password); if(strcmp(Administrator,"admin")=0)&&(strcmp(Password,"admin")=0) printf("登录成功!n"); while(k) /*循环判断*/ mainmenu(); break; else if (i < 2) printf("用户名

8、或密码错误,请重新输入!n"); else printf("您已连续3次将用户名或密码输错,系统将退出!n"); 密码登陆函数流程图:密码函数开始登陆密码重新登陆密码错误密码输错3次,退出系统进入主菜单登陆密码该函数为密码登陆函数模块,当用户输入密码正确时,进入主菜单。当用户输入的密码不正确的时候,系统会提示“密码输入错误,请重新输入”。若用户连续输错3次密码,则退出系统。 4主菜单函数void mainmenu() /*主菜单函数*/ int num; printf("tt*系统功能菜单* n"); printf("tt 友情提醒:

9、查询前请先读取学生信息! n"); printf("tt- - n"); printf("tt* n"); printf("tt* 0.系统帮助及说明 * * 1.增加学生信息 * n"); printf("tt* n"); printf("tt* 2.显示学生信息 * * 3.查找学生信息 * n"); printf("tt* n"); printf("tt* 4.修改学生信息 * * 5.删除学生信息 * n"); printf("

10、tt* n"); printf("tt* 6.读取学生信息 * * 7.保存学生信息 * n"); printf("tt* * n"); printf("tt* 8.退出系统 * * * n"); printf("tt* * n"); printf("tt- - n"); printf("请选择菜单编号:"); scanf("%d",&num); switch(num) case 0: help(); break; case 1: ins

11、ert(); break; case 2: display(); break; case 3: search(); break; case 4: modify(); break; case 5: del(); break; case 6: readfile(); break; case 7: save(); break; case 8: k=0; break; default: printf("请在0-8之间选择!n");主菜单函数流程图:1输入信息2显示信息3查询信息4修改信息8退出系统5删除信息6、7读保信息主菜单开始用户选择进入学生信息管理系统时显示程序名称和主菜单,

12、提示用户进行选择,完成相应任务。该函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。5输入学生信息函数void insert() /*插入学生信息函数*/ int i=n,j,flag; flag=1; while(flag) flag=0; printf("请输入第 %d 个学生的学号:n",i+1); scanf("%s",stui.code); for(j=0;j<i;j+) if(strcmp(stui.code,stuj.code)=0) printf("已有该学号,请检查后重新录入!n"); flag=1;

13、 break; /*如有重复立即退出该层循环*/ printf("请输入第 %d 个学生的姓名:n",i+1); scanf("%s",); printf("请输入第 %d 个学生的年龄:n",i+1); scanf("%s",stui.age); printf("请输入第 %d 个学生的性别:n",i+1); scanf("%s",stui.sex); printf("请输入第 %d 个学生的出生日期:(格式:年.月.日)n",i+1)

14、; scanf("%s",stui.time); printf("请输入第 %d 个学生的地址:n",i+1); scanf("%s",stui.add); printf("请输入第 %d 个学生的电话:n",i+1); scanf("%s",stui.tel); printf("请输入第 %d 个学生的E-mail:n",i+1); scanf("%s",stui.mail); if(flag=0) i+;n+; printf("录入完毕!nn

15、");输入信息函数流程图:输入信息系统开始输入学号输入姓名输入出生日期输入地址输入电话输入电子邮件学号重复重新输入输入学生信息函数模块,用户可以根据提示的信息来进行每一步的输入操作,当输入学号重复时,系统会自动提示,并让用户重新输入学号的操作。6显示学生信息函数void display()/*显示学生信息函数*/ int i; printf("所有学生的信息为:n"); printf("学号 姓名 年龄 性别 出生日期 地址 电话 E-mailn" ); printf("-"); for(i=0;i<n;i+) pri

16、ntf("%-5s %-11s %-5s %-6s %-10s %-9s %-11s %-16s",stui.code, ,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);printf("nn");显示信息函数流程图:显示信息函数开始输出学生信息结束当用户进入查询信息模块时,系统会显示内部存储的内容。7学生信息条件查询函数void search() /*查找学生信息函数*/ int item=-1;do printf("-n"); printf(&qu

17、ot;-1.按学号查询-n"); printf("-2.按姓名查询-n"); printf("-3.退出本菜单-n"); printf("-n"); printf("请选择子菜单编号:"); scanf("%d",&item); switch(item) case 1: search_by_num(); break; case 2: search_by_name(); break; case 3: return; default: printf("请在1-3之间选择!

18、n"); break; while(item!=3);void search_by_num() /*通过学号查找学生信息*/int i,flag=0;char s121;printf("请输入要查询的学生的学号:n"); scanf("%s",s1); for(i=0;i<n;i+) if(strcmp(stui.code,s1)=0) flag=1; printf("学号 姓名 年龄 性别 出生日期 地址 电话 E-mailn" ); printf("-"); printf("%-5s

19、%-11s %-5s %-6s %-10s %-9s %-11s %-16sn",stui.code, ,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail); if(flag=0) printf("该学号不存在!n");void search_by_name() /*通过姓名查找学生信息*/int i,flag=0;char s121;printf("请输入要查询的学生的姓名:n"); scanf("%s",s1); for(i=0;i<n

20、;i+) if(strcmp(,s1)=0) flag=1; printf("学号 姓名 年龄 性别 出生日期 地址 电话 E-mailn" ); printf("-"); printf("%-5s %-11s %-5s %-6s %-10s %-9s %-11s %-16sn",stui.code, ,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail); if(flag=0) printf("该姓名不存在!n");查

21、询信息流程图:选择按学号还是姓名查询选择查询函数开始输入错误重新输入2按姓名查询输出信息输出信息1按学号查询当用户执行此查询任务时,系统会提醒用户进行查询方式的选择,即按学号或姓名进行查询。若此学生信息记录存在,则会显示该学生的信息。若无此学生记录,则提示该学号或姓名不存在。8修改学生信息函数void modify() /*修改学生信息函数*/ int i,item,num; char sex18,s115,s215; printf("请输入要修改的学生的学号:n"); scanf("%s",s1); for(i=0;i<n;i+) if(strc

22、mp(stui.code,s1)=0) /*比较字符串是否相等*/ num=i; printf("该学生的信息为:n"); printf("学号 姓名 年龄 性别 出生日期 地址 电话 E-mailn" ); printf("-"); printf("%-5s %-11s %-5s %-6s %-10s %-9s %-11s %-16s",stui.code, ,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail); do printf(

23、"-n"); printf("1.修改姓名n"); printf("2.修改年龄n"); printf("3.修改性别n"); printf("4.修改出生日期n"); printf("5.修改地址n"); printf("6.修改电话号码n"); printf("7.修改E-mail地址n"); printf("8.退出本菜单n"); printf("-n"); printf("请选择

24、子菜单编号:"); scanf("%d",&item); switch(item) case 1: printf("请输入新的姓名:n"); scanf("%s",s2); strcpy(,s2);printf("修改成功!n"); break; case 2: printf("请输入新的年龄:n"); scanf("%s",stunum.age);printf("修改成功!n"); break; case 3: p

25、rintf("请输入新的性别:n"); scanf("%s",sex1); strcpy(stunum.sex,sex1);printf("修改成功!n"); break; case 4: printf("请输入新的出生日期:n"); scanf("%s",s2); strcpy(stunum.time,s2);printf("修改成功!n"); break; case 5: printf("请输入新的地址:n"); scanf("%s"

26、;,s2); strcpy(stunum.add,s2);printf("修改成功!n"); break; case 6: printf("请输入新的电话号码:n"); scanf("%s",s2); strcpy(stunum.tel,s2);printf("修改成功!n"); break; case 7: printf("请输入新的E-mail地址:n"); scanf("%s",s2); strcpy(stunum.mail,s2);printf("修改成功!

27、n"); break; case 8: return; default: printf("请在1-8之间选择!n"); while(item!=8);if(i=n) printf("无此人信息!n");修改学生信息流程图:更改信息函数开始输入要更改的学号学号不存在输入更改后信息返回主菜单完成选择需要更改的信息在修改学生信息的操作中,系统会先按输入的学号查询到该学生信息记录,然后选择要修改的信息填入要信息。若用户输入的学号不存在,则提示无此人信息并返回主菜单。9删除学生信息函数void del() /*删除学生信息函数*/ int i,j,fla

28、g=0; char s115; printf("请输入要删除学生的学号:n"); scanf("%s",s1); for(i=0;i<n;i+) if(strcmp(stui.code,s1)=0) flag=1; for(j=i;j<n-1;j+) stuj=stuj+1; if(flag=0) printf("该学号不存在!n"); if(flag=1) printf("删除成功!n"); n-;删除学生信息流程图:删除信息函数开始输入要删除的学号学号不存在返回主菜单完成当用户需要删除学生信息时,进

29、入该函数操作,系统会先按输入的学号查询是否存在该学号的学生信息记录,若存在该学号时,则删除该学生的信息。若该学号不存在时,则提示该学号不存在并返回主菜单。10读取或保存学生信息函数void readfile() /*读取学生信息函数*/ FILE *fp; char *p="student.txt" int i=0; if(fp=fopen("student.txt","r")=NULL) /*以只读方式打开文件,若文件打开失败,则返回NULL*/ printf("读取文件 %s 错误!n",p); return;

30、 while(fscanf(fp,"%s %s %s %s %s %s %s %sn",stui.code,,stui.age,stui.sex, stui.time,stui.add,stui.tel,stui.mail)=8) /*fscanf函数返回值是实际读取的数据个数*/ i+; fclose(fp); n=i; printf("读取学生信息成功!n"); void save() /*保存学生信息函数*/ int i; FILE *fp; fp=fopen("student.txt","w&quo

31、t;); /*以只写方式打开文件*/ for(i=0;i<n;i+) fprintf(fp,"%s %s %s %s %s %s %s %sn",stui.code,,stui.age,stui.sex, stui.time,stui.add,stui.tel,stui.mail); printf("保存学生信息成功!n"); fclose(fp);读取或保存函数流程图:读取或保存函数开始返回主菜单完成读取或保存文件成功读取文件错误当用户输入学生信息时,该保存函数会将学生信息保存在student.txt这个文件中。当用户需要从文件中读取学生信息时,该读取函数会从student.txt文件中读取学生信息。四、程序调试1. 密码登陆界面输入预先设定好的密码再按Enter进入系统。如果输入不正确,则显示“密码输入错误,请重新入”。图41密码登陆界面图2. 登陆主菜单界面进入主菜单选择框架界面后,用户可选择08,调用相应功能进行操作。当输入为8时,退出学生信息管理系统。图42登陆主菜单界面图3. 输入信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论