C++程序设计课程设计报告.doc
《C++程序设计课程设计报告.doc》由会员分享,可在线阅读,更多相关《C++程序设计课程设计报告.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计课程设计报告高校教职工人事管理系统 年级/专业/班: 学 生 姓 名: 学 号: 指 导 教 师: 开 题 时 间: 2010 年 09 月 06 日完 成 时 间: 2010 年 09 月 28 日目 录一、引言1二、设计目的与任务11、本课程设计的目的12、本课程设计的任务1三、设计方案11、总体设计12、详细设计23、程序清单54、程序调试与体会145、运行过程截图14四、结论17五、致谢17六、参考文献172编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第20页 共22页C+程序设计语言课程设计 高校教职工人事管理系统 一、引言随着人们生活水平的提高,计
2、算机发展异常迅速。如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过计算机对各类问题求解已经成为一种高效、快捷的方式。本课程设计就是用C+研究两点距离的求解的问题,实现对两点距离的问题求解,和实现类模板的应用以及函数的调用。二、设计目的与任务1、本课程设计的目的1)通过课程设计更进一步理解C+的基础知识和面向对象的思想。2)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。3)熟练掌握C+中类
3、及类模板在程序中的应用,并熟练了解类中函数的调用。2、本课程设计的任务使用类实现编写一个高校教职工人事管理系统 ,能够实现教职工信息增加、删除、修改、查找,能够统计在职人员、中共党员、女教职工、高职称、高学历的人数,信息的输入输出能够重载输入与输出操作符,并且要求有错误提示功能,例如输入日期,输入错误提示重新输入。三、设计方案1、总体设计(1)定义员工(Person)类,其中包括编号、职工分类(行政人员,教师,一般员工,退休人员,返聘人员,临时工)、性别、年龄,职务(无,科级,处级,地级);、职称(无,初级,中级,高级);、政治面貌(群众,中共党员,民主党派)、学历(中专,大专,大学,硕士,博
4、士)。 (2)实现下面的功能 a、设计菜单实现功能选择; b、输入功能:输入员工的信息,并保存到文件中;c、删除资料:能够根据编号删除员工的资料;d、修改功能:能够根据编号来修改员工的资料;e、查询功能:能够根据编号来查看员工的资料; f、统计功能:能够统计在职人员、中共党员、女教职工、高职称、高学历的人数。 g、错误提示功能:如果输入的资料不合法,将会提示错误,并给予指导。2、详细设计类 Personchar no100; /编号char duty30; /职工分类char sex10; /性别 int age; /年龄 char position30; /职务char zhicheng30
5、; /职称char political30;/政治面貌 char record30; /学历 void add(); /增加信息 void delet(); /删除信息 void change(); /修改信息 void find(); /查找信息 void push(Person pp); /给类赋值下面程序流程图中的判断框必须用菱形表示,请修改(1) Person:add()(2) Person:delete()(3) Person:change()(4).Person:find()3、程序清单/*改程序需要在D盘加入文本名为 “subject.txt” 文本档案作为资料的库存。文本档案资
6、料内容如下:09408201 行政人员 男 35 处级 高级 中共党员 大学09408202 教师 女 30 处级 高级 中共党员 大学09408203 临时工 女 20 无 高级 群众 中专09408204 临时工 男 22 处级 初级 中共党员 博士09408205 返聘人员 男 30 科级 高级 中共党员 大专09408206 教师 女 40 科级 初级 中共党员 硕士09408207 退休人员 女 68 处级 中级 民主党派 大学09408208 一般员工 男 27 地级 高级 群众 大学09408209 教师 男 22 处级 高级 中共党员 博士09408210 退休人员 男 62
7、地级 初级 民主党派 硕士09408211 返聘人员 女 40 无 中级 中共党员 硕士09408212 一般员工 男 38 处级 中级 群众 大学09408213 教师 男 46 处级 无 中共党员 博士09408214 教师 男 27 无 高级 民主党派 大学09408215 教师 男 18 处级 高级 中共党员 大学*/下面程序开始#include #include using namespace std;const int N=1000;int t=0; int on=0; /统计在职人员人数int dang=0; /统计中共党员人数int nv=0; /统计女性职工人数int gao
8、zhi=0; /统计高职称人数int gaoli=0; /统计高学历人数class Person public: char sex10; /性别 char duty30; /职工分类 int age; /年龄 char political30; /政治面貌 char record30; /学历 char position30; /职务 char zhicheng30; /职称 char no100; /编号 void add(); /增加信息 void delet(); /删除信息 void change(); /修改信息 void find(); /查找信息 void push(Person
9、 pp);/给列成员赋值 ;Person pN;void Person:push(Person pp) strcpy(no,pp.no); strcpy(sex,pp.sex); strcpy(position,pp.position); strcpy(zhicheng,pp.zhicheng); strcpy(political,pp.political); strcpy(record,pp.record); strcpy(duty,pp.duty); age=pp.age; if(strcmp(duty,退休人员) on+; if(strcmp(sex,女)=0) nv+; if(strc
10、mp(zhicheng,高级)=0) gaozhi+; if(strcmp(political,中共党员)=0) dang+; if(strcmp(record,硕士)=0|strcmp(record,博士)=0) gaoli+;void tip() cout输入ENTER返回子菜单!endl; getchar(); getchar(); system(cls);void tip1() cout输入ENTER返回主菜单!endl; getchar(); getchar(); system(cls);void Load() /通过文本输入数据 Person S; FILE *fp1; bool
11、f=1; fp1=fopen(d:subject.txt,r);if(fp1=NULL) f=0; while(f&!feof(fp1) fscanf(fp1,%s%s%s%d%s%s%s%s,S.no,S.duty,S.sex,&S.age,S.position,S.zhicheng,S.political,S.record); pt+.push(S); fclose(fp1);void Person:add() /录入信息 cout 现在录入编号为 no 的档案:endl; A1:coutduty; if (strcmp(duty,行政人员)&strcmp(duty,教师)& strcmp
12、(duty,一般员工)&strcmp(duty,退休人员)& strcmp(duty,返聘人员)&strcmp(duty,临时工) cout-(请输入正确的职工分类,例如:行政人员,教师,一般员工,退休人员,返聘人员,临时工)endl; goto A1; if(strcmp(duty,退休人员) on+; A2:coutsex; if(strcmp(sex,男)&strcmp(sex,女) cout-(请输入正确的性别,例如:男,女)endl; goto A2; if(strcmp(sex,女)=0) nv+; A3:coutage; if(age=0) cout-(请输入正确的年龄,例如:1
13、8等)endl; goto A3; A4:coutposition; if (strcmp(position,无)&strcmp(position,科级)& strcmp(position,处级)&strcmp(position,地级) cout-(请输入正确的职务,例如:无,科级,处级,地级)endl; goto A4; A5:coutzhicheng; if(strcmp(zhicheng,无)&strcmp(zhicheng,初级)& strcmp(zhicheng,中级)&strcmp(zhicheng,高级) cout-(请输入正确的职称,例如:无,初级,中级,高级)endl; go
14、to A5; if(strcmp(zhicheng,高级)=0) gaozhi+; A6:coutpolitical; if (strcmp(political,群众)&strcmp(political,中共党员)& strcmp(political,民主党派) cout-(请输入正确的政治面貌,例如:群众,中共党员,民主党派)endl; goto A6; if(strcmp(political,中共党员)=0) dang+; A7:coutrecord; if (strcmp(record,中专)&strcmp(record,大专)& strcmp(record,大学)&strcmp(rec
15、ord,硕士) &strcmp(record,博士) cout-(请输入正确的学历,例如:中专,大专,大学,硕士,博士)endl; goto A7; if(strcmp(record,硕士)=0|strcmp(record,博士)=0) gaoli+; cout 编号为 no 的档案录入结束endlendl; t+; tip1();void Person:delet() /删除信息 no0=-; if(strcmp(duty,退休人员) on-; if(strcmp(sex,女)=0) nv-; if(strcmp(zhicheng,高级)=0) gaozhi-; if(strcmp(poli
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 课程设计 报告
限制150内