目录摘要 (2)第1章绪论 (2)第2章系统总体框架与功能分析.......................................... - 2 - 2.1总体框架.. (4)2.2功能分析 (4)第3章模块设计与分析 (4)第4章类的设计与分析 (4)4.1 STUDENT类图 (4)4.1 STUDENT类说明表 (4)第5章功能测试 (4)第6章总结 (4)参考文献 (13)附录 (13)C语言设计班级档案管理摘要本文介绍了利用C语言[1]对班级档案管理[5]进行设计的过程,从系统总体框架,功能分析,模块设计与分析,类的设计与分析[2],功能测试等环节通过Microsoft Visual C++ 6.0[3]对班级档案管理进行详细的设计,并介绍了班级档案管理如何运用,本次设计是基于C语言的程序设计,利用了C语言的强大功能,设计出的程序运行良好,可以在班级档案管理,学生成绩管理等方面进行良好的运用。
关键词:C语言,班级档案管理系统,Microsoft Visual C++ 6.0第1章绪论班级档案管理系统有六十一种功能,把这11个功能做成11个子函数。
在主函当数中设计一个菜单对这11个子数进行管理。
来实现对整个系统的操作。
根据课题的要求,每个数据的结构应当包括:学号(char)、姓名(char)、性别(char)、年龄(int)、备注(char)。
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
最后为了以后按照处理后的顺序保存到文件中。
第2章系统总体框架与功能分析2.1总体框架图2.1系统的总体框架示意图2.2功能分析“学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。
每个模块既相互联系又相互独立。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。
本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。
第3章模块设计与分析3.1输入学生资料模块:主要功能用来对学生的成绩进行收集和输入。
在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。
在准确输入学生资料后,就可以对该学生的各科成绩进行录入。
该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。
3.2输出学生资料模块:主要功能用来对学生的成绩进行输出。
在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。
具体包括学生的班级,学号,姓名和各科成绩。
在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。
3.3 按学生姓名进行排列模块主要功能是用来对学生的资料按姓名进行排序。
在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。
3.4添加学生资料模块主要功能是用来添加学生资料,成绩。
如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。
如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。
3.5按姓名查找,删除该学生资料模块主要功能是用来删除学生资料。
在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。
由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化3.6查找并显示学生资料模块主要功能是用来查找学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息3.7按姓名查找,修改学生资料模块主要功能是用来修改学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。
3.8从文件中读入数据模块主要功能是用来从文件中读入学生数据。
由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。
这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。
3.9储存学生资料并退出系统模块主要功能是用来储存学生资料。
在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。
第4章类的设计与分析4.1Student类图图4.1 Student类图typedef class{public:char num[10];char cla[10];char name[20];char byyl[10];char jsjzc[20];char sjk[10];char jsjyy[20];char jsdl[20];}Student;4.2 Student类说明表第5章功能测试5.1学生成绩管理系统主菜单页面图5.1学生成绩管理系统主菜单页面图5.2输入学生资料模块图5.2输入学生资料模块图5.3输出学生资料模块图5.3输出学生资料模块图5.4按学生姓名进行排列模块图5.4按学生姓名进行排列模块图5.5添加学生资料模块图5.5添加学生资料模块图5.6按姓名查找,删除该学生资料模块图5.6按姓名查找,删除该学生资料模块图5.7查找并显示学生资料图5.7查找并显示学生资料图5.8按姓名查找,修改学生资料模块图5.8按姓名查找,修改学生资料模块图5.9从文件中读入数据模块图5.9从文件中读入数据模块图5.10储存学生资料并退出系统模块图5.10储存学生资料并退出系统模块图第6章总结编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强破自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。
而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。
所以认真仔细就是非常重要的了。
开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。
又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。
无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。
通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!参考文献[1]苏贾宗璞,许合利,《C语言程序设计》,人民邮电出版社[2]苏小红等,《 C 语言大学实用教程学习指导》,电子工业出版社, 2007 年 4 月[3]《数据结构(c语言版)例题详解与课程设计指导》第二版袁志祥、秦锋主编,中国科学技术大学出版社出版附录源程序清单#include<iostream>#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<string.h>#include<iostream>#include<iomanip>using namespace std;typedef class{public:char num[10];char cla[10];char name[20];char byyl[10];char jsjzc[20];char sjk[10];char jsjyy[20];char jsdl[20];}Student;Student stu[80];int menu(){char c;for(;c<'0'||c>'8';){system("cls");cout<<" 欢迎使用学生成绩管理系统!!"<<endl;cout<<endl;cout<<"****************************** 学生成绩管理系统****************************** "<<endl;cout<<setw(32)<<" "<<"1.输入学生资料"<<endl;cout<<setw(32)<<" "<<"2.输出学生资料"<<endl;cout<<setw(32)<<" "<<"3.按学生姓名进行排列"<<endl;cout<<setw(32)<<" "<<"4.添加学生资料"<<endl;cout<<setw(32)<<" "<<"5.按姓名查找,删除该学生资料"<<endl;cout<<setw(32)<<" "<<"6.查找并显示学生资料"<<endl;cout<<setw(32)<<" "<<"7.按姓名查找,修改该学生资料"<<endl;cout<<setw(32)<<" "<<"8.从文件中读入数据"<<endl;cout<<setw(32)<<" "<<"0.储存并退出系统"<<endl;cout<<setfill('=')<<setw(48)<<"="<<endl;cout<<setw(15)<<" ";cout<<"请选择(0-8):";c=getchar();}return(c-'0');}int Input(Student stud[],int n) //输入数据。