




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
报告编号:第 5 组综合课程设计报告学校教师管理系统 2013年 12 月 24 日目 录1、课程设计目的和要求31.1 设计目的31.2 设计要求31.3 课程设计任务内容42、详细设计说明52.1初始界面如下53、程序设计流程图54、程序源代码74.1测试数据74.2各模块运行界面85、课程设计中遇到的问题和体会175.1 课程设计中遇到的问题175.2课程设计中的体会176、致谢187、参考文献18摘要通过主菜单main函数将增加教师信息,删除教师信息、显示教师信息、查找教师信息、统计教师人数、退出系统等函数结合在一起,在通过相关操作选择其中一个功能时,调用该功能函数,来完成所需的数据处理。采用类,对象数组,等相关类的应用来完成设计。在程序中主要定义了teacher类,使用了teacher1文件,等等,另外还有相关调用子函数。关键词:学校教师管理系统;类;文件;对象数组;1、课程设计目的和要求1.1 设计目的通过这次专题实习,巩固和加深对所学相关知识点的理解,进一步熟悉基本类的使用方法。基本数据类型、对象数组、自定义类、函数的应用加强对模块化程序设计和面向对象程序设计的理解。掌握CC+语言程序设计的基本思想,了解简单的系统分析和设计方法。1.2 设计要求实现简易的提示菜单界面,刚运行时应显示菜单信息。用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用。要求把所有录入的数据以文件的形式,保存在硬盘上,系统包含以下基本功能:开始、显示主菜单功能、增加教师信息,删除教师信息、显示教师信息、查找教师信息、统计教师人数、退出系统等。1.3 课程设计任务内容1.3.1 增加教师信息 用户输入要添加的教师信息。教师信息包括编号、姓名、在校职位、年龄、出生日期、住址、电话号码、电子邮件地址等。输入数据时,须验证数据的输入格式正确,保证教师编号的唯一性。1.3.2 删除教师信息输入教师编号,查找到对应的教师信息并删除,若教师编号不存在,则输出“输入有误!”。1.3.2显示教师信息显示文件中所有教师信息。1.3.3查找教师信息可分为按(1.教师编号;2.教师姓名)查找,选择1则需要输入教师编号,选择2则需要输入教师姓名。1.3.4统计教师人数可统计文件中保存的教师的总人数。1.3.5 退出结束程序运行。2、详细设计说明2.1初始界面如下: 之后按界面提示操作按1,2,3,4,5,6可进入相应界面进行增加教师信息,删除教师信息、显示教师信息、查找教师信息、统计教师人数、退出系统等项目对教师信息进行一系列的操作,并借用一系列的文件的读写和程序语句构建出最后的大程序来实现对教师信息的管理。3、程序设计流程图开始1.增加教师信息2.删除教师信息3.显示教师信息4.查找教师信息5.统计教师人数 选择 1输入要录入的教师人数输入教师信息 保存教师信息选择2 选择 3输入查找编号1. 按编号查找2. 按姓名查找显示余下教师信息显示教师信息显示教师人数 选择 4选择 5选择 2输入查找姓名 显示教师信息删除并保存信息 选择 1 输出信息 结束输入删除编号4程序源代码#include #includeusing namespace std;#include class teacherpublic:int num;/编号char name20;/姓名int age;/年龄char birthday20;/出生日期char addr20;/住址int phone;/电话号码char eaddr20;/电子邮件地址char call20;/在校职位void set();void display();void del();void zhao();void renshu();tea100;int length() ifstream infile(teacher1.dat,ios:binary); if(! infile) cerropen error!endl; abort(); int len; infile.seekg(0,ios:end); len=infile.tellg()/sizeof(teacher); return len;void teacher:set() int n,i,j; int l=0;ofstream outfile(teacher1.dat,ios:app|ios:binary);if(! outfile)cerropen error!endl;abort();l=length();coutl0)ifstream infile(teacher1.dat,ios:in|ios:binary); if(! infile) cerropen error!endl; abort(); for( i=0;il;i+) infile.read(char *)&teai,sizeof(teai);n=0;cout请输入要录入的教师人数(=100):n; cout请输入1个教师的信息:endl;/编号、姓名、年龄、出生日期、住址、电话号码、电子邮件地址、在校职位 coutendl; for(i=l;in+l;) coutteai.num; if(i0) int h=i;for(j=0;jh;) if(teah.num=teaj.num) cout教师号重复,请重新输入!endl; else j+;continue;coutteah.num;j=0; ; coutteai.call; coutteai.age; coutteai.birthday; coutteai.phone; coutteai.addr; coutteai.eaddr; /coutendl;i+;if(in+l)cout请输入i+l+1个教师的信息:endl; for(j=l;jn+l;j+)outfile.write(char *)&teaj,sizeof(teaj);outfile.close(); cout数据已保存!n;void teacher:display()int i,l;l=length();cout 编号 姓名 职位 年龄 出生日期 电话号码 住址 电子邮件地址endl;ifstream infile(teacher1.dat,ios:in|ios:binary);if(! infile)cerropen error!endl;abort();for( i=0;il;i+)infile.read(char *)&teai,sizeof(teai); cout teai.num teai.call teai.age teai.birthday teai.phone teai.addr teai.eaddrendl; infile.close();void teacher:del()int i,a=0,j,l; l=length(); ifstream infile(teacher1.dat,ios:in|ios:binary);if(! infile)cerropen error!endl;abort();for( i=0;il;i+)infile.read(char *)&teai,sizeof(teai);int num;coutnum;coutendl;for(i=0;il;i+)if(teai.num=num) a=1; for(j=i;jl-1;j+) teaj=teaj+1; break;if(a=0)cout输入有误!endl;cout 编号 姓名 职位 年龄 出生日期 电话号码 住址 电子邮件地址endl;for( i=0;il;i+)infile.read(char *)&teai,sizeof(teai); cout teai.num teai.call teai.age teai.birthday teai.phone teai.addr teai.eaddrendl; elseif(a=1)cout删除成功! endl; cout 编号 姓名 职位 年龄 出生日期 电话号码 住址 电子邮件地址endl;for( i=0;il-1;i+)infile.read(char *)&teai,sizeof(teai); cout teai.num teai.call teai.age teai.birthday teai.phone teai.addr teai.eaddrendl; ofstream outfile(teacher1.dat,ios:out|ios:binary);if(! outfile)cerropen error!endl;abort();for(j=0;jl-1;j+)outfile.write(char *)&teaj,sizeof(teaj);outfile.close(); void teacher:zhao() int i,l,m=0; int n;l=length();coutlendl; ifstream infile(teacher1.dat,ios:in|ios:binary); if(! infile) cerropen error!endl; abort(); for( i=0;il;i+) infile.read(char *)&teai,sizeof(teai); coutx; if(x=1) coutn; coutendl; for(i=0;il;i+) if(n=teai.num) cout 编号 姓名 职位 年龄 出生日期 电话号码 住址 电子邮件地址endl; cout teai.num teai.call teai.age teai.birthday teai.phone teai.addr teai.eaddrendl; m=1; break; break; if(m=0) cout未找到!endl; if(x=2) couty; coutendl; for(i=0;il;i+) if(strcmp(y,)=0) cout 编号 姓名 职位 年龄 出生日期 电话号码 住址 电子邮件地址endl; cout teai.num teai.call teai.age teai.birthday teai.phone teai.addr teai.eaddrendl; m=1; break; break; if(m=0) cout未找到!endl;if(x!=1|x!=2)cout输入错误!请重新输入!n; continue;void teacher:renshu()int l=length();cout统计教师人数:lendl;int main()teacher a;int select=0;while(1) cout*endl; cout* 欢迎使用教师信息管理系统 *endl; cout* 1.增加教师信息 *endl; cout* 2.删除教师信息 *endl; cout* 3.显示教师信息 *endl; cout* 4.查找教师信息 *endl;cout* 5.统计教师人数 *endl; cout* 6.退 出 系 统 *endl; cout*endl; coutselect; switch(select) case 1:a.set();break; case 2: a.del(); break; case 3: a.display(); break; case 4: a.zhao(); break;case 5:a.renshu();break; case 6: exit(0); break; default: cout输入错误!endl; return 0; 4.1测试数据输入 111 zx zxcv 22 93.03.06 15755356 mnbv zxqwertyuio输入 222 qw zxcv 23 92.03.16 18356987 mnvb zxcvbnmlkjh输入 333 ee zxcv 24 91.02.14 15755284 nmjk qwertyuiopa输入 444 rr zxcv 25 90.06.15 15755388 bjhg asdfghjklmn4.2 各模块运行界面如下1.增加功能的调试 2.删除功能的调试 3. 显示功能的调试4. 查找功能的调试4.1按教师编号查找4.2按教师姓名查找5. 统计功能的调试 6. 退出系统 5、课程设计中遇到的问题和体会5.1 课程设计中遇到的问题课程设计中我遇到了很多的问题,刚刚开始的时候问题特别多。对菜单函数了解的还是不够深入,看起来简单的句子往往也会出错,有时忘了定义变量或者少了花括号等,在进行文件读写时总会报错:显示用得不对。怎样来保存数据所用的函数不是了解的很清楚,设计程序有时问题简单清晰,但总在语句上出错,我只好对着书本一个一个检查我做的语句,了解它的用法,慢慢地各种语句的运用就不再出错了。但是后来越来越复杂,再通过不断的修改实验,最终得到了正确的结果。5.2课程设计中的体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度老字号店铺品牌授权转让合同
- 2025版公司员工体检与中医养生服务全面合同
- 二零二五年防火窗行业市场调研与分析合同
- 二零二五年度无人机产业股权转让委托代理合同
- 2025电子商务合同网络营销活动法律监管与合同约束
- 2025版房地产居间服务合同-生态宜居社区项目专项版
- 2025版餐厅房屋租赁合同及特色餐饮环保责任履行协议
- 2025版文化产业买卖担保合同模板文化繁荣发展
- 二零二五年租赁合同补充协议
- 二零二五年度小学生数理化家教专项合同
- 慎交友-不交损友课件
- 2025年海军专业技能类文职人员招聘(卫生员兼司机)历年参考题库含答案详解(5卷)
- 2025年锦州辅警考试题库(附答案)
- 消防安全专项施工方案及应急预案
- WST856-2025安全注射标准解读
- 2069-3-3101-002WKB产品判定准则-外发
- 房地产制度与标准 -中建一局项目管理标准化指导手册(第一版)
- GB/T 6495.1-1996光伏器件第1部分:光伏电流-电压特性的测量
- GB/T 30951-2014小型水电站机电设备报废条件
- GB/T 18948-2017内燃机冷却系统用橡胶软管和纯胶管规范
- 电动汽车充电桩申请安装备案表
评论
0/150
提交评论