




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 班级档案管理系统成绩: 西安建筑科技大学本 科 课 程 设 计 报 告 题 目: 班级档案管理系统 学生姓名:谢沛竹 马建涛 张凯 黄兴 杨智云 学 号:110660206 110660219 110660228 110660215 110660225 院 (系): 信息与控制工程学院 专 业: 建筑电气及其智能化 指导教师: 陈俊英 2011 年12 月28 日西安建筑科技大学课程设计(论文)任务书专业班级: 学生姓名: 指导教师: 一、课程设计(论文)题目班级档案管理系统二、本次课程设计(论文)应达到的目的本次课程设计的目的是运用计算机语言设计文献管理系统,通过此次课程设计,加深学生对本课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、工程设计或撰写小论文的步骤和方法;以提高学生独立分析问题、解决问题的能力,逐步增强实际工程训练。三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 要求: 要求学生在认真复习教材的基础上,查阅相关资料、认真阅读相关的设计要求,按时独立完成任务。课程设计的说明书要求简洁、通顺、计算正确,程序完整、清楚、规范。主要内容: 学生的基本信息采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。主要功能:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。四、应收集的资料及主要参考文献: C程序设计 谭浩强 清华大学出版社C程序设计课程设计 刘振安 机械工业出版社 C语言课程设计 梁旭 谷晓琳 黄明 电子工业出版社五、审核批准意见教研室主任(签字) 班级档案管理系统设计总说明一、 设计目的:运用计算机语言设计班级档案管理系统,通过此次课程设计,加深对本课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、工程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。二、 设计内容:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。三、 设计方法:结合C语言的有关知识,查阅大量资料,对班级档案管理系统的内容进行构思和设计,在Microsoft Visual C+ 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语言定义相关数据类型:学生信息包括:学号,姓名,性别、年龄、备注struct student /*定义常数表示记录数*/long int num; /学号 char name20; /姓名char sex; /性别 int age; /年龄 char beizhu20; /备注 stun-1; /*定义全局结构体数组stu*/ 进入输入Sele=? 录入信息显示信息修改信息删除信息显示程序退出程序输出Sele=5Sele=2Sele=1Sele=3Sele=4退出Sele=54.2 总流程图:4.3 主要源程序代码:#include /*I/O函数*/#include /*标准库函数*/#define n 4 /*定义常数表示记录数*/FILE *fp; /*定义指向FILE类型文件的指针变量*/struct student /*定义常数表示记录数*/long int num; /学号char name20; /姓名char sex; /性别 int age; /年龄char beizhu20;/备注stun-1; /*定义全局结构体数组stu*/ int main()void input(); /函数声明void print(); /函数声明void shift(); /函数声明void del(); /函数声明void save(); /函数声明 void open(); /函数声明void mm(); /函数声明void esc(); /函数声明mm(); /调用mm函数return 0; void mm() /*定义mm函数,实现主菜单的显示*/int x; /定义整形变量xprintf(tttt*班级档案管理系统*n); printf(tttt 1.学生信息录入n); printf(tttt 2.学生信息显示n); printf(tttt 3.学生信息修改n); printf(tttt 4.学生信息删除n); printf(tttt 5.保存 / 退出n); printf(please choose 1,2,3,4 or 5:); scanf(%d,&x); if(x=1) input(); /当x为1时,调用input函数else if(x=2) print(); /当x为2时,调用print函数else if(x=3) shift(); /当x为3时,调用shift函数else if(x=4) del(); /当x为4时,调用del函数else if(x=5) esc(); /当x为5时,调用esc函数void input() /*定义input函数,实现学生信息录入*/int i; /定义整形变量iprintf(请输入学生信息:学号,姓名,性别,年龄,备注:n); for(i=0;i(n-1);i+) scanf(%d,%s,%c,%d,%s,&stui.num,&,&stui.sex,&stui.age,&stui.beizhu);save(); /调用save函数mm(); /调用mm函数void print() /*定义print函数,实现学生信息显示*/int y; /定义整形变量yopen(); /调用open函数printf(please choose 0,1 or 2:); scanf(%d,&y); printf(%d,%s,%c,%d,%s,stuy.num,,stuy.sex,stuy.age,stuy.beizhu);printf(n); mm(); /调用mm函数void shift() /*定义shift函数,实现学生信息修改*/int a,b; /定义整形变量a,bopen(); /调用open函数printf(please choose 1,2 or 3:); scanf(%d,&a); b=a-1; printf(%d,%s,%c,%d,%s,stub.num,&,stub.sex,stub.age,&stub.beizhu); printf(请输入学生信息:学号,姓名,性别,年龄,备注:n); scanf(%d,%s,%c,%d,%s,&stun.num,&,&stun.sex,&stun.age,&stun.beizhu);stub=stun; /将结构体数组变量stun的值赋给结构体数组变量stubsave(); /调用save函数printf(%d,%s,%c,%d,%s,stub.num,&,stub.sex,stub.age,&stub.beizhu); mm(); /调用mm函数void del() /*定义del函数,实现学生信息删除*/int z,i; /定义整形变量在z,iopen(); /调用open函数printf(please choose 1,2 or 3:); scanf(%d,&z); for(i=0;i(z-1);i+) 、printf(%d,%s,%c,%d,%s,stui.num,&,stui.sex,stui.age,&stui.beizhu);printf(n); for(i=z;i=(n-1);i+) printf(%d,%s,%c,%d,%s,stui.num,&,stui.sex,stui.age,&stui.beizhu); printf(n); mm(); /调用mm函数void save() /*定义save函数,实现学生信息保存*/FILE*fp; /*定义指向FILE类型文件的指针变量*/int i; /定义整形变量在iif(fp=fopen (stu.dat,wb)=NULL) /以只写方式打开二进制文件 printf(cannot open filen); return; for(i=0;i(n-1);i+) if(fwrite (&stui,sizeof (struct student),1,fp)!=1)printf(file write errorn); fclose(fp); /关闭文件 void open() /*定义open函数,实现存放学生数据文件的打开*/int i; /定义整形变量在iFILE*fp; if(fp=fopen(stu.dat,rb)=NULL) /以只读方式打开二进制文件 printf(cannot open filen); exit(0); for(i=0;i(n-1);i+) fseek(fp,i*sizeof(struct student),0); /移动文件位置标记fread(&stui,sizeof (struct student),1,fp);/读一个数据块到结构体变量void esc() printf(ttt*n);/在屏幕输出printf(tttt 欢迎下次使用n); /在屏幕输出printf(ttt*n);/在屏幕输出printf(ttt制作:谢沛竹、马建涛、杨智云、黄兴、张凯n);/在屏幕输出exit(0); /结束程序4.4 调试分析并显示程序:班级档案管理系统主菜单页面学生信息录入页面学生信息查找显示页面学生信息修改页面学生信息删除页面第五章 总结本学生成绩管理系统由5个模块组成,每个模块相互联系又相互独立。这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等。而且在每个模块也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符。同时有些模块还不能实现本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中小说比较阅读课件
- 高中化学化工课件
- 2025学年江西省上进高三语文上学期入学联考试卷附答案解析
- 离婚协议修订财产分割与子女监护权变更
- 离婚安置房产权分割及房产分割补偿与子女抚养权协议
- 离婚纠纷调解失败后的财产分割执行合同
- 离婚申请协议书:财产分割与子女监护权协议
- 离婚流程专业指导合同:婚姻知识分享与法律辅导
- 加强网络信息安全风险管理制度
- 亲情和友情的珍贵情感和价值
- 《肥胖症诊疗指南(2024年版)》解读课件
- 2025安化事业单位笔试真题
- 竣工结算审计服务投标方案(技术方案)
- MOOC 跨文化交际通识通论-扬州大学 中国大学慕课答案
- 浙江省医疗机构制剂许可证换发证检查标准
- 个人分期还款协议书的范本
- SOP的作用与重要性
- 数据结构课程标准
- 中国地图(各省可调整编辑)
- 江西供电劳务服务收费标准表doc-附件1:江西省供电劳务
- 采购招标评审表【模板】
评论
0/150
提交评论