C语言班级档案管理设计.docx
- 文档编号:10466425
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:29
- 大小:224.98KB
C语言班级档案管理设计.docx
《C语言班级档案管理设计.docx》由会员分享,可在线阅读,更多相关《C语言班级档案管理设计.docx(29页珍藏版)》请在冰点文库上搜索。
C语言班级档案管理设计
通信专业课程设计二
课程设计(论文)
设计(论文)题目:
C语言设计班级档案管理
姓名__________
学号_______
班级_______
学院__电子信息工程学院_
指导教师__________
2011年1月14日
太原科技大学课程设计(论文)任务书
学院(直属系):
电子信息工程学院时间:
2010年12月31日
学生姓名
指导教师
设计(论文)题目
C语言设计班级档案管理
主要研
究内容
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
研究方法
利用所C语言的有关知识,查阅大量的资料,对班级档案管理的内容进行构思和设计,在MicrosoftVisualC++6.0平台上完成设计,并进行调试。
主要技术指标(或研究目标)
a)了解和掌握c语言面向对象程序设计的基本过程。
b)进一步熟悉C语言的特点。
c)学会总体规划一个程序,从各个部分把一个程序完成好。
d)能够使自己的程序实现一定的功能,对C++产生一种浓厚的兴趣。
教研室
意见
教研室主任(专业负责人)签字:
年月日
目录
摘要II
第1章绪论-1-
第2章系统总体框架与功能分析-2-
2.1总体框架-4-
2.2功能分析-4-
第3章模块设计与分析-4-
第4章类的设计与分析-4-
4.1student类图-4-
4.1student类说明表-4-
第5章功能测试-4-
第6章总结-4-
参考文献-14-
附录-15-
C语言设计班级档案管理
摘要
本文介绍了利用C语言[1]对班级档案管理[5]进行设计的过程,从系统总体框架,功能分析,模块设计与分析,类的设计与分析[2],功能测试等环节通过MicrosoftVisualC++6.0[3]对班级档案管理进行详细的设计,并介绍了班级档案管理如何运用,本次设计是基于C语言的程序设计,利用了C语言的强大功能,设计出的程序运行良好,可以在班级档案管理,学生成绩管理等方面进行良好的运用。
关键词:
C语言,班级档案管理系统,MicrosoftVisualC++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.1Student类图
typedefclass
{
public:
charnum[10];
charcla[10];
charname[20];
charbyyl[10];
charjsjzc[20];
charsjk[10];
charjsjyy[20];
charjsdl[20];
}Student;
4.2Student类说明表
名称
属性
说明
num
数据成员
说明学生学号
cla
数据成员
说明学生班级
name
数据成员
说明学生名字
byyl
数据成员
说明学生数据结构成绩
jsjzc
数据成员
说明学生离散数学成绩
sjk
数据成员
说明学生大学物理成绩
jsjyy
数据成员
说明学生大学英语成绩
Jssl
数据成员
说明学生模拟电路成绩
图4.2Student类说明表
第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章总结
本学生成绩管理系统由10个模块组成,每个模块相互联系又相互独立。
这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。
只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等。
而且在每个模块也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符。
同时有些模块还不能实现本应该有的功能,这有待以后努力,争能够实现该有的功能。
在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。
如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。
但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。
因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。
开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。
为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。
现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。
在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。
一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。
参考文献
[1]BrianW.KernighanDennisM.Ritchie,CPROGRAMMINGLANGUAGE, 清华大学影印版 ,2007年 6 月第 10 次印刷
[2] 苏小红等译,《 C 大学教程(第五版)》,原作者 P.J.Deitel,H.M.Deitel 等著《 CHowtoprogram(FifthEdition)》, 2008 年 2 月
[3]苏小红等,《 C 语言大学实用教程(第 2 版)》,电子工业出版社, 2007 年 2 月
[4]苏小红等,《 C 语言大学实用教程学习指导》,电子工业出版社, 2007 年 4 月
[5](美) HerbertSchildt ,王子恢,戴健鹏等译, C 语言大全(第四版),北京:
电子工业出版社, 2007
附录
源程序清单
#include
#include
#include
#include
#include
#include
#include
usingnamespacestd;
typedefclass
{
public:
charnum[10];
charcla[10];
charname[20];
charbyyl[10];
charjsjzc[20];
charsjk[10];
charjsjyy[20];
charjsdl[20];
}Student;
Studentstu[80];
intmenu()
{
charc;
for(;c<'0'||c>'8';)
{
system("cls");
cout<<"欢迎使用学生成绩管理系统!
!
"< cout< cout<<"******************************学生成绩管理系统******************************"< cout< cout< cout< cout< cout< cout< cout< cout< cout< cout< cout< cout<<"请选择(0-8): "; c=getchar(); } return(c-'0'); } intInput(Studentstud[],intn)//输入数据。 { inti=0; charsign,x[10]; for(;sign! ='n'&&sign! ='N';) { cout< "; cin>>stud[n+i].cla; cout< "; cin>>stud[n+i].num; cout< "; cin>>stud[n+i].name; cout< "; cin>>stud[n+i].byyl; cout< "; cin>>stud[n+i].jsjzc; cout< "; cin>>stud[n+i].sjk; cout< "; cin>>stud[n+i].jsjyy; cout< "; cin>>stud[n+i].jsdl; gets(x); cout< cout<<"还有要输入的信息吗? (y/n)"; cin>>&sign; i++; } return(n+i); } voidDisplay(Studentstud[],intn)//输出数据。 { inti; cout< cout< cout< cout< for(i=1;i { printf("\t\t%-9s%-9s%-9s%-9s%-9s%-9s%-9s\n",stud[i-1].cla,stud[i-1].num,stud[i-1].name,stud[i-1].byyl,stud[i-1].jsjzc,stud[i-1].sjk,stud[i-1].jsjyy); if(i>1&&i%10==0) { cout< cout< system("pause"); cout< } } cout< system("pause"); } voidSort(Studentstud[],intn)//按名字排序。 { inti,j; chart[20]; for(i=0;i for(j=0;j if(strcmp(stud[j].num,stud[j+1].num)>0) { strcpy(t,stud[j+1].cla); strcpy(stud[j+1].cla,stud[j].cla); strcpy(stud[j].cla,t); strcpy(t,stud[j+1].num); strcpy(stud[j+1].num,stud[j].num); strcpy(stud[j].num,t); strcpy(t,stud[j+1].name); strcpy(stud[j+1].name,stud[j].name); strcpy(stud[j].name,t); strcpy(t,stud[j+1].byyl); strcpy(stud[j+1].name,stud[j].byyl); strcpy(stud[j].byyl,t); strcpy(t,stud[j+1].jsjzc); strcpy(stud[j+1].name,stud[j].jsjzc); strcpy(stud[j].jsjzc,t); strcpy(t,stud[j+1].sjk); strcpy(stud[j+1].name,stud[j].sjk); strcpy(stud[j].sjk,t); strcpy(t,stud[j+1].jsjyy); strcpy(stud[j+1].name,stud[j].jsjyy); strcpy(stud[j].jsjyy,t); strcpy(t,stud[j+1].jsdl); strcpy(stud[j+1].name,stud[j].jsdl); strcpy(stud[j].jsdl,t); } cout< "< } intInsert(Studentstud[],intn)//插入一条学生信息。 { charx[10]; cout< "; cin>>stud[n].cla; cout< "; cin>>stud[n].num; cout< "; cin>>stud[n].name; cout< "; cin>>stud[n].byyl; cout< "; cin>>stud[n].jsjzc; cout< "; cin>>stud[n].sjk; cout< "; cin>>stud[n].jsjyy; cout< "; cin>>stud[n].jsdl; gets(x); n++; cout< "< return(n); } intDelete(Studentstud[],intn)//按名字查找信息,删除信息。 { chars[20]; inti=0,j; cin>>s; while(strcmp(stud[i].name,s)! =0&&i if(i==n) { printf("\t\t\t没有发现该学生资料! \n");/*返回失败信息*/ return(n); } for(j=i;j { strcpy(stud[j].num,stud[j+1].num); strcpy(stud[j].name,stud[j+1].name); strcpy(stud[j].cla,stud[j+1].cla); strcpy(stud[j].byyl,stud[j+1].byyl); strcpy(stud[j].jsjzc,stud[j+1].jsjzc); strcpy(stud[j].sjk,stud[j+1].sjk); strcpy(stud[j].jsjyy,stud[j+1].jsjyy); strcpy(stud[j].jsdl,stud[j+1].jsdl); } cout< "< return(n-1); } voidQuery(Studentstud[],intn)//按名字查找信息 { chars[20]; inti=0; cout< "; cin>>s; while(strcmp(stud[i].name,s)! =0&&i i++;/*查找判断*/ if(i==n) { printf("\t\t\t没有发现该学生资料! \n");/*输入失败信息*/ return; } cout< "< cout< "< cout< "< cout< "< cout< "< cout< "< } intXiugai(Studentstud[],intn)//修改信息。 { n=Delete(stud
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 班级 档案 管理 设计