




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+程序设计课程设计 实验题目 教职工信息管理(6) 计算机科学与技术学院 教职工信息管理实验报告 浙江工业大学本科毕业设计文献综述 II 一 大型实验的内容 基本要求: 定义职工(employee )类,其中至少包括姓名、性别、工号、电话、所在系部 和 职 称。 功能要求: 1、设计菜单实现功能选择; 2、输入功能:输入职工信息,并保存到文件中; 3、查询功能: 1)能够根据工号精确查询职工信息; 2)能够根据姓名、科室查询职工信息 3)分系部进行职称统计,计算各职称的人数 4、根据职工的职称排序输出 5、根据工号修改职工信息 6、根据工号删除职工信息 二 运行环境 教职工管理系统在 vc+6.0 平台下开发,操作系统:Windows 7。 三 实验课题分析(主要的模块功能、流程图) 3.1 教职工信息管理系统的主要功能 教职工信息管理系统的主要功能为:输入和管理职工信息,能够根据工号、姓名、科室精 确查询职工信息,计算各职称的人数等工作。详细的系统功能结构为图 1 所示。 浙江工业大学本科毕业设计文献综述 III 图 1 系统结构图 3.2 系统各模块的功能具体描述为: 1、登录模块 显示功能选择菜单 2、输入和输出模块 由文件或键盘输入获取职工信息并保存在相应的文件中。 3、查询和统计模块 根据工号精确查询职工信息; 根据姓名、科室查询职工信息 分系部进行职称统计,计算各职称的人数 4、管理信息模块 根据职工的职称排序输出 根据工号修改职工信息 根据工号删除职工信息 3.3 系统的实现 (1)类的编写 浙江工业大学本科毕业设计文献综述 IV 系统工程名为:teacher。包含了 employee 类.而每个教职工都有相应的用户名 name, 性别 sex,工号 number,职称 title,系部 classe 和电话号码 number. 具体类结构声明如下: employee 类: class employee /定义职工类 private:/定义职工类的私有成员 char name20; /名字 char sex4; /性别 char classe8; /系别 int number; /工号 char title10; char phone15; public: /公有成员 employee(); /职工构造函数,用于职工数据的初始化及保存学生数据 void add(); /添加职工信息函数 void output(); /输出职工信息函数 void findname(); /按姓名查找职工数据函数 void finddepart(); void findnumber(); /按工号查找职工数据函数 void findclasse(); /按系部查找职工数据函数 void modify(); /修改职工信息函数 void deleted(); /删除职工信息函数 void sort(); /排序函数 浙江工业大学本科毕业设计文献综述 V void save(); /保存职工信息并写入文件函数 void load (); /打开写有职工信息的文件的函数 employee /重载“=“符号 friend istream /重载“符号 friend ostream (2 ) 交互界面以及登录菜单的实现 系统运行开始的界面如图 2 所示: 图 2 开始登录界面 主要通过选择结构和循环结构实现界面的前进和后退。例如,第一个登录界面出现 11 个 选择:1.添加职工信息,2.输出职工信息,3.按姓名查找职工信息,4.按工号查找职工信 浙江工业大学本科毕业设计文献综述 VI 息,5.按系部查找职工信息,6.修改职工信息,7.删除职工信息,8.职工信息排序,9.职 工信息统计 (正在开发中),10.保存数据,11.读出数据,12.退出系统 请选择(112)并按回车键确认结束用 switch case 分别实现,选择之后转到主界面。 四 实验调试、测试、运行记录及分析 系统在调试测试过程中遇到若干问题,不过经过仔细反复的检查已经消除各种 bug。 主要的测试经过如下: 首先进入主界面: 按 1 继续操作: 浙江工业大学本科毕业设计文献综述 VII 接着继续添加员工信息: 继续添加输入y或Y, 然后按回车;退出输入n或N,系统自动返回主菜单。 输入2,即输出全部职工信息。如下图所示: 浙江工业大学本科毕业设计文献综述 VIII 图6 输出职工信息 输入任意值返回主菜单。 输入 3,按姓名查找职工信息,如图所示: 存在: 不存在: 浙江工业大学本科毕业设计文献综述 IX 输入 6,修改职工信息。 输入 5,按系部查找职工信息并进行职称统计。 浙江工业大学本科毕业设计文献综述 X 输入 4 按工号查询: 若不存在 若存在: 浙江工业大学本科毕业设计文献综述 XI 输入 10 则是保存数据: 输入 11,读出数据。 问题 1: 浙江工业大学本科毕业设计文献综述 XII 问题描述:当根据系部查询职工信息时,若科室的人有两人以上,会输出多行标题栏, 如图所示 图 10 调试过程 源代码如下: 图 11 原来的代码 浙江工业大学本科毕业设计文献综述 XIII 解决方法:引入参数 k,进行首行控制。 图 12 修改后的代码 调试结果: 图 13 调试结果 问题 2: 在读取数据时,出现“不明”数字 浙江工业大学本科毕业设计文献综述 XIV 图 14 调试过程 解决方法: 查看测试数据,发现文件最后多一个空格,再添一组数据,并在最后不留空格。 图 15 调试结果 五 实验总结(优点、不足、收获及体会) 由于长时间没有用 C+,在基本语法的使用方面有点生疏,这次课程设计,收获很多。 也明白了自己在 c+语言上自己存在很多问题,也解决了一些一直困恼我的问题。在这一个 星期的课程设计中,也让我看到了一些 c+程序设计方面薄弱的地方,在接下来的时间里 浙江工业大学本科毕业设计文献综述 XV 我要好好的巩固这些方面的知识,争取学好这一门课程,熟练掌握 c+,我要多看看有关自 己专业的书了。在设计过程中,我发现了我的一些缺点,比如马虎、没耐心等等。我想程 序设计最忌讳的就是马虎。除此之外,我又发现了自己在 C+方面有好多弱点,从现在开始 我会认真的改正这些缺点,以便更好的学习专业知识。 六 附录:源代码 #include“iostream.h“ #include“conio.h“ #include“iomanip.h“ #include“stdio.h“ #include“string.h“ #include“stdlib.h“ #include“fstream.h“ class employee /定义职工类 private:/定义职工类的私有成员 char name20; /名字 char sex4; /性别 char classe8; /系别 int number; /工号 char title10; char phone15; public: /公有成员 employee(); /职工构造函数,用于职工数据的初始化及保存学生数据 void add(); /添加职工信息函数 浙江工业大学本科毕业设计文献综述 XVI void output(); /输出职工信息函数 void findname(); /按姓名查找职工数据函数 void finddepart(); void findnumber(); /按工号查找职工数据函数 void findclasse(); /按系部查找职工数据函数 void modify(); /修改职工信息函数 void deleted(); /删除职工信息函数 void sort(); /排序函数 void save(); /保存职工信息并写入文件函数 void load (); /打开写有职工信息的文件的函数 employee /重载“=“符号 friend istream /重载“符号 friend ostream employee stu100; int n=0; void employee:add() /添加函数 char flag=Y; while(toupper(flag)=Y) cinstun; n+; coutflag; if(toupper(flag)!=Y) 浙江工业大学本科毕业设计文献综述 XVII if(toupper(flag)=N) break; else coutflag; void employee:output() /输出函数 if(n!=0) coutn1; for(int j=0;jn1; for(int j=0;jn4; for(int j=0,k=0,l=0;jcount; if(count=y)|(count=y) int num1=0,num2=0,num3=0; for(int m=0;mn2; 浙江工业大学本科毕业设计文献综述 XXIII for(int j=0;jstut.number; ; coutstut.sex; coutstut.classe; coutstut.title; coutstut.phone; coutn3; for(int i=0;ic; if(toupper(c)!=Y while(toupper(c)=Y); getch(); void employee:sort() /排序函数 int i,j,pp; employee s3; for( i=0;istui.title) pp=j; if(pp!=i) s3=stui; stui=stupp; stupp=s3; 浙江工业大学本科毕业设计文献综述 XXVI coutfilename1; ofstream fout(filename1,ios:app); if(!fout)coutfilename2; ifstream fin(filename2,ios:in); if(!fin)stui.sexstui.classestui.number stui.titlestui.phone; cout (istream ; couts1.sex; couts1.classe; couts1.title; couts1.phone; return scin; employee:employee() /构造函数 strcpy(name,“ “); 浙江工业大学本科毕业设计文献综述 XXIX strcpy(sex,“ “); strcpy(classe,“ “); strcpy(title,“ “); strcpy(phone,“ “); number=0; void menu() /菜单函数 coutchoose; switch(choose) case 1: s.add(); break; case 2: s.output(); break; case 3: s.findname(); break; case 4: s.findnumber(); break; case 5: s.findclasse();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老年医学护理康复竞赛题库及答案
- 桃花源记课件重点字
- 国企银行面试题库及答案
- 2025年药品监管笔试备考冲刺卷2018
- 2025年协会财务岗位笔试中的法律法规知识预测题
- 2025年跨国公司招聘区域经理面试技巧与模拟题集
- 2025年殡仪专业考试模拟题及解析
- 公务员选岗面试题及答案
- 公务员面试题答案及分析
- 校长述职报告课件
- 生产经营单位从业人员安全培训档案(一人一档)
- 2024年秋季新北师大版7年级上册数学教学课件 2.1.2 相反数、绝对值
- 天津市语文高考试卷及答案指导(2025年)
- 高一政治开学第一课课件-高中政治统编版必修一
- SMART原则培训课件
- 吞咽障碍膳食营养管理中国专家共识(2019)解读
- DZ∕T 0448-2023 滑坡崩塌泥石流灾害精细调查规范(正式版)
- 鲁教版(五四学制)中考英语6-9年级词汇表
- 法律常识题库500题完整
- 美沙拉嗪与其他生物制剂的联合治疗
- 高中数学新教师培训
评论
0/150
提交评论