您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 学生管理系统设计-说明书
1简介1.1设计要求学生管理系统应包含学生的全部信息。每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。本系统能够按专业班级或学号查找学生,并显示相关学生情况。要求程序结构合理、算法准确、语法正确,并生成可执行文件。1.2系统概述学生信息管理系统作为一个应用软件为学校师生提供一个对学生信息进行管理和查询的平台。用户可根据系统界面的提示信息对学生的信息进行输入、修改、增加、删除、查询、排序等操作。1.3开发与设计的总体思想本系统主要应用模块化的设计思想实现学生信息的输入、修改、增加、删除、查询、排序等典型管理功能。各主要模块的数据均存储在文件中,因此包含对文件的读、写等基本操作。在软件开发过程中应用了C语言程序设计中的基本控制结构,如选择、循环、顺序结构。2总体设计2.1功能需求该系统提供了一个对学生信息进行管理和查看的平台,给用户一个交互式的应用接口,具体功能如下:2.1.1创建学生信息用户根据提示信息输入学生的姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等信息,系统会以文件形式存储,以便进行管理。2.1.2查询学生信息用户根据提示信息输入学生的学号或专业班级的方式进行查询,在学生文件中查找到该信息并显示出来。2.1.3修改学生信息用户可以根据系统提示修改自己的一些信息。2.1.4删除学生信息用户根据提示信息输入学生的学号,在学生文件中查找到该信息并删除。2.1.5显示学生信息用户根据提示信息输入学生的学号或班级,在学生文件中查找到该信息并显示。2.1.6保存学生信息系统将学生信息记录存储在系统磁盘的文件中,以便进行管理、检索和备份。2.2系统功能结构图学生管理系统图1学生管理系统录入学生信息查询学生信息修改学生信息删除学生信息显示全部信息保存学生信息选择录入人数录入信息学号查询班级查询输入学生学号输入修改信息输入学生学号删除该生信息3详细设计3.1系统化分析将程序进行模块化处理,使程序编写思路清晰,降低了编写程序的难度。首先输入一些学生信息,学生信息中包含学号、姓名、年龄、性别、出生年月、地址、电话等基本信息,输入完之后建立一个文件,把数据存储在里面;然后要能查询输入的学生信息,建立一个查询模块,在模块中打开文件,根据学号、班级查询出学生信息。输入信息之后应该可以进行修改和删除,建立修改、删除的模块;还有增加学生信息,应该能根据实际情况增加学生的信息,建立增加的模块,之后就是保存和退出。3.2主函数及主界面首先定义数据的类型,根据实际要输入的数据定义合适的数据类型,然后建立一个菜单模块,设计出系统的主菜单的界面,利用switch选择函数进行菜单选项的选择,之后设计主函数,利用while循环结构在主函数中一直调用菜单模块。3.3录入模块主函数之后要先进行数据的录入,在录入模块中套用while、if和for循环结构图2主界面使系统能一次根据要求输入指定数量的学生的信息,利用printf函数输出提示,scanf函数进行信息的录入,录入完毕之后,调用保存模块进行数据的保存。3.4查询模块系统要能进行信息的查询,利用switch函数进行选择根据学号还是班级进行查询,之后利用strcmp函数将输入的查询信息与系统存储文件中的信息进行比较,如果相同则输出该学生的信息,如果不同则输出“该学生不存在”。图3录入模块3.5修改模块考虑到有些信息可能会发生变动,因此设计了修改模块,如果某个学生的信息发生变动,则根据strcmp函数找到对应的学生信息,选择要修改的项目,之后利用strcpy函数将输入的新信息覆盖原来的信息,然后保存在存储文件中。3.6删除模块图4查询模块图5修改模块有些学生信息可能要根据实际情况进行删除,那么根据输入的要删除的学生学号,用strcmp函数比较确定要删除的学生信息,然后进行删除,删除之后输出提示“”删除成功。3.7增加模块通过此模块可以根据实际情况增加新的学生信息,利用strcmp函数判断要增加的信息是否已存,如果存在则输出提示“该学号已存在”,如果不存在则提示输入学生信息。3.8显示模块通过此模块可以浏览系统中的全部信息,从而很方便的对学生信息进行对比。3.9保存模块该模块的作用是保存信息,建立一个存储文件,打开该文件用fwrite函数写入录入的信息然后关闭该文件。3.10退出系统图6删除模块当对系统操作完成以后,想退出系统只需在界面中选择退出系统模块的代号,系统就自动退出此次运行程序。4总结通过这次课程设计,巩固了C语言的知识,对C语言的内容有了进一步的了解,增图7退出系统加了实际动手能力。同时在课程设计过程中,也发现了自身学习态度的问题。由于这学期没有认真听讲,课后有没及时花时间去复习,造成了许多知识的漏洞,很多知识不能很好地运用,事实告诫了我:今后上课一定要认真听讲,及时复习,多动手实际编写,增强自己的实践能力。参考文献[1]谭浩强,张基温.C语言程序设计教程(第3版)[M].北京:高等教育出版社,2006[2]吕凤煮.C语言基础教程——基础理论与案例[M].北京:清华大学出版社,2005[3]黄明、梁旭、万洪莉.C语言课程设计[M].北京:电子工业出版社,2006[4]郭宁,郑小玲.管理信息系统[M].北京:人民邮电出版社,2006[5]赵池龙,杨林,陈伟.实用软件工程[M].北京:电子工业出版社,2006附录程序清单:#includestdio.h#includestdlib.h#includestring.h#defineN41structrecord{charcode[20];/*学号*/charname[10];/*姓名*/charsex[5];/*性别*/chartime[20];/*出生日期*/charmajor[10];/*专业*/chargrade[5];/*班级*/charadd[20];/*地址*/charnoq[20];/*宿舍号码*/}stu[N];intk=1,m,n;voidcaidan();voidluru();voidchaxun();voidxiugai();voidzengjia();voidshanchu();voidxianshi();voidbaocun();voidtuichu();intmain(){while(k){caidan();}return0;}voidluru()/*录入学生信息*/{inti,flag=1;while(flag){flag=0;printf(请输入录入信息的学生人数(n=41):\n);scanf(%d,&n);if(n1||n41){flag=1;printf(输入错误,请检查后重新输入!\n);}}for(i=0;in;i++){printf(请输入第%d个学生的信息:\n,i+1);printf(请输入学号:\n);scanf(%s,stu[i].code);printf(请输入姓名:\n);scanf(%s,stu[i].name);getchar();printf(请输入性别(男/女):\n);scanf(%s,stu[i].sex);printf(请输入出生日期:\n);scanf(%s,stu[i].time);printf(请输入地址:\n);scanf(%s,stu[i].add);printf(请输入专业:\n);scanf(%s,stu[i].major);printf(请输入班级:\n);scanf(%s,stu[i].grade);printf(请输入宿舍号码:\n);scanf(%s,stu[i].noq);system(cls);}printf(录入完毕!\n);baocun();}voidchaxun()/*查询学生信息*/{inti,t,flag;chars1[30];printf(=================================\n);printf(|1.按学号查询|\n);printf(|2.按班级查询|\n);printf(|3.退出|\n);printf(=================================\n);while(1){flag=0;printf(请输入菜单编号:);scanf(%d,&t);switch(t){case1:printf(请输入要查询的学生的学号:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].code,s1)==0){flag=1;printf(学号姓名性别出生日期专业班级地址宿舍号码\n);printf(================================================================================\n);printf(%6s%7s%5s%9s%8s%5s%14s%5s\n,stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].major,stu[i].grade,stu[i].add,stu[i].noq);printf(\n);}if(flag==0)printf(该学号不存在!\n);break;case2:printf(请输入要查询的学生的班级:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].grade,s1)==0){flag=1;printf(学号姓名性别出生日期专业班级地址宿舍号码\n);printf(================================================================================\n);printf(%6s%7s%5s%9s%8s%5s%14s%5s\n,stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].major,stu[i].grade,stu[i].add,stu[i].noq);printf(\n);}if(flag==0)printf(该班级不存在!\n);break;case3:system(cls);return;default:printf(请在1--3之间选择\n);}}}voidxiugai()/*修改学生信息*/{inti,t,num;charsex1[3],s1[30],s2[30];printf(请输入要修改的学生的学号:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].code,s1)==0)num=i;printf(=============================================\n);printf(|1.修改姓名|\n);printf(|2.修改性别|\n);printf(|3.修改出生日期|\n);printf(|4.修改专业|\n);printf(|5.修改班级|\n);printf(|6.修改地址|\n);printf(|7.修改宿舍号码|\n);printf(|8.退出|\n);printf(=============================================\n);while(1){printf(请输入菜单的编号:);scanf(%d,&t);switch(t){case1:printf(请输入新的姓名:\n);scanf(%s,s2);strcpy(stu[num].name,s2);break;case2:printf(请输入新的性别:\n);scanf(%s,sex1);strcpy(stu[num].sex,sex1);break;case3:printf(请输入新的出生日期:\n);scanf(%s,s2);strcpy(stu[num].time,s2);break;case4:printf(请输入新的专业:\n);scanf
本文标题:学生管理系统设计-说明书
链接地址:https://www.777doc.com/doc-8570905 .html