您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 学生信息管理系统课程设计报告
一、引言(简要说明设计题目的目的、意义、内容、主要任务等)1实验目的在全面掌握《C语言程序设计》课程的知识点的前提下,培养了我们分析实际问题的能力,并能够自己编写程序实现对实际问题的处理,掌握程序项目开发的一般步骤在写实验的过程中,我们能发现我们自身薄弱的地方,给我们的复习指出明确的方向。2实验意义此实验的意义主要在于加强我们对软件开发的初步了解:1、能将实际中的问题进行分解,并设计出可以解决实际问题的方案。课程设计的相关内容2、可以熟练掌握并应用《C语言程序设计》课程的所有知识点,开发一个学生信息管理系统,采用计算机对学生信息进行管理,进一步提高了办学效益和现代化水平.为广大教师和学生提高工作效率,实现学生信息管理工作流程的系统化,规范化和自动化.现在我国的大中专院校的学生信息管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素.在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替.一个高效的学生信息管理系统可以存储历届的学生信息档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的信息。3主要内容和任务学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:1)安全模块2)信息录入3)信息浏览4)学号查询5)姓名查询6)信息排序7)信息删除8)信息修改9)保存文件10)退出系统11)系统菜单形式显示二、正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。)学生管理系统的总设计是:总体设计:1.1.该系统可以按功能进行模块划分,其模块图如下:学生基本信息管理系统信息录入信息浏览信息查询信息排序信息删除信息修改信息添加退出系统输入学生的相关信息显示学生的相关信息按姓名查询按学号查询更新保存的学生信息对新加的学生进行信息录入菜单选择安全模块系统模块图其中:信息输入模块完成学生信息的输入功能,输入信息包括学生号、姓名、性别、出生年月、成绩、专业.住址、电话等;信息浏览模块完成已录入学生信息的显示;信息查询模块完成学生信息的查询,查询时对应有按姓名查询和按学号查询两种方式;信息修改模块完成学生信息的修改功能;信息删除模块完成学生信息的删除功能;安全模块是进入系统需要用户名字和密码;菜单选择模块完成用户命令的接收,此模块也是职工信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;2数据结构本系统中主要的数据结构就是学生的信息,包含学生号、姓名、性别、出生年月、成绩、专业、住址、电话等,在处理过程中各项可以作为一个学生的不同属性来进行处理3程序流程系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:程序流程图开始用户登录菜单选择信息输入浏览信息输入信息浏览查询按学号按姓名删除修改信息删除信息修改添加信息添加排序保存文件结束.00详细设计编写目的:根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。详细设计:对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:1安全模块printf(请输入用户名,\n);scanf(%s,x);if(strcmp(x,y)==0){printf(请输入密码,\n);scanf(%d,&ma);while(ma==123456)通过比较语句来判定输入人名和密码的正确如果正确进入菜单模块;2菜单模块通过while语句给出信息提示;清屏;绘制菜单(包含输入,浏览,查询,修改,删除,排序,保存,退出);提示菜单选择并读入到变量;根据读入变量的值调用不同的模块函数;3信息录入模块打开文件While(){清屏;按照提示输入各种信息;While显示各种信息;通过选择1.确认并继续2.重新填写3.放弃并返回4.确认并返回选择四种功能;}}4信息浏览模块打开文件While(){清屏;用for语句依次按照顺序输出学生信息通过选择可以翻页1.上一页2.下一页0.退出}5信息查询While(){通过菜单式的选择是学号查询还是姓名printf(******学生信息管理系统******);printf(\n----------检索----------);printf(\n您想要:);printf(\n1.按学号检索);printf(\n2.按姓名检索);printf(\n3.返回主菜单);printf(\n****************************\n);}如果选择学号进入学号模块通过输入学号If(学号存在继续){输出学生信息}Else输出无此学生如果选择姓名进入姓名模块If(根据比较姓名判断学生是否存在){输出学生信息}Else输出无此学生6删除模块while(继续删除){提示并读入待删除的学生的学生号;显示要删除的信息}删除成功7信息修改模块输入要修改学生信息的学号:If(判断是否有此学生){菜单形式显示要修改的项目printf(\n1.姓名2.年龄3.性别4.出生年月5.地址6.电话7.E-mail\n);printf(\n8.数学9.英语\n);}Swich(){选择要修改的项目进行修改}8打开文件模块voidfileopen(){FILE*fp;intn;if((fp=fopen(data,r+))==NULL)fp=fopen(data,w+);for(n=0;n100;n++)fread(&stu[n],sizeof(structstudent),1,fp);fread(&stunum,4,1,fp);fclose(fp);}9保存文件模块voidfilesave(){intn;FILE*fp;fp=fopen(data,r+);for(n=0;n100;n++)fwrite(&stu[n],sizeof(structstudent),1,fp);fwrite(&stunum,4,1,fp);fclose(fp);printf(保存成功!pressEntertocontinue..);getch();}10退出模块case'8':ma=0;break;用的是跳出while语句回到安全模块11排序模块通过冒泡排序法for(m=0;my-1;m++)for(x=m+1;xy;x++)if(stu[m].sumstu[x].sum){stu[99]=stu[m];stu[m]=stu[x];stu[x]=stu[99];stu[99].id=stu[x].id;stu[x].id=stu[m].id;stu[m].id=stu[99].id;}printf(排序后的顺序为:\n);然后显示排序好后的学生信息;学生基本信息结构体是structstudent{intid;charname[30];intage;charsex[6];charbirthday[12];charadd[80];chartel[15];charemail[25];intmath;intenglish;intsum;}stu[100]程序清单#includestdio.h#includeconio.h#includestring.h#includestdlib.hintstunum=0;structstudent//结构体{intid;charname[30];intage;charsex[6];charbirthday[12];charadd[80];chartel[15];charemail[25];intmath;intenglish;intsum;}stu[100];voidcheck()//查询函数{voidjsid();voidjsname();inta;charch;while(a){system(cls);printf(******学生信息管理系统******);printf(\n----------检索----------);printf(\n您想要:);printf(\n1.按学号检索);printf(\n2.按姓名检索);printf(\n3.返回主菜单);printf(\n****************************\n);ch=getchar();switch(ch){case'1':jsid();break;case'2':jsname();break;case'3':a=0;break;}}}voidfileopen()//打开文件{FILE*fp;intn;if((fp=fopen(data,r+))==NULL)fp=fopen(data,w+);for(n=0;n100;n++)fread(&stu[n],sizeof(structstudent),1,fp);fread(&stunum,4,1,fp);fclose(fp);}voidfilesave()//保存文件{intn;FILE*fp;fp=fopen(data,r+);for(n=0;n100;n++)fwrite(&stu[n],sizeof(structstudent),1,fp);fwrite(&stunum,4,1,fp);fclose(fp);printf(保存成功!pressEntertocontinue..);getch();}voideditname(intn)//按照名字修改{printf(\n新姓名:);scanf(%s,stu[n].name);}voideditage(intn)//修改年龄函数{printf(\n新年龄:);scanf(%d,&stu[n].age);}voideditsex(intn)//修改性别函数{printf(\n新性别:);scanf(%s,stu[n].sex);}voideditbir(intn)//修改生日{printf(\n新出生年月);scanf(%s,stu[n].birthday);}voideditadd(intn){printf(\n新地址:);//修改地址scanf(%s,stu[n].add);}voidedittel(intn)//修改电话{printf(\n新电话:);scanf(%s,stu[n].tel);}voideditemail(intn){printf(\n新E-mail:);//修改邮箱scanf(%s,stu[n].email);}voideditmath(intn)//修改数学成绩{printf(\n新数学:);scanf(%d,&stu[n].math);stu[n].sum=stu[n].math+stu[n].english;}voideditenglish(intn)//修改经与成绩{printf(\n新英语:);scanf(%d,&stu[n].english);stu[n].sum=stu[n].math+stu[n].english;}voidlast(intn){if(n==stunum)system(cls);printf(******学生信息管理系统******);printf(\n----------检索----------);printf(\n已检索到末尾。);printf(\nPressanykeytocontinue..);printf(\n****************************\n);}voidedit()//修改函数{charch;inta=1,b;intn;while(a){system
本文标题:学生信息管理系统课程设计报告
链接地址:https://www.777doc.com/doc-7345492 .html