学生信息管理系统课程设计报告(1)_第1页
学生信息管理系统课程设计报告(1)_第2页
学生信息管理系统课程设计报告(1)_第3页
学生信息管理系统课程设计报告(1)_第4页
学生信息管理系统课程设计报告(1)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、引言简要说明设计题目的目的、意义、内容、主要任务等1 实验目的在全面掌握?C语言程序设计?课程的知识点的前提下,培养了我们分析实际问题的能力,并能够自己编写程序实现对实际问题的处理,掌握程序工程开发的一般步骤在写实验的过程中,我们能发现我们自身薄弱的地方,给我们的复习指出明确的方向。2 实验意义此实验的意义主要在于加强我们对软件开发的初步了解:1、能将实际中的问题进展分解,并设计出可以解决实际问题的方案。课程设计的相关内容信息管理系统可以存储历届的学生信息档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,平安,学生在能方便的查看自己的信息。3

2、主要内容 和 任务学生信息包括:学号,姓名,年龄,性别,出生年月,地址, ,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:1 平安模块2 信息录入3) 信息浏览4 学号查询5 姓名查询6 信息排序7 信息删除8 信息修改9 保存文件10 退出系统11 系统菜单形式显示正文课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、符合逻辑、层次清楚、语言流畅、构造严谨,符合各学科、专业的有关要求。 学生管理系统的总设计是:总体设计:1.该系统可以按功能进

3、展模块划分,其模块图如下:学生根本信息管理系统信息录入信息浏览信息查询信息排序信息删除信息修改信息添加退出系统输入学生的相关信息显示学生的相关信息按姓名查询按学号查询更新保存的学生信息对新加的学生进展信息录入菜单项选择择平安模块系统模块图其中:信息输入模块完成学生信息的输入功能,输入信息包括学生号、姓名、性别、出生年月、成绩、专业. 住址、 等;信息浏览模块完成已录入学生信息的显示;信息查询模块完成学生信息的查询,查询时对应有按姓名查询和按学号查询两种方式;信息修改模块完成学生信息的修改功能;信息删除模块完成学生信息的删除功能;平安模块 是进入系统需要用户名字 和密码;菜单项选择择模块完成用户

4、命令的接收,此模块也是职工信息管理系统的入口,用户所要进展的各种操作均需在此模块中进展选择并进而调用其他模块实现相应的功能;2数据构造本系统中主要的数据构造就是学生的信息,包含学生号、姓名、性别、出生年月、成绩 、专业、住址、 等,在处理过程中各项可以作为一个学生的不同属性来进展处理3程序流程系统的执行应从功能菜单的选择开场,依据用户的选择来进展后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:开场用户登录菜单项选择择信息输入浏览信息输入信息浏览查询按学号按姓名删除修改信息删除信息修改添加信息添加排序保存文件完毕程序流程图.00 详细设计编写目的:根

5、据工程概要设计说明书,在工程概要设计的根底之上,对系统进展详细设计,以便下一步进展程序编码工作。详细设计:对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:1 平安模块 printf( 请输入用户名,n);scanf(%s,x);if(strcmp(x,y)=0) printf( 请输入密码,n); scanf(%d,&ma); while (ma=123456)通过比拟语句 来判定输入人名和密码的正确 如果正确进入菜单模块;菜单模块通过while语句给出信息提示;清屏;绘制菜单包含输入,浏览,查询,修改,删除,排序,保存,退出;提示菜单项选择择并读入到变量;根据读入变量的值调用不

6、同的模块函数;信息录入模块翻开文件While() 清屏; 按照提示输入各种信息; While 显示各种信息;通过选择 选择四种功能;信息浏览模块翻开文件While 清屏; 用for语句依次按照顺序输出学生信息 通过选择可以翻页 信息查询 While() 通过菜单式的选择 是学号查询 还是姓名 printf(*学生信息管理系统*);printf(n检 索);printf(n您想要:);printf(n 1.按学号检索);printf(n 2.按姓名检索);printf(n 3.返回主菜单);printf(n*n);如果选择学号进入学号模块通过输入学号 If 学号存在继续 输出学生信息 Else

7、输出无此学生如果选择姓名进入姓名模块If根据比拟姓名判断学生是否存在 输出学生信息 Else 输出无此学生删除模块 while( 继续删除 ) 提示并读入待删除的学生的学生号;显示要删除的信息删除成功信息修改模块输入要修改学生信息的学号:If 判断是否有此学生 菜单形式显示要修改的工程printf(n1.姓名 2.年龄 3.性别 4.出生年月 5.地址 6. 7.E-mail n); printf(n8.数学 9.英语 n);Swich() 选择要修改的工程进展修改翻开文件模块 void ()FILE *fp;int n;if(fp=fopen(data,r+)=NULL)fp=fopen(d

8、ata,w+);for(n=0;n100;n+)fread(&stun,sizeof(struct student),1,fp);fread(&stunum,4,1,fp);fclose(fp);保存文件模块 void ()int n;FILE *fp;fp=fopen(data,r+);for(n=0;n100;n+)fwrite(&stun,sizeof(struct student),1,fp);fwrite(&stunum,4,1,fp);fclose(fp); printf(保存成功!press Enter to continue.);getch();退出模块 case 8:ma=0

9、;break; 用的是跳出while语句 回到平安模块排序模块 通过 冒泡排序法 for(m=0;my-1;m+) for(x=m+1;xy;x+) if(stum.sumstux.sum) stu99=stum; stum=stux; stux=stu99; stu99.id=stux.id ; stux.id =stum.id; stum.id =stu99.id ; printf(排序后的顺序为:n);然后显示排序好后的学生信息; 学生根本信息构造体是struct studentint id;char name30;int age;char sex6;char birthday12;ch

10、ar add80;char tel15;char email25;int math; int english;int sum;stu100程序清单#include#include#include#includeint stunum=0;struct student / 构造体int id;char name30;int age;char sex6;char birthday12;char add80;char tel15;char email25;int math; int english;int sum;stu100 ;void check() /查询函数 void jsid(); void

11、 jsname();int a;char ch;while (a)system(cls);printf(*学生信息管理系统*);printf(n检 索);printf(n您想要:);printf(n 1.按学号检索);printf(n 2.按姓名检索);printf(n 3.返回主菜单); printf(n*n);ch=getchar();switch(ch)case 1:jsid();break;case 2:jsname();break;case 3:a=0;break;void () /翻开文件FILE *fp;int n;if(fp=fopen(data,r+)=NULL)fp=fop

12、en(data,w+);for(n=0;n100;n+)fread(&stun,sizeof(struct student),1,fp);fread(&stunum,4,1,fp);fclose(fp);void () /保存文件int n;FILE *fp;fp=fopen(data,r+);for(n=0;n100;n+)fwrite(&stun,sizeof(struct student),1,fp);fwrite(&stunum,4,1,fp);fclose(fp); printf(保存成功!press Enter to continue.);getch();void editname

13、(int n) /按照名字修改printf(n新姓名:);scanf(%s,);void editage(int n) /修改年龄函数printf(n新年龄:);scanf(%d,&stun.age);void editsex(int n) / 修改性别函数printf(n新性别:);scanf(%s,stun.sex);void editbir(int n) /修改生日printf(n新出生年月);scanf(%s,stun.birthday);void editadd(int n)printf(n新地址:); /修改地址scanf(%s,stun.add);void ed

14、ittel(int n) /修改 printf(n新 :); scanf(%s,stun.tel);void editemail(int n)printf(n新E-mail:); /修改邮箱scanf(%s,stun.email);void editmath(int n) /修改数学成绩 printf(n新数学:);scanf(%d,&stun.math); stun.sum=stun.math+stun.english;void editenglish(int n) / 修改经与成绩printf(n新英语:); scanf(%d,&stun.english);stun.sum=stun.ma

15、th+stun.english;void last(int n)if(n=stunum)system(cls); printf(*学生信息管理系统*);printf(n检 索);printf(n已检索到末尾。);printf(nPress any key to continue.);printf(n*n);void edit() /修改函数char ch ;int a=1,b; int n; while(a)system(cls);printf(n请输入你想修改的人的学号:n); scanf(%d,&n); if(n=stunum) n=n-; printf(学号 姓 名 年龄 性别 出生年月

16、n); printf(%4d ,stun.id); printf(%12s ,); printf(%4d ,stun.age); printf(%4s ,stun.sex); printf(%8s n,stun.birthday); printf(nnn学号 电 话 E-mail 地址n); printf(%4d ,stun.id); printf(%15s ,stun.tel); printf(%15s ,stun.email); printf(%sn, stun.add); printf(nnn 数学 英语 总分n); printf(%4d,stun.math); pri

17、ntf(%15d,stun.english); printf(%15dn,stun.sum); printf(n请输入你想修改的内容:); printf(n1.姓名 2.年龄 3.性别 4.出生年月 5.地址 6. 7.E-mail n); printf(n8.数学 9.英语 n); printf(n*n); getchar(); ch=getchar(); switch(ch) case 1:editname(n);break; case 2:editage(n);break; case 3:editsex(n);break; case 4:editbir(n);break; case 5:

18、editadd(n);break; case 6:edittel(n);break; case 7:editemail(n);break; case 8:editmath(n);break; case 9:editenglish(n);break; b=1; while (b)printf(n确认吗?(y/n);ch=getchar();switch(ch)case Y:b=0;a=0;break;case y:b=0;a=0;break;case N:b=0;break;case n:b=0;break;void delect() /删除函数 int n, a; system(cls); p

19、rintf(n请输入想要删除人的学号:n); scanf(%d,&n); n=n-;for(a=n;a=stunum;a+) strcpy(,stua+1.name); stua.age=stua+1.age;strcpy(stua.sex,stua+1.sex);strcpy(stua.birthday,stua+1.birthday);strcpy(stua.add,stua+1.add);strcpy(stua.tel,stua+1.tel);strcpy(stua.email,stua+1.email); stua.math=stua+1.math; stua.eng

20、lish=stua+1.english; stua.sum=stua+1.sum;stunum-;printf(删除成功!press Enter to continue.);void jsid() /按照学号查询int n,i=0;system(cls);printf(*学生信息管理系统*);printf(n检 索);printf(n请输入想要检索的学号:);scanf(%d,&n);if(n=stunum)n=n-;printf(学号 姓 名 年龄 性别 出生年月n);printf(%4d ,stun.id);printf(%12s ,);printf(%4d ,stun.

21、age);printf(%4s ,stun.sex);printf(%8s n,stun.birthday);printf(nnn学号 电 话 E-mail 地址n);printf(%4d ,stun.id);printf(%15s ,stun.tel);printf(%15s ,stun.email);printf(%sn, stun.add); printf(nnn 数学 英语 总分n); printf(%4d,stun.math); printf(%15d,stun.english); printf(%15dn,stun.sum);i+;if(i=0)printf(nError:无此学生

22、。);printf(n*n);getch(); elsesystem(cls);last(n);getch();void jsname() /按照姓名查询int n,i=0;char m30;system(cls);printf(*学生信息管理系统*);printf(n检 索);printf(n请输入想要检索的姓名:);scanf(%s,m);for(n=0;nstunum;n+)if(strcmp(m,)=0)system(cls);printf(学号 姓 名 年龄 性别 出生年月n);printf(%4d ,stun.id);printf(%8s ,);

23、printf(%4d ,stun.age);printf(%4s ,stun.sex);printf(%8s n,stun.birthday);printf(nnn学号 电 话 E-mail 地址n);printf(%4d ,stun.id);printf(%15s ,stun.tel);printf(%15s ,stun.email);printf(%sn, stun.add);printf(nnn 数学 英语 总分n); printf(%4d,stun.math); printf(%15d,stun.english); printf(%15dn,stun.sum);i+;getch();i

24、f(i=0)printf(nError:无此学生。);elselast(n);void write() /录入函数int a,n=1,m;char ch;while (n)a=stunum;system(cls);printf(学号:);stua.id=(a+1);printf(%d,stua.id);printf(n名字:);scanf(%s,);printf(n年龄:);scanf(%d,&stua.age);printf(n性别:);scanf(%s,stua.sex);printf(n出生年月日:);scanf(%s,stua.birthday);printf(n地址

25、:);scanf(%s,stua.add);printf(n :);scanf(%s,stua.tel);printf(nE-mail:);scanf(%s,stua.email); printf(n数学:);scanf(%d,&stua.math);printf(n英语:);scanf(%d,&stua.english); stua.sum=stua.math+stua.english; printf(%d,stua.sum);m=1;while (m)/做一个循环,直到m=0时跳出system(cls);printf(学号:);printf(%d,stua.id);printf(n名字:)

26、;printf(%s,);printf(n年龄:);printf(%d,stua.age);printf(n性别:);printf(%s,stua.sex);printf(n出生年月日:);printf(%s,stua.birthday);printf(n地址:);printf(%s,stua.add);printf(n :);printf(%s,stua.tel);printf(nE-mail);printf(%s,stua.email);printf(n数学);printf(%d,stua.math);printf(n英语);printf(%d,stua.english)

27、;printf(n总分);printf(%d,stua.sum);printf(n请选择:1.确认并继续 2.重新填写 3.放弃并返回 4.确认并返回);ch=getchar();switch(ch)case 1:m=0;stunum+;break;case 2:stunum,m=0;break;case 3:m=0,n=0;break;/选择此项时,m=0,循环终止case 4:m=0,n=0;a=stunum+;break;void view() /浏览函数int count=1,i,n=1,pagenum=1,page=stunum/5+1;/设定变量控制翻页char ch;while

28、(n)system(cls);printf(学号 姓 名 年龄 性别 出生年月n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%8s ,);printf(%4d ,stui.age);printf(%7s ,stui.sex);printf(%12s n,stui.birthday);printf(nnn学号 电 话 E-mail 地址n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%15s ,stui.tel);

29、printf(%15s ,stui.email);printf(%sn, stui.add); printf(nnn 数学 英语 总分n); for(i=count-1;icount+4&ipage) count=1,pagenum=1;else count=(pagenum-1)*5+1;break;case 0:n=0;break;void turn() /排序函数 int x, m;int y=stunum; int count=1,i,n=1,pagenum=1,page=stunum/5+1;char ch;for(m=0;my-1;m+) for(x=m+1;xy;x+) if(s

30、tum.sumstux.sum) stu99=stum; stum=stux; stux=stu99; stu99.id=stux.id ; stux.id =stum.id; stum.id =stu99.id printf(排序后的顺序为:n); while (n)system(cls);printf(学号 姓 名 年龄 性别 出生年月n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%8s ,);printf(%4d ,stui.age);printf(%7s ,stui.sex);prin

31、tf(%12s n,stui.birthday);printf(nnn学号 电 话 E-mail 地址n);for(i=count-1;icount+4&istunum;i+)printf(%4d ,stui.id);printf(%15s ,stui.tel);printf(%15s ,stui.email);printf(%sn, stui.add); printf(nnn 数学 英语 总分n); for(i=count-1;icount+4&ipage) count=1,pagenum=1;else count=(pagenum-1)*5+1;break;case 0:n=0;break;void main()/主函数 int n=1;char ch;char x20;char y20=zhangyong; int ma; ();while(n) system(cls); printf(n);printf(n);printf( *n); printf( 欢送来到学生信息管理系统n);printf(n);printf(n);printf(n); printf( 请输入用户名,n);scanf(%s,x);if(strcmp(x,y)=0) printf( 请输入密码,n); scanf(%d,&ma); while (ma=123

温馨提示

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

评论

0/150

提交评论