c++课程设计之高校教职工人事管理系统.docx

上传人:b****6 文档编号:16392262 上传时间:2023-07-13 格式:DOCX 页数:26 大小:245.04KB
下载 相关 举报
c++课程设计之高校教职工人事管理系统.docx_第1页
第1页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第2页
第2页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第3页
第3页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第4页
第4页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第5页
第5页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第6页
第6页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第7页
第7页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第8页
第8页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第9页
第9页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第10页
第10页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第11页
第11页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第12页
第12页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第13页
第13页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第14页
第14页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第15页
第15页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第16页
第16页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第17页
第17页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第18页
第18页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第19页
第19页 / 共26页
c++课程设计之高校教职工人事管理系统.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c++课程设计之高校教职工人事管理系统.docx

《c++课程设计之高校教职工人事管理系统.docx》由会员分享,可在线阅读,更多相关《c++课程设计之高校教职工人事管理系统.docx(26页珍藏版)》请在冰点文库上搜索。

c++课程设计之高校教职工人事管理系统.docx

c++课程设计之高校教职工人事管理系统

《C++程序设计》课程设计报告

 

高校教职工人事管理系统

 

年级/专业/班:

学生姓名:

学号:

指导教师:

开题时间:

2010年09月06日

完成时间:

2010年09月28日

 

《C++程序设计语言》课程设计

——高校教职工人事管理系统

一、引言

随着人们生活水平的提高,计算机发展异常迅速。

如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。

通过计算机对各类问题求解已经成为一种高效、快捷的方式。

本课程设计就是用C++研究两点距离的求解的问题,实现对两点距离的问题求解,和实现类模板的应用以及函数的调用。

二、设计目的与任务

1、本课程设计的目的

1)通过课程设计更进一步理解C++的基础知识和面向对象的思想。

2)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。

初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

3)熟练掌握C++中类及类模板在程序中的应用,并熟练了解类中函数的调用。

2、本课程设计的任务

使用类实现编写一个高校教职工人事管理系统,能够实现教职工信息增加、删除、修改、查找,能够统计在职人员、中共党员、女教职工、高职称、高学历的人数,信息的输入输出能够重载输入与输出操作符,并且要求有错误提示功能,例如输入日期,输入错误提示重新输入.

三、设计方案

1、总体设计

(1)定义员工(Person)类,其中包括编号、职工分类(”行政人员",”教师","一般员工","退休人员”,"返聘人员",”临时工”)、性别、年龄,职务("无”,”科级”,”处级”,”地级");、职称(”无”,"初级","中级”,”高级");、政治面貌(”群众”,"中共党员",”民主党派")、学历("中专”,”大专","大学”,”硕士”,”博士”)。

(2)实现下面的功能

a、设计菜单实现功能选择;

b、输入功能:

输入员工的信息,并保存到文件中;

c、删除资料:

能够根据编号删除员工的资料;

d、修改功能:

能够根据编号来修改员工的资料;

e、查询功能:

能够根据编号来查看员工的资料;

f、统计功能:

能够统计在职人员、中共党员、女教职工、高职称、高学历的人数.

g、错误提示功能:

如果输入的资料不合法,将会提示错误,并给予指导。

2、详细设计

类Person

charno[100];//编号

charduty[30];//职工分类

charsex[10];//性别

intage;//年龄

charposition[30];//职务

charzhicheng[30];//职称

charpolitical[30];//政治面貌

charrecord[30];//学历

voidadd();//增加信息

voiddelet();//删除信息

voidchange();//修改信息

voidfind();//查找信息

voidpush(Personpp);//给类赋值

下面程序流程图中的判断框必须用菱形表示,请修改

 

(1)Person:

:

add()

(2)Person:

:

delete()

(3)Person:

:

change()

(4).Person:

find()

3、程序清单

/*

改程序需要在D盘加入文本名为“subject.txt”文本档案作为资料的库存.

文本档案资料内容如下:

09408201行政人员男35处级高级中共党员大学

09408202教师女30处级高级中共党员大学

09408203临时工女20无高级群众中专

09408204临时工男22处级初级中共党员博士

09408205返聘人员男30科级高级中共党员大专

09408206教师女40科级初级中共党员硕士

09408207退休人员女68处级中级民主党派大学

09408208一般员工男27地级高级群众大学

09408209教师男22处级高级中共党员博士

09408210退休人员男62地级初级民主党派硕士

09408211返聘人员女40无中级中共党员硕士

09408212一般员工男38处级中级群众大学

09408213教师男46处级无中共党员博士

09408214教师男27无高级民主党派大学

09408215教师男18处级高级中共党员大学

*/

//下面程序开始

#include

#include〈cstring〉

usingnamespacestd;

constintN=1000;

intt=0;

inton=0;//统计在职人员人数

intdang=0;//统计中共党员人数

intnv=0;//统计女性职工人数

intgaozhi=0;//统计高职称人数

intgaoli=0;//统计高学历人数

classPerson

{public:

charsex[10];//性别

charduty[30];//职工分类

intage;//年龄

charpolitical[30];//政治面貌

charrecord[30];//学历

charposition[30];//职务

charzhicheng[30];//职称

charno[100];//编号

voidadd();//增加信息

voiddelet();//删除信息

voidchange();//修改信息

voidfind();//查找信息

voidpush(Personpp);//给列成员赋值

};

Personp[N];

voidPerson:

:

push(Personpp)

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(strcmp(zhicheng,"高级”)==0)gaozhi++;

if(strcmp(political,"中共党员”)==0)dang++;

if(strcmp(record,"硕士")==0||strcmp(record,"博士")==0)gaoli++;

voidtip()

{cout〈〈”输入ENTER返回子菜单!

"〈

getchar();

getchar();

system(”cls”);

voidtip1()

{cout<<"输入ENTER返回主菜单!

"<〈endl;

getchar();

getchar();

system(”cls");

voidLoad()//通过文本输入数据

{PersonS;

FILE*fp1;

boolf=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);

p[t++]。

push(S);

}

fclose(fp1);

}

voidPerson:

:

add()//录入信息

cout〈〈”现在录入编号为”〈

"<〈endl;

A1:

cout〈〈”输入员工的职工分类:

”;

cin〉〉duty;

if(strcmp(duty,”行政人员”)&&strcmp(duty,"教师")&&

strcmp(duty,"一般员工")&&strcmp(duty,"退休人员")&&

strcmp(duty,"返聘人员”)&&strcmp(duty,"临时工"))

{cout〈<”-—(请输入正确的职工分类,例如:

行政人员,教师,一般员工,退休人员,返聘人员,临时工)"〈

if(strcmp(duty,"退休人员”))on++;

A2:

cout〈〈”输入员工的性别:

”;

cin〉>sex;

if(strcmp(sex,”男”)&&strcmp(sex,”女”))

{cout<<”--(请输入正确的性别,例如:

男,女)"<

if(strcmp(sex,"女")==0)nv++;

A3:

cout<〈”输入员工的年龄:

”;

cin〉>age;

if(age〈=0){cout<<”—-(请输入正确的年龄,例如:

18等)"〈

A4:

cout<〈”输入员工的职务:

";

cin〉〉position;

if(strcmp(position,”无”)&&strcmp(position,"科级")&&

strcmp(position,”处级”)&&strcmp(position,”地级”))

{cout<〈"—-(请输入正确的职务,例如:

无,科级,处级,地级)”<〈endl;gotoA4;}

A5:

cout<<"输入员工的职称:

";

cin〉>zhicheng;

if(strcmp(zhicheng,"无”)&&strcmp(zhicheng,"初级")&&

strcmp(zhicheng,”中级")&&strcmp(zhicheng,”高级"))

{cout<〈"——(请输入正确的职称,例如:

无,初级,中级,高级)”<

if(strcmp(zhicheng,”高级")==0)gaozhi++;

A6:

cout<<"输入员工的政治面貌:

”;

cin>〉political;

if(strcmp(political,”群众”)&&strcmp(political,"中共党员")&&

strcmp(political,"民主党派”))

{cout<<”——(请输入正确的政治面貌,例如:

群众,中共党员,民主党派)"<〈endl;gotoA6;}

if(strcmp(political,"中共党员”)==0)dang++;

A7:

cout〈〈”输入与员工的学历:

”;

cin>>record;

if(strcmp(record,"中专”)&&strcmp(record,”大专")&&

strcmp(record,"大学")&&strcmp(record,"硕士")

&&strcmp(record,”博士"))

{cout〈<”--(请输入正确的学历,例如:

中专,大专,大学,硕士,博士)"〈

if(strcmp(record,"硕士”)==0||strcmp(record,"博士")==0)gaoli++;

cout〈<”编号为"〈

t++;

tip1();

}

voidPerson:

delet()//删除信息

no[0]=’-’;

if(strcmp(duty,”退休人员"))on--;

if(strcmp(sex,"女")==0)nv—-;

if(strcmp(zhicheng,”高级”)==0)gaozhi—-;

if(strcmp(political,"中共党员")==0)dang——;

if(strcmp(record,”硕士")==0||strcmp(record,”博士")==0)gaoli-—;

cout〈<”删除员工信息成功!

"<

tip1();

voidPerson:

change()//修改信息

{intn,flag=1;

do{

A:

cout<〈"***子菜单:

修改资料***"<

<<”修改哪些信息?

"<〈endl

〈<"1(编号)2(职工分类)3(性别)4(年龄)5(职务)6(职称)7(政治面貌)8(学历)9(退回主菜单)”〈〈endl

〈<”输入数字1-9进行修改或退出:

”;

cin>〉n;

if(n〈1||n>9){cout<<”sorry,您输入的信息有误,请重新输入!

”<

switch(n)

{case1:

cout<<"输入正确的员工编号:

”;

cin>>no;

cout<〈”员工编号修改成功"〈

tip();

break;

case2:

B1:

cout〈〈”输入正确的员工的职工分类:

”;

if(strcmp(duty,"退休人员"))on—-;

cin〉>duty;

if(strcmp(duty,"行政人员”)&&strcmp(duty,"教师")&&

strcmp(duty,”一般员工”)&&strcmp(duty,"退休人员")&&

strcmp(duty,”返聘人员")&&strcmp(duty,”临时工”))

{cout<<”(请输入正确的职工分类,例如:

行政人员,教师,一般员工,退休人员,返聘人员,临时工)"<〈endl;gotoB1;}

if(strcmp(duty,”退休人员"))on++;

cout〈〈"员工职工分类修改成功"〈〈endl〈

tip();

break;

case3:

B2:

cout〈<"输入正确的员工的性别:

";

if(strcmp(sex,”女")==0)nv——;

cin>〉sex;

if(strcmp(sex,"男")&&strcmp(sex,”女"))

{cout<〈"(请输入正确的性别,例如:

男,女)”<

if(strcmp(sex,”女")==0)nv++;

cout〈<”员工性别修改成功”<

tip();

break;

case4:

B3:

cout<<"输入正确的员工的年龄:

”;

cin>〉age;

if(age<=0)

{cout<<"(请输入正确的年龄,例如:

18等)"〈

cout〈<"员工年龄修改成功”<

tip();

break;

case5:

B4:

cout<<”输入正确的员工的职务:

”;

cin>〉position;

if(strcmp(position,"无")&&strcmp(position,"科级")&&

strcmp(position,"处级”)&&strcmp(position,"地级"))

{cout〈〈”(请输入正确的职务,例如:

无,科级,处级,地级)”〈

cout<〈”员工职务修改成功"<〈endl<

tip();

break;

case6:

B5:

cout<<”输入正确的员工的职称:

”;

if(strcmp(zhicheng,"高级")==0)gaozhi——;

cin〉〉zhicheng;

if(strcmp(zhicheng,”无")&&strcmp(zhicheng,”初级")&&

strcmp(zhicheng,"中级")&&strcmp(zhicheng,"高级”))

{cout〈<"(请输入正确的职称,例如:

无,初级,中级,高级)"<〈endl;gotoB5;}

cout〈<"员工职称修改成功"〈〈endl<

if(strcmp(zhicheng,”高级”)==0)gaozhi++;

tip();

break;

case7:

B6:

cout<<"输入正确的员工的政治面貌:

";

if(strcmp(political,”中共党员”)==0)dang——;

cin>>political;

if(strcmp(political,”群众”)&&strcmp(political,"中共党员”)&&

strcmp(political,"民主党派"))

{cout<〈"(请输入正确的政治面貌,例如:

群众,中共党员,民主党派)”<〈endl;gotoB6;}

if(strcmp(political,”中共党员")==0)dang++;

cout〈〈”员工政治面貌修改成功"<

tip();

break;

case8:

B7:

cout<〈"输入正确的员工的学历:

";

if(strcmp(record,”硕士”)==0||strcmp(record,”博士”)==0)gaoli--;

cin〉〉record;

if(strcmp(record,"中专")&&strcmp(record,”大专”)&&

strcmp(record,"大学”)&&strcmp(record,"硕士")

&&strcmp(record,"博士”))

{cout〈<”(请输入正确的学历,例如:

中专,大专,大学,硕士,博士)"<〈endl;gotoB7;}

if(strcmp(record,"硕士")==0||strcmp(record,"博士")==0)gaoli++;

cout<<”员工学历修改成功"<〈endl〈〈endl;

tip();

break;

case9:

tip1();

flag=0;

break;

}while(flag);

voidPerson:

find()//查找信息(输出信息)

{

cout<〈”员工的编号:

”;

cout〈

cout〈<"员工的职工分类:

”;

cout<

cout〈<”员工的性别:

";

cout〈〈sex<〈endl;

cout<<”员工的年龄:

”;

cout<

cout<〈"员工的职务:

”;

cout〈

cout<<"员工的职称:

";

cout〈

cout<<"员工的政治面貌:

";

cout〈

cout<〈”员工的学历:

";

cout<〈record<〈endl<

tip1();

intmain()

Load();

intn,i,flag1=1;

charnum[100];

do

{A:

cout〈<"***************"〈〈endl

〈<"主菜单"<〈endl

〈〈”***************”<〈endl

<<”

(1)增加资料

(2)删除资料(3)修改资料(4)查找资料(5)查看统计”

<〈”(6)退出”<〈endl

〈<"请选择1—6进行操作:

";

cin>>n;

system(”cls");

if(n<1||n〉9){cout〈<"sorry,您输入的信息有误。

"〈〈endl;tip1();gotoA;}

switch(n)

{case1:

C:

cout〈〈"输入要增加的员工的编号:

”;

cin>〉num;

for(i=0;i

no,num)==0)break;

if(i!

=t)

{cout〈〈”Sorry,您要增加的员工编号已存在,请重新输入!

"〈〈endl〈

strcpy(p[t]。

no,num);

cout〈〈endl;

p[t].add();

break;

case2:

cout<<"输入要删除的员工的编号:

";

cin〉>num;

for(i=0;i

{if(strcmp(p[i]。

no,num)==0)

{p[i].delet();

break;

}

cout〈

if(i==t){cout〈〈"sorry,您输入的员工编号有误。

"〈

break;

case3:

cout<〈”输入要修改的员工的编号:

”;

cin>>num;

cout〈〈endl;

for(i=0;i〈t;i++)

{if(strcmp(p[i]。

no,num)==0)

{p[i].change();

break;

if(i==t){cout<〈”sorry,您输入的员工编号有误。

”<

break;

case4:

cout<<"输入要查看的员工的编号:

";

cin>〉num;

cout〈

for(i=0;i

{if(strcmp(p[i].no,num)==0)

{p[i]。

find();

break;

if(i==t){cout<〈”sorry,您输入的员工编号有误。

"〈〈endl;tip1();}

break;

case5:

cout〈〈”在职人员人数为:

"<〈on〈

cout<〈”中共党员人数为:

"〈〈dang〈〈endl;

cout〈<"女教职工人数为:

"〈

cout<<”高职称人数为:

"<〈gaozhi<

cout〈<"搞学历人数为:

"<

cout〈<"(说明:

1。

在职人员不包括退休人员.”<

cout<<”2。

高学历包括硕士及博士。

)”<〈endl<

tip1();

break;

ca

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2