C++语言之职工工资管理的设计与实现
小标 2018-07-10 来源 : 阅读 784 评论 0

摘要:本文主要向大家介绍了C++语言之职工工资管理的设计与实现,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。

本文主要向大家介绍了C++语言之职工工资管理的设计与实现,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。

职工工资管理的设计与实现

职工工资管理设计与实现

功能设计要求

1. 输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

5. 删除记录:可删除数据文件中的任一记录。

6. 统计: (A)计算各项工资平均工资及总工资,(B)统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元) 以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。

7.保存数据文件功能。

例如:职工工资信息表
ID号 姓名 基本工资 职务工资 津贴 医疗保险- 公积金- 总工资
01 张望 1286 794 198 109 135 2034
02 李明 1185 628 135 94 114 1740
03 王小民 895 438 98 64 73 1294
04 张效章 1350 868 210 116 150 2162
05 彭山 745 398 84 61 68 1098
? ? ? ? ? ? ? ?
各项平均工资 1092.2 625.2 145 88.8 108

代码分析:

#define _CRT_SECURE_NO_WARNINGS1
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#define max 100000000;
using namespace std;
class staff
{
public:
    staff()
    {
        id[5]='0';
        name[10] = '0';
        mon1 = mon2 = mon3 = mon4 = mon5 =0.0;
    }
    void setstaff(char *ID,char *Name,double money1,double money2,double money3,double money4,double money5 )
    {
      strcpy(id,ID);
      strcpy(name,Name);
      mon1 = money1;
      mon2 = money2;
      mon3 = money3;
      mon4 = money4;
      mon5 = money5;
    }
    void  print();//显示职工信息 
    double summoney();//求每个人的总工资  
    double avgmoney();//求每个人的平均工资
     
    char id[5],name[10];
    double mon1,mon2,mon3,mon4,mon5;
     
};
//求每个人的总工资
double staff::summoney()
{
    double sum;
    sum= mon1 + mon2 + mon3 + mon4 + mon5;
    return sum;
 
}
//求每个人的平均工资
double staff::avgmoney()
{
    double avg;
    avg= (staff::summoney())/5;
    return avg;
}
void   staff::print()
{
    
    cout<<id<<" .mon1="mon1;" .mon2="" .mon3="mon3;" .mon4="mon4;" .mon5="mon5;" 1="" 2:="" 3:="" 4="" 5:="" :="" a="0" case="" char="" cin="" count="" count1="" count2="" count3="" count4="" count5="" default:="" double="" else="" flag1:="" flag2:="" flag3:="" fstream="" goto="" i="0;i" id="" int="" j="i;j<(count-1);" mon1="0.0,mon2" mon3="0.0,mon4" mon5="0.0;" money="" n="=1)" num="0;" number="0.0;" return="" staff="" void="">= m)&& (money <= n))
         number++;
 
    }
    return number/count;
}
//系统界面
void menu()                        
{
    cout<<"#######################################################################"<<endl; 1.="" 2.="" 3.="" 4.="" 5.="" 6.="" 7.="" cin="" count="0;" double="" flag4:="" i="0;" int="" m="0.0," n="0.0;" num="0;" staff="" temp="0.0;">>num;
    switch(num)
    {
       
      case 1:
          update(sta,count);
          Infile(sta,count);
          cout<<"ID号    姓名    基本工资   职务工资    津贴    医疗保险   公积金   总工资    平均工资"<<endl; 2:="" 3:="" 4:="" 5:="" case="" cin="" count="Insert(sta,count);" i="0;" int="" m="">>m>>n;
          if(m > n)
          {
            temp = m;
            m = n;
            n=temp;
          }
          cout<<"职工工资前三项之和在"<<m<<"-"<<n<<"以内的工资职工人数及占总职工人数的百分比为:" 6:="" 7:="" case="" char="" cin="" default:="" i="0;" int="" return="">>ch;
    if(strcmp(ch,"yes")==0)
    {
        menu();
        goto flag4;
    }
    system("pause");
    return 0;
}</m<<"-"<<n<<"以内的工资职工人数及占总职工人数的百分比为:"></endl;></endl;></id<<"></windows.h></string.h></stdlib.h></fstream></iostream>

   

这个实验中的代码还是有很多的问题的。比如,建立的类数组所占的内存空间太大了,有很多空余。我觉得下次可以尝试使用链表来做。

 本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程