c++课程设计高校工资管理系统Word文档下载推荐.docx

上传人:b****4 文档编号:8286700 上传时间:2023-05-10 格式:DOCX 页数:20 大小:157.74KB
下载 相关 举报
c++课程设计高校工资管理系统Word文档下载推荐.docx_第1页
第1页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第2页
第2页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第3页
第3页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第4页
第4页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第5页
第5页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第6页
第6页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第7页
第7页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第8页
第8页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第9页
第9页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第10页
第10页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第11页
第11页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第12页
第12页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第13页
第13页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第14页
第14页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第15页
第15页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第16页
第16页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第17页
第17页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第18页
第18页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第19页
第19页 / 共20页
c++课程设计高校工资管理系统Word文档下载推荐.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c++课程设计高校工资管理系统Word文档下载推荐.docx

《c++课程设计高校工资管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c++课程设计高校工资管理系统Word文档下载推荐.docx(20页珍藏版)》请在冰点文库上搜索。

c++课程设计高校工资管理系统Word文档下载推荐.docx

//教师课时

//教师类

 

//为对象设置数据分为两种途径,通过)构造函数,)一般成员函数

//分开可以使得程序中应用更加灵活

//本程序采用:

缺省构造+Input()

//构造函数,初始化部分数据

Teacher()

'

0'

;

Duty=Salary=800;

}

//键盘补充输入其它数据

voidInput()

"

编号:

cin>

>

No;

姓名:

Name;

教师上学期课时:

Hours;

cout<

<

}

voidInput(ifstream&

ifs)

{ifs>

No>

Name>

Duty>

voidOutput()

No<

"

\t"

<

Name<

教师

\t\t"

Hours<

Incoming()<

endl;

voidOutput(ofstream&

ofs)

ofs<

Duty<

doubleIncoming()

returnSalary+(Hours-120)*20;

}};

3.3Assistant类

classAssistant:

virtualpublicPerson//实验员{

intAllowance;

intHours;

public:

Assistant()

Duty='

1'

Salary=650;

Allowance=150;

实验员上学期实验课时:

ifs>

实验员

returnSalary+Allowance+(Hours-70)*20;

3.4Manager类

classManager:

virtualpublicPerson//行政人员{

Manager()

2'

Salary=750;

Allowance=250;

ifs){

Duty;

行政人员\t"

returnSalary+Allowance;

3.5Teacher_Assistant类

classTeacher_Assistant:

publicTeacher,publicAssistant//教师兼实验员{

Teacher_Assistant()

3'

Teacher:

:

Salary=800;

教师兼职实验员上学期实验课时:

Assistant:

Hours>

教师兼实验员"

returnSalary+(Teacher:

Hours-120)*20+Allowance+(Assistant:

Hours-70)*20;

3.6Manager_Teacher类

classManager_Teacher:

publicManager,publicTeacher//行政人员兼教师{

Manager_Teacher()

4'

Manager:

Salary=750;

行政人员兼职教师上学期课时:

行政人员兼教师

returnSalary+Allowance+Hours*20;

3.7College类

3.7.1

College:

College(){

Person*p=newTeacher;

PL=p;

自动装入数据...\n"

Load();

头文件

intCollege:

Find(

intID,Person**p1,Person**p2);

College();

//构造

~College();

//析构

voidAdd();

//增加职工

voidDelete();

//删除职工

voidModify();

//修改职工

voidPrint();

//输出职工信息

voidSave();

//职工信息存盘

voidLoad();

//职工信息装入

voidFinding();

};

//查找职工

J>

3.7.2构造函数

//构造函数(创建个头结点的链表)

classCollege

{private:

Person*PL;

voidClear();

3.7.3析构函数

~College()//析构函数(仅保留个头结点){

Person*p=PL;

while(p)//逐个删除结点,包括头结点

PL=p->

next;

deletep;

p=PL;

PL=0;

3.7.4Add函数

voidCollege:

Add()//增加职工

高校工资管理系统*******************\n\n\n"

增加职工,输入x结束**\n\n"

;

\t\t*******cout<

\n\t\t\t\t**

//查找尾结点

while(p->

next)p=p->

charch='

m'

//创建新结点,录入数据,连接到链表Teacher*pt;

Assistant*pa;

Manager*pm;

Teacher_Assistant*pta;

Manager_Teacher*pmt;

职工分类码[0-教师,1-实验员,2-行政人员,3-教师兼实验员,4-行政兼教师]:

\n\n"

for(;

ch!

='

x'

类别:

ch;

switch(ch){

case'

:

pt=newTeacher;

pt->

Input();

p->

next=pt;

break;

case'

pa=newAssistant;

pa->

next=pa;

pm=newManager;

pm->

next=pm;

pta=newTeacher_Assistant;

pta->

next=pta;

pmt=newManager_Teacher;

pmt->

next=pmt;

}p=p->

}}

3.7.5Find函数

//查找职工结点(返回-找到,-未找到.结点指针由p1返回,p2为前看指针)

Find(intID,Person**p1,Person**p2)

*p1=PL->

*p2=PL;

while(*p1)

if((*p1)->

No==ID)

//找到

else

*p2=*p1;

//继续查找

*p1=(*p1)->

return*p1?

1:

0;

3.7.6Clear函数

Clear()//清除所有的职工结点(仅保留头结点){

Person*p=PL->

while(p)

PL->

next=p->

p=PL->

3.7.7Delete函数

Delete()

删除职工**\n"

\t\t*******

\n\t\t\t\t**intNo;

Person*p1,*p2;

编号:

if(!

Find(No,&

p1,&

p2))

指定的人员没有找到!

\n"

//连接

p2->

next=p1->

deletep1;

正确删除!

3.7.8

Modify函数

3.7.9

Print函数

\t\t****************高校工资管理系统*******************\n\n\n"

\n**职工信息表**\n\n"

编号\t姓名\t岗位\t\t其它\t工资\n"

p)

无职工记录!

return;

while(p)//遍历链表,输出职工信息

{p->

Output();

p=p->

Save()

ofstreamf("

Person.dat"

ios:

out);

//遍历输出至文件

while(p)

Output(f);

f.close();

//关闭文件

职工信息已经保存在Person.dat.\n"

}voidCollege:

Load()

charbuf[81];

charDuty;

Person*p2;

//临时空间

//人员类型

//新建结点的指针

longt;

//读写位置

//清除现有结点(保留头结点)

Clear();

//打开文件

ifstreamf("

in);

//建立结点,读数据

//尾结点指针while

(1)

//读取人员类型t=f.tellg();

f>

buf>

if

(f)

//根据人员类型创建新结点switch(Duty)

case

casecase

p2=

p2=p2=

default:

f.close();

newTeacher;

newAssistant;

newManager;

newTeacher_Assistant;

break;

newManager_Teacher;

p->

next=p2;

f.seekg(t);

Input(f);

关闭文件

查找职工**\n"

Person.dat数据已装入.\n"

Finding(){

intID;

coutvv"

编号;

cin>

ID;

p1=PL->

p2=PL;

while(p1)

if((p1)->

编号\t姓名\t岗位\t\t其它\t工资\n"

(p1)->

}//找到

p2=p1;

p1=(p1)->

3.8界面函数

charMeau(){

charc;

intflag;

do

system("

cls"

);

flag=1;

\t\t****

*\n\n\n"

\t\t\t"

\t\t\t

cout<

\t\t\tcout<

1

11

、增加职工

12

、删除职工

3

、查找职工丨

14

、修改职工

15

、输出职工信息

6

、数据存盘丨

7

、数据装入丨

8

、退出丨

高校工资管理系统

\n\n\n\t\t请输入您的选择:

c;

if(c=='

||c=='

||c==flag=0;

}while(flag);

returnc;

}//显示主菜单,

5'

6'

||c=='

7'

8'

接受选择

3.9主函数

voidmain()

charch;

//定义大学对象

Collegec;

do{

ch=Meau();

system("

c.Add();

\n\n\t\t

按任意键结

束...\n"

getchar();

c.Delete();

束...\n"

c.Finding();

c.Modify();

c.Print();

5.1主界面

实现各种功能的选择:

5.2

添加功能

6.设计体会与建议

6.1体会

通过这次对《高校工资管理系统》这个实验的设计,充分感受并体会到了C++中的

面对对象设计的真意,以及学习了对一个程序的分解和分工完成的方法,掌握了一点编写的技巧。

实际的操作与解决问题的能力更有了大幅的提升。

6.2建议

希望在以后的课程设计中,能更多的得到老师的帮助,可以帮助我们更清晰地理清思路,以及一些编程上的技巧。

7.附录

7.1成员

7.2分工

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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