班级档案管理系统报告书.docx
- 文档编号:5065433
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:14
- 大小:79.63KB
班级档案管理系统报告书.docx
《班级档案管理系统报告书.docx》由会员分享,可在线阅读,更多相关《班级档案管理系统报告书.docx(14页珍藏版)》请在冰豆网上搜索。
班级档案管理系统报告书
成绩:
西安建筑科技大学
本科课程设计报告
题目:
班级档案管理系统
学生姓名:
谢沛竹马建涛张凯
黄兴杨智云
学号:
******************
110660228110660215
110660225
院(系):
信息与控制工程学院
专业:
建筑电气及其智能化
******************
2011年12月28日
西安建筑科技大学课程设计(论文)任务书
专业班级:
学生姓名:
指导教师:
一、课程设计(论文)题目
班级档案管理系统
二、本次课程设计(论文)应达到的目的
本次课程设计的目的是运用计算机语言设计文献管理系统,通过此次课程设计,加深学生对本课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、工程设计或撰写小论文的步骤和方法;以提高学生独立分析问题、解决问题的能力,逐步增强实际工程训练。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
要求:
要求学生在认真复习教材的基础上,查阅相关资料、认真阅读相关的设计要求,按时独立完成任务。
课程设计的说明书要求简洁、通顺、计算正确,程序完整、清楚、规范。
主要内容:
①学生的基本信息采用一个包含N个数据的结构体数组,每个数据的结构应当包括:
学号、姓名、性别、年龄、备注。
②主要功能:
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
四、应收集的资料及主要参考文献:
《C程序设计》谭浩强清华大学出版社
《C程序设计课程设计》刘振安机械工业出版社
《C语言课程设计》梁旭谷晓琳黄明电子工业出版社
五、审核批准意见
教研室主任(签字)
班级档案管理系统
设计总说明
一、设计目的:
运用计算机语言设计班级档案管理系统,通过此次课程设计,加深对本课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、工程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。
二、设计内容:
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
三、设计方法:
结合C语言的有关知识,查阅大量资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++6.0平台上完成设计,并进行调试。
第一章绪论
班级档案管理系统有六种功能,把这6个功能做成6个子函数。
在主函数中设计一个菜单对这6个子数进行管理。
来实现对整个系统的操作。
根据课题的要求,每个数据的结构应当包括:
学号(char)、姓名(char)、性别(char)、年龄(int)、备注(char)。
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
最后为了以后按照处理后的顺序保存到文件中。
第二章系统总体框架和功能分析
2.1总体框架:
图2.1系统的总体框架示意图
2.2功能分析:
“学生档案管理系统”包括九个模块:
输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按学号查找,删除该学生资料,查找并显示学生资料,按学号查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。
每个模块既相互联系又相互独立。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。
本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。
第三章模块设计与分析
3.1输入学生资料模块:
主要功能用来对学生的成绩进行收集和输入。
在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。
在准确输入学生资料后,就可以对该学生的各科成绩进行录入。
该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。
3.2输出学生资料模块:
主要功能用来对学生的成绩进行输出。
在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。
具体包括学生的班级,学号,姓名和各科成绩。
在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。
3.3按学生姓名进行排列模块:
主要功能是用来对学生的资料按姓名进行排序。
在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。
3.4添加学生模块:
主要功能是用来添加学生资料,成绩。
如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。
如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。
3.5按学生学号查找并删除模块:
主要功能是用来删除学生资料。
在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。
由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化。
3.6按学生学号查找并显示模块:
主要功能是用来查找学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息
3.7按学生学号查找并修改模块:
主要功能是用来修改学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。
3.8保存并退出模块:
主要功能是用来储存学生资料。
在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。
第四章详细设计与程序实现
4.1采用C语言定义相关数据类型:
学生信息包括:
学号,姓名,性别、年龄、备注
structstudent/*定义常数表示记录数*/
{
longintnum;//学号
charname[20];//姓名
charsex;//性别
intage;//年龄
charbeizhu[20];//备注
stu[n-1];/*定义全局结构体数组stu*/
}
4.2总流程图:
4.3主要源程序代码:
#include
#include
#definen4/*定义常数表示记录数*/
FILE*fp;/*定义指向FILE类型文件的指针变量*/
structstudent/*定义常数表示记录数*/
{
longintnum;//学号
charname[20];//姓名
charsex;//性别
intage;//年龄
charbeizhu[20];//备注
stu[n-1];/*定义全局结构体数组stu*/
}
intmain()
{
voidinput();//函数声明
voidprint();//函数声明
voidshift();//函数声明
voiddel();//函数声明
voidsave();//函数声明
voidopen();//函数声明
voidmm();//函数声明
voidesc();//函数声明
mm();//调用mm函数
return0;
}
voidmm()/*定义mm函数,实现主菜单的显示*/
{
intx;//定义整形变量x
printf("\t\t\t\t***班级档案管理系统***\n");
printf("\t\t\t\t1.学生信息录入\n");
printf("\t\t\t\t2.学生信息显示\n");
printf("\t\t\t\t3.学生信息修改\n");
printf("\t\t\t\t4.学生信息删除\n");
printf("\t\t\t\t5.保存/退出\n");
printf("pleasechoose1,2,3,4or5:
");
scanf("%d",&x);
if(x==1)input();//当x为1时,调用input函数
elseif(x==2)print();//当x为2时,调用print函数
elseif(x==3)shift();//当x为3时,调用shift函数
elseif(x==4)del();//当x为4时,调用del函数
elseif(x==5)esc();//当x为5时,调用esc函数
}
voidinput()/*定义input函数,实现学生信息录入*/
{
inti;//定义整形变量i
printf("请输入学生信息:
学号,姓名,性别,年龄,备注:
\n");
for(i=0;i<(n-1);i++){scanf("%d,%s,%c,%d,%s",&stu[i].num,&stu[i].name,&stu[i].sex,&stu[i].age,&stu[i].beizhu);save();}//调用save函数
mm();//调用mm函数
}
voidprint()/*定义print函数,实现学生信息显示*/
{
inty;//定义整形变量y
open();//调用open函数
printf("pleasechoose0,1or2:
");
scanf("%d",&y);
{
printf("%d,%s,%c,%d,%s",stu[y].num,stu[y].name,stu[y].sex,stu[y].age,stu[y].beizhu);
printf("\n");
}
mm();//调用mm函数
}
voidshift()/*定义shift函数,实现学生信息修改*/
{
inta,b;//定义整形变量a,b
open();//调用open函数
printf("pleasechoose1,2or3:
");
scanf("%d",&a);
b=a-1;printf("%d,%s,%c,%d,%s",stu[b].num,&stu[b].name,stu[b].sex,stu[b].age,&stu[b].beizhu);
printf("请输入学生信息:
学号,姓名,性别,年龄,备注:
\n");
scanf("%d,%s,%c,%d,%s",&stu[n].num,&stu[n].name,&stu[n].sex,&stu[n].age,&stu[n].beizhu);stu[b]=stu[n];//将结构体数组变量stu[n]的值赋给结构体数组变量stu[b]
save();//调用save函数
printf("%d,%s,%c,%d,%s",stu[b].num,&stu[b].name,stu[b].sex,stu[b].age,&stu[b].beizhu);mm();//调用mm函数
}
voiddel()/*定义del函数,实现学生信息删除*/
{
intz,i;//定义整形变量在z,i
open();//调用open函数
printf("pleasechoose1,2or3:
");
scanf("%d",&z);
for(i=0;i<(z-1);i++)、printf("%d,%s,%c,%d,%s",stu[i].num,&stu[i].name,stu[i].sex,stu[i].age,&stu[i].beizhu);
printf("\n");
for(i=z;i<=(n-1);i++)
printf("%d,%s,%c,%d,%s",stu[i].num,&stu[i].name,stu[i].sex,stu[i].age,&stu[i].beizhu);printf("\n");
mm();//调用mm函数
}
voidsave()/*定义save函数,实现学生信息保存*/
{
FILE*fp;/*定义指向FILE类型文件的指针变量*/
inti;//定义整形变量在i
if((fp=fopen("stu.dat","wb"))==NULL)//以只写方式打开二进制文件
{printf("cannotopenfile\n");
return;
}
for(i=0;i<(n-1);i++)
if(fwrite(&stu[i],sizeof(structstudent),1,fp)!
=1)
printf("filewriteerror\n");
fclose(fp);//关闭文件
}
voidopen()/*定义open函数,实现存放学生数据文件的打开*/
{
inti;//定义整形变量在i
FILE*fp;
if((fp=fopen("stu.dat","rb"))==NULL)//以只读方式打开二进制文件
{printf("cannotopenfile\n");
exit(0);
}
for(i=0;i<(n-1);i++)
{
fseek(fp,i*sizeof(structstudent),0);//移动文件位置标记
fread(&stu[i],sizeof(structstudent),1,fp);
//读一个数据块到结构体变量
}
}
voidesc()
{
printf("\t\t\t***************************************\n");//在屏幕输出
printf("\t\t\t\t欢迎下次使用\n");//在屏幕输出
printf("\t\t\t***************************************\n");//在屏幕输出
printf("\t\t\t制作:
谢沛竹、马建涛、杨智云、黄兴、张凯\n");//在屏幕输出
exit(0);//结束程序
}
4.4调试分析并显示程序:
①班级档案管理系统主菜单页面
②学生信息录入页面
③学生信息查找显示页面
④学生信息修改页面
⑤学生信息删除页面
第五章总结
本学生成绩管理系统由5个模块组成,每个模块相互联系又相互独立。
这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。
只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等。
而且在每个模块也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符。
同时有些模块还不能实现本应该有的功能,这有待以后努力,争能够实现该有的功能。
在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。
如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。
但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。
因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。
开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。
为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。
现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。
在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。
一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。
参考文献
[1]《C程序设计》谭浩强清华大学出版社
[2]《C程序设计课程设计》刘振安机械工业出版社
[3]《C语音课程设计》梁旭谷晓琳黄明电子工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 班级 档案管理系统 报告书