C++程序工资管理系统Word文件下载.docx

上传人:b****4 文档编号:7519273 上传时间:2023-05-08 格式:DOCX 页数:20 大小:20.46KB
下载 相关 举报
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

//用来存放编号

floatpaid[3];

//用来存放工资

inttotal;

//用来存放总工资

structstudent*next;

};

//-------------->

职工类

classInformation

public:

Information();

//构造函数.

~Information();

//析构函数.

student*creat();

//建立链表

voidoutput(student*head);

//显示职工信息

intcount(student*head);

//定义函数count()统计职工总数

student*insert(student*head);

//指针函数*insert()用来添加职工信息.

student*cancel(student*head,longid);

//指针函数*cancel()用来删除职工信息.

student*find(student*head,longid);

//指针函数*find()用来查找职工信息.

student*modify(student*head,longid);

//指针函数*modife()用来修改职工的信息.

voidpaixu(student*head);

//定义paixu()函数将职工的总额从大到小排列并输出

voidaverage(student*head);

//定义职工工资平均值的函数

voidsave(student*head);

//保存文件信息

student*Read();

//读取文件信息

private:

student*p1,*p2,*p3,*head,st;

Information:

:

Information()

{cout<

<

"

******************************************************************************\n"

;

cout<

------------------------<

欢迎您使用职工工资管理系统>

>

------------------------\n"

******************************************************************************\n\n"

}

//------------------>

作者的信息和提示

voidzuozhe()

{

\n\t\t\t本程序制作者:

\n\n\t\t\tfangfangff\n\n\t\t\tQQ:

609540184"

\n\n\t\t\tMadeByVC6.0++\n\n\t\t\t2007年7月18日\n\n\t\t\t按<

Enter>

键进入登陆界面!

!

\n\n\t\t\t如果需要对原来的信息进行操作,则先选择0读取文件信息\n"

endl;

~Information()

{cout<

谢谢您使用职工工资管理系统>

建立链表信息

student*Information:

creat(void)

{//定义一个指向structstudent的结构体指针函数*creat()用来录入职工信息.

charch[N];

n=0;

//用来存放职工姓名

p1=p2=(student*)malloc(LEN);

//调用malloc()函数用来开辟一个新的存储单元

-------------<

请建立职工信息表,在姓名处键以#结束输入!

--------------"

姓名:

cin>

ch;

head=NULL;

//给指针head赋初值

while(strcmp(ch,"

#"

)!

=0)

//调用字符比较函数strcmp()用来判断是否继续输入

p1=(student*)malloc(LEN);

//调用malloc()函数用来开辟一个新的存储单元

strcpy(p1->

name,ch);

//将循环结构前面输入的姓名复制到结构体名为p1的数组name中

性别:

p1->

sex;

编号:

id;

while((p1->

id)<

0||(p1->

id)>

100000) 

//判断输入的编号是否有效(100000个)

对不起您的输入错误!

请重新输入(>

0<

1000000):

"

}

基本工资:

paid[0];

paid[0])<

paid[0])>

//判断输入的分数是否有效(>

=0<

=100000)

100000):

加班工资:

paid[1];

paid[1])<

paid[1])>

其他奖金:

paid[2];

paid[2])<

paid[2])>

total=p1->

paid[0]+p1->

paid[1]+p1->

//计算总额

if(n==0)head=p1;

//如果是输入第一组职工信息就将指针p1赋给指针head

elsep2->

next=p1;

//否则将p1赋给p2所指结构体的next指针

p2=p1;

//将指针p1赋给指针p2

n++;

//将职工人数n的值加1

\n姓名:

//将输入的姓名存放到字符数组ch中

p2->

next=NULL;

//将p2所指结构体的next指针重新赋空值

return(head);

//将输入的第一组职工信息返回

//--------------->

定义output()函数将职工的信息从头指针所指内容开始输出

voidInformation:

output(student*head)

system("

cls"

);

if(head==NULL)cout<

这是一个空表,请先输入职工信息!

\n"

else{

-------------------------------------------------------------------------------\n"

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

|编号| 

|姓名| 

|性别| 

|基本工资| 

|加班工资| 

|其他奖金| 

|总额|\n"

p1=head;

//将头指针赋给p

do

setw(6)<

id

setw(10)<

name

sex

paid[0]

paid[1]

setw(12)<

paid[2]

total<

p1=p1->

next;

//将下一组职工信息的next指针赋给p

}while(p1!

=NULL);

//若指针p非空则继续,目的是把所有的职工信息都传给指针p然后输出.

统计职工人数的函数

intInformation:

count(structstudent*head) 

if(head==NULL)return(0);

//若指针head为空返回值为0

elsereturn(1+count(head->

next));

//函数的递归调用

//----------->

添加职工的成绩的函数

insert(student*head)

//插入新结点定义一个指向structstudent的结构体指针函数*insert()用来添加职工信息.

\t----------------<

请输入新增职工成绩信息>

----------------\n"

//使p1指向插入的新结点

100000)

//将输入的编号存放到p1所指结构体的数组id中

name;

//将输入的姓名存放到结构体名为p1的数组name中

//将输入的基本工资存放到p1所指结构体的数组paid中

//将输入的加班工资存放到p1所指结构体的数组paid中

//将输入的其他奖金存放到p1所指结构体的数组paid中

//计算总分

p2=head;

//将头指针赋给p2

if(head==NULL) 

//若没调用次函数以前的头指针head为空

head=p1;

//则将p1赋给头指针head并将p1所指结构体成员指针next赋空值

else

id>

id)&

&

(p2->

next!

=NULL))

p3=p2;

//p3指向原p2指向的结点

p2=p2->

//p2后移一个结点

if(p1->

id<

=p2->

id)

if(head==p2)

next=head;

//插入到第一个结点之前

p3->

next=p2;

//插入到p3所指结点之后

else

//插入到尾结点之后

//将职工人数加1

你输入的职工信息已经成功插入>

----------------"

删除职工信息

cancel(student*head,longid) 

//定义一个指向structstudent的结构体指针函数*delete()用来删除考生信息.

//若调用次函数以前的头指针head为空

return(head);

//否则将头指针赋给p1

while(id!

=p1->

id&

=NULL) 

//寻找要删除的结点当p1所指的职工编号不是输入的职工编号并且p1所指的next指针不为空

//p2指向原p1指向的结点p1后移一个结点

if(id==p1->

id) 

//如果输入的职工编号是p1所指的职工编号//结点找到后删除

if(p1==head)head=p1->

//如果head指针和p1指针相等则将下一个结点赋给指针head

next=p1->

//否则将p1所指结点赋给p2所指结点将要删除的职工信息跳过去

删除编号为"

的职工\n"

n--;

//将职工人数减1

//将头指针返回

/**************************修改职工数据**************************/

modify(student*head,longid)

请输入须修改的职工工资信息>

//使p1指向输入的结点

=NULL)

//寻找结点当p1所指的职工编号不是输入的职工编号并且p1所指的next指针不为空

//如果要查找的职工编号是p1所指的职工编号

你需要修改的职工信息如下:

------------------------------------------------------------------------------\n"

//计算总分

需要修改的信息中没有编号为"

的职工.\n\n"

//没有想要修改的结点信息

getchar();

查找职工信息

find(student*head,longid)

//定义一个指向structstudent的结构体指针函数*find()用来查找职工信息.

co

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

当前位置:首页 > 小学教育 > 语文

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

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