课程设计(论文)C语言设计班级档案管理

上传人:仙*** 文档编号:32163932 上传时间:2021-10-13 格式:DOC 页数:27 大小:326.52KB
收藏 版权申诉 举报 下载
课程设计(论文)C语言设计班级档案管理_第1页
第1页 / 共27页
课程设计(论文)C语言设计班级档案管理_第2页
第2页 / 共27页
课程设计(论文)C语言设计班级档案管理_第3页
第3页 / 共27页
资源描述:

《课程设计(论文)C语言设计班级档案管理》由会员分享,可在线阅读,更多相关《课程设计(论文)C语言设计班级档案管理(27页珍藏版)》请在装配图网上搜索。

1、通信专业课程设计二课课 程程 设设 计(论计(论 文)文)设计设计( (论文论文) )题目:题目:C C 语言设计班级档案管理语言设计班级档案管理姓姓 名名_ _ _学学 号号_ 班班 级级_ _ _ _ _学学 院院_电子信息工程学院电子信息工程学院_ _指导教师指导教师_ _2011 年 1 月 14 日太原科技大学课程设计(论文)任务书学院(直属系): 电子信息工程学院 时间: 2010 年 12 月 31日学 生 姓 名指 导 教 师设计(论文)题目C 语言设计班级档案管理主要研究内容对一个有 N 个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作

2、的管理。研究方法利用所 C 语言的有关知识,查阅大量的资料,对班级档案管理的内容进行构思和设计,在 Microsoft Visual C+ 6.0 平台上完成设计,并进行调试。主要技术指标(或研究目标)a)了解和掌握 c 语言面向对象程序设计的基本过程。b)进一步熟悉 C 语言的特点。c)学会总体规划一个程序,从各个部分把一个程序完成好。d)能够使自己的程序实现一定的功能,对 C+产生一种浓厚的兴趣。教研室意见教研室主任(专业负责人)签字: 年 月 日 :C 语言设计班级档案管理I 目 录摘 要 .II第 1 章 绪论 .- 1 -第 2 章 系统总体框架与功能分析 .- 2 -2.1 总体框

3、架.- 4 -2.2 功能分析.- 4 -第 3 章 模块设计与分析 .- 4 -第 4 章 类的设计与分析 .- 4 -4.1 STUDENT 类图.- 4 -4.1 STUDENT 类说明表.- 4 -第 5 章 功能测试 .- 4 -第 6 章 总结 .- 4 -参考文献 .- 14 -附 录 .- 15 -:C 语言设计班级档案管理II C 语言设计班级档案管理摘 要本文介绍了利用 C 语言1对班级档案管理5进行设计的过程,从系统总体框架,功能分析,模块设计与分析,类的设计与分析2,功能测试等环节通过 Microsoft Visual C+ 6.03对班级档案管理进行详细的设计,并介绍

4、了班级档案管理如何运用,本次设计是基于 C 语言的程序设计,利用了 C 语言的强大功能,设计出的程序运行良好,可以在班级档案管理,学生成绩管理等方面进行良好的运用。关键词:C 语言,班级档案管理系统,Microsoft Visual C+ 6.0:C 语言设计班级档案管理- 1 - 第 1 章 绪论班级档案管理系统有六十一种功能,把这 11 个功能做成 11 个子函数。在主函当数中设计一个菜单对这 11 个子数进行管理。来实现对整个系统的操作。根据课题的要求,每个数据的结构应当包括:学号(char) 、姓名(char) 、性别(char) 、年龄(int) 、备注(char) 。对一个有 N

5、个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。最后为了以后按照处理后的顺序保存到文件中。:C 语言设计班级档案管理- 2 - 第 2 章系统总体框架与功能分析2.1 总体框架主菜单输入学生资料模块输出学生资料模块按学生姓名进行排列模块添加学生资料模块按姓名查找,删除该学生资料模块查找并显示学生资料模块按姓名查找,修改学生资料模块从文件中读入数据模块储存学生资料并退出系统模块 图 2.1 系统的总体框架示意图2.2 功能分析“学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,

6、查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。每个模块既相互联系又相互独立。:C 语言设计班级档案管理- 3 - 本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统” ,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。:C 语言设计班级档案管理- 4 - 第 3 章

7、 模块设计与分析3.1 输入学生资料模块:主要功能用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入 y,不想再输入学生成绩的话就输入 n,再输入 n之后,系统返回到主菜单。3.2 输出学生资料模块:主要功能用来对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。具体包括学生的班级,学号,姓名和各科成绩。在查看学生的资料,成绩各方面的信息后,按任

8、意键就可以返回到主菜单。3.3 按学生姓名进行排列模块主要功能是用来对学生的资料按姓名进行排序。在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。3.4 添加学生资料模块主要功能是用来添加学生资料,成绩。如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。3.5 按姓名查找,删除该学生资料模块主要功能是用来删除学生资料。在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资

9、料后,就可以删除了。由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化3.6 查找并显示学生资料模块主要功能是用来查找学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息:C 语言设计班级档案管理- 5 - 3.7 按姓名查找,修改学生资料模块主要功能是用来修改学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。3.8 从文件中读入数据模块主要功能是用来从文件中读入学生数据。由于一

10、些资料可以用 Word 文档或 Excel 表格输入,故在此模块中增加了导入数据的功能。这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。3.9 储存学生资料并退出系统模块主要功能是用来储存学生资料。在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。:C 语言设计班级档案管理- 6 - 第 4 章 类的设计与分析4.1Student 类图studentnumclanamebyyljsjzcsjkjsjyy 图 4.1 Student 类图typedef classpublic: char num10; char cl

11、a10; char name20; char byyl10; char jsjzc20; char sjk10; char jsjyy20;char jsdl20;Student;:C 语言设计班级档案管理- 7 - 4.2 Student 类说明表名称属性说明num数据成员说明学生学号cla数据成员说明学生班级name数据成员说明学生名字byyl数据成员说明学生数据结构成绩jsjzc数据成员说明学生离散数学成绩sjk数据成员说明学生大学物理成绩jsjyy数据成员说明学生大学英语成绩Jssl数据成员说明学生模拟电路成绩图 4.2 Student 类说明表:C 语言设计班级档案管理- 8 - 第

12、 5 章 功能测试5.1 学生成绩管理系统主菜单页面图 5.1 学生成绩管理系统主菜单页面图5.2 输入学生资料模块图 5.2 输入学生资料模块图5.3 输出学生资料模块:C 语言设计班级档案管理- 9 - 图 5.3 输出学生资料模块图5.4按学生姓名进行排列模块图 5.4 按学生姓名进行排列模块图5.5添加学生资料模块:C 语言设计班级档案管理- 10 - 图 5.5 添加学生资料模块图5.6按姓名查找,删除该学生资料模块图 5.6 按姓名查找,删除该学生资料模块图5.7查找并显示学生资料:C 语言设计班级档案管理- 11 - 图 5.7 查找并显示学生资料图5.8按姓名查找,修改学生资料

13、模块图 5.8 按姓名查找,修改学生资料模块图5.9从文件中读入数据模块:C 语言设计班级档案管理- 12 - 图 5.9 从文件中读入数据模块图5.10储存学生资料并退出系统模块图5.10储存学生资料并退出系统模块图:C 语言设计班级档案管理- 13 - 第6章 总结本学生成绩管理系统由 10 个模块组成,每个模块相互联系又相互独立。这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等。而且在每个模块

14、也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符。同时有些模块还不能实现本应该有的功能,这有待以后努力,争能够实现该有的功能。在 21 世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适

15、用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。 开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,

16、节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。:C 语言设计班级档案管理- 14 - 参考文献1Brian W. Kernighan Dennis M. Ritchie, C PROGRAMMING LANGUAGE, 清华大学影印版 ,2007 年 6 月第 10 次印刷2 苏小红等译, C 大学教程(第五版) ,原作者 P.J.Deitel,H.M.Deitel 等著 C How to program (Fifth Edition) , 2008 年 2 月3苏小红等, C 语言大学实用教程(第 2 版) ,电子工业出版社, 2007 年 2 月4苏小红等,

17、 C 语言大学实用教程学习指导 ,电子工业出版社, 2007 年 4 月5(美) Herbert Schildt ,王子恢,戴健鹏等译, C 语言大全(第四版) ,北京:电子工业出版社, 2007:C 语言设计班级档案管理- 15 - 附 录源程序清单源程序清单 #include#include#include#include#include#include#includeusing namespace std;typedef classpublic: char num10; char cla10; char name20; char byyl10; char jsjzc20; char sj

18、k10; char jsjyy20; char jsdl20;Student;Student stu80;int menu() char c; for(;c8;) system(cls); cout 欢迎使用学生成绩管理系统!endl; coutendl; cout* 学生成绩管理系统 * endl; coutsetw(32) 1.输入学生资料endl; coutsetw(32) 2.输出学生资料endl; coutsetw(32) 3.按学生姓名进行排列endl; coutsetw(32) 4.添加学生资料endl; coutsetw(32) 5.按姓名查找,删除该学生资料endl; cou

19、tsetw(32) 6.查找并显示学生资料endl; coutsetw(32) 7.按姓名查找,修改该学生资料endl; coutsetw(32) 8.从文件中读入数据endl;:C 语言设计班级档案管理- 16 - coutsetw(32) 0.储存并退出系统endl; coutsetfill(=)setw(48)=endl; coutsetw(15) ; cout请选择(0-8):; c=getchar(); return(c-0);int Input(Student stud,int n) /输入数据。 int i=0; char sign,x10; for(;sign != n & s

20、ign != N;) coutsetw(15) studn+i.cla; coutsetw(15) studn+i.num; coutsetw(15) studn+i.name; coutsetw(15) studn+i.byyl; coutsetw(15) studn+i.jsjzc; coutsetw(15) studn+i.sjk; coutsetw(15) studn+i.jsjyy; coutsetw(15) studn+i.jsdl; gets(x); coutsetw(10) ; cout&sign; i+; return(n+i); void Display(Student s

21、tud, int n) /输出数据。 int i; coutsetw(15) setfill(-)setw(65)-endl; coutsetw(15) 班级 学号 姓名 数据结构 离散数学 大学物理 大学英语 模拟电路endl; coutsetw(15) ; coutsetfill(-)setw(65)-endl; for(i=1;i1 & i%10=0) coutsetw(15) setfill(-)setw(35)-endl; coutsetw(15) ; system(pause); coutsetw(15) setfill(-)setw(35)-endl; coutsetw(15)

22、; system(pause);void Sort(Student stud,int n) /按名字排序。 int i,j; char t20; for(i=0;in-1;i+) for(j=0;j0) strcpy(t,studj+1.cla); strcpy(studj+1.cla,studj.cla);:C 语言设计班级档案管理- 18 - strcpy(studj.cla,t); strcpy(t,studj+1.num); strcpy(studj+1.num,studj.num); strcpy(studj.num,t); strcpy(t,studj+1.name); strcp

23、y(studj+1.name,studj.name); strcpy(studj.name,t); strcpy(t,studj+1.byyl); strcpy(studj+1.name,studj.byyl); strcpy(studj.byyl,t); strcpy(t,studj+1.jsjzc); strcpy(studj+1.name,studj.jsjzc); strcpy(studj.jsjzc,t); strcpy(t,studj+1.sjk); strcpy(studj+1.name,studj.sjk); strcpy(studj.sjk,t); strcpy(t,stud

24、j+1.jsjyy); strcpy(studj+1.name,studj.jsjyy); strcpy(studj.jsjyy,t); strcpy(t,studj+1.jsdl); strcpy(studj+1.name,studj.jsdl); strcpy(studj.jsdl,t); coutsetw(15) 排序成功!endl;int Insert(Student stud,int n) /插入一条学生信息。 char x10; coutsetw(15) studn.cla; coutsetw(15) studn.num;:C 语言设计班级档案管理- 19 - coutsetw(1

25、5) studn.name; coutsetw(15) studn.byyl; coutsetw(15) studn.jsjzc; coutsetw(15) studn.sjk; coutsetw(15) studn.jsjyy; coutsetw(15) studn.jsdl; gets(x); n+; coutsetw(15) 插入成功!s; while(strcmp(studi.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(ttt 没有发现该学生资料!n); /*返回失败信息*/ return(n); for(j=i;jn-1;j+) /*删除操作

26、*/ strcpy(studj.num,studj+1.num); strcpy(studj.name,studj+1.name); strcpy(studj.cla,studj+1.cla); strcpy(studj.byyl,studj+1.byyl); strcpy(studj.jsjzc,studj+1.jsjzc); strcpy(studj.sjk,studj+1.sjk); strcpy(studj.jsjyy,studj+1.jsjyy); strcpy(studj.jsdl,studj+1.jsdl);:C 语言设计班级档案管理- 20 - coutsetw(15) 当前信

27、息已删除成功!endl; /*返回成功信息*/ return(n-1); void Query(Student stud,int n) /按名字查找信息 char s20; int i=0; coutsetw(15) s; while(strcmp(studi.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(ttt 没有发现该学生资料!n); /*输入失败信息*/ return; coutsetw(15) 学号:studi.numendl; coutsetw(15) 数据结构:studi.byylendl; coutsetw(15) 离散数学:studi.

28、jsjzcendl; coutsetw(15) 大学物理:studi.sjkendl; coutsetw(15) 大学英语:studi.jsjyyendl; coutsetw(15) 模拟电路:studi.jsdlendl;int Xiugai(Student stud,int n) /修改信息。 n=Delete(stud,n); coutsetw(15) 输入你要修改的学生资料endl; n=Insert(stud,n); coutsetw(15) 修改完成endl; return(n);int AddfromText(Student stud, int n) /从文件中读入数据。 int

29、 i=0,num; FILE *fp;:C 语言设计班级档案管理- 21 - char filename20; coutsetw(15) filename; if(fp=fopen(filename,rb)=NULL) coutsetw(15) 无法打开文件endl; coutsetw(15) ; system(pause); return(n); fscanf(fp,%d,&num); for(;inum;) fscanf(fp,%s%s%s%s%s%s%s,studn+i.cla,studn+i.num,studn+i.name,studn+i.byyl,studn+i.jsjzc,stu

30、dn+i.sjk,studn+i.jsjyy,studn+i.jsdl); i+; n+=num; fclose(fp); coutsetw(15) 读入成功!endl; coutsetw(15) ; system(pause); return(n); void WritetoText(Student stud,int n) /将所有记录写入文件。 int i=0; FILE *fp; char filename20; coutsetw(15) 将资料输入文件endl; coutsetw(15) filename; if(fp=fopen(filename,w)=NULL) coutsetw(

31、15) 无法打开文件endl; system(pause); return; fprintf(fp,%dn,n); for(;in;):C 语言设计班级档案管理- 22 - fprintf(fp,%-6s%-5s%-5s%-5s%-5s%-5s%-5sn,studi.cla,studi.num,studi.name,studi.byyl,studi.jsjzc,studi.sjk,studi.jsjyy); i+; fclose(fp); coutsetw(15) 输入成功!endl; int b; coutsetw(15) 请确定是否退出系统:endl; coutsetw(15) 0.退出系

32、统endl; coutsetw(15) 1.返回b; if(b=0) coutsetw(15) 谢谢使用!endl; coutsetw(15) ; system(pause); exit(0); void main() /主函数调用。 int n=0; for(;) switch(menu() case 1: coutsetw(15) 输入学生资料endl; n=Input(stu,n); break; case 2: coutsetw(15) 输出所有学生资料endl; Display(stu,n); break; case 3: coutsetw(15) 按姓名排序endl; Sort(s

33、tu,n); coutsetw(15) ; system(pause); break;:C 语言设计班级档案管理- 23 - case 4: coutsetw(15) 插入学生资料endl; n=Insert(stu,n); coutsetw(15) ; system(pause); break; case 5: coutsetw(15) 删除学生资料endl; coutsetw(15) 输入他(她)的姓名:; n=Delete(stu,n); coutsetw(15) ; system(pause); break; case 6: coutsetw(15) 查找学生endl; Query(s

34、tu,n); coutsetw(15) ; system(pause); break; case 7: coutsetw(15) 修改学生资料endl; coutsetw(15) 输入你要修改的学生的姓名:; n=Xiugai(stu,n); system(pause); break; case 8: coutsetw(15) 从文件中读入数据endl; n=AddfromText(stu,n); break; case 0: coutsetw(15) 将所有资料写入文件endl; WritetoText(stu,n); coutsetw(15) ; system(pause); break;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!