C++期末大作业

                               实现一个工资管理系统

一、内容

1.题目《小型公司工资管理系统》设计

2.设计说明与要求

(1) 公司主要有5类人员:文秘、技术经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。

人的职工号、姓名、月工资、年龄、性别等信息。

(2) 工资的计算方法

A、技术经理:固定月薪为5000元,业绩分三个等级,每级1000元奖金。

B、技术员:工作时间*小时工资(40/小时);

C、销售员:销售额*5%提成;

D、销售经理:底薪(5000元)+所辖部门销售总额*0.3%

E、文秘:固定工资4000元,奖金视当月的工作情况而定。

(3) 输入员工数据,要求每类人员不能少于4人,员工信息输出格式参考运行效果。

二、存档

1) 实现功能

① 数据录入:输入各种数据;

② 数据统计:统计各销售经理下属销售员的销售额之和;销售经理按工

资进行的冒泡排序;

③ 数据打印:打印各类员工的数据信息;

④ 数据备份:把各类员工的数据信息写入文件中保存;

⑤ 退出:推出本系统;

2) 菜单说明

⑴数据录入指通过键盘输入各类员工的各项数据;

⑵数据统计指统计各销售经理下身书销售员的销售额及销售额之和;销售按工资进行冒泡排序;

⑶数据打印指按照表格的格式在屏幕上输出各员工的信息;

⑷数据备份指将所有员工的信息保存到文件;

⑸退出:结束程序的运行。

、设计思路

从运行效果可以看出主函数是一个选择结构,可以确定主函数的内容;再根据类的层次结构合理的定义类及其对象,在类中声明成员函数来完成对保护数据成员的调用,输出数据。


#include<iostream>  
#include<iomanip>  
#include<fstream>  
#include<string>  
  
using namespace std;  
  
  
struct job1     //职工信息结构体定义  
{  
    char name[10];      //职工姓名  
    int level;          //业绩等级  
    int salary;         //职工工资  
  
};  
struct job1 jsjl;    //定义一个全局变量jsjl,用来存放职工信息  
  
struct job2     //职工信息结构体定义  
{  
    char name[10];      //职工姓名  
    int profit;          //总经额  
    int salary;         //职工工资  
  
};  
struct job2 xsjl;    //定义一个全局变量xsjl,用来存放职工信息  
  
struct job3     //职工信息结构体定义  
{  
    char name[10];      //职工姓名  
    int time;          //工作时间  
    int salary;         //职工工资  
  
};  
struct job3 jsry[3];    //定义一个全局变量jsry,用来存放职工信息  
  
struct job4     //职工信息结构体定义  
{  
    char name[10];      //职工姓名  
    int sale;          //销售总量  
    int salary;         //职工工资  
  
};  
struct job4 xsry[3];    //定义一个全局变量xsry,用来存放职工信息  
  
struct job5     //职工信息结构体定义  
{  
    char name[10];      //职工姓名  
    int sale;          //奖金  
    int salary;         //职工工资  
  
};  
struct job5 wm[2];    //定义一个全局变量wm,用来存放职工信息  
  
  
int a=0,b=0,c=0;        //存放实际输入的职工人数  
void use();             //使用介绍  
void input() ;          //录入职工信息函数声明  
void show();            //显示职工信息函数声明  
void save();            //存档  
void getsave();         //打开存档  
void account();         //计算当月公司总工资  
  
int main()  
{  
    int select;  
      
    while(1)  
    {  
        system("cls");  
        cout<<"\t ******************欢迎使用******************\n";  
        cout<<"\t ****************工资管理系统****************\n";  
        cout<<"\t *------------------------------------------*\n";  
        cout<<"\t *1使用介绍  *\n";  
        cout<<"\t *2录入职工信息*\n";  
        cout<<"\t *3显示职工信息*\n";  
        cout<<"\t *4存档     *\n";  
        cout<<"\t *5打开存档   *\n";  
        cout<<"\t *6退出        *\n";  
        cout<<"\t *------------------------------------------*\n";  
        cout<<"\t 你要输入的编号是(1--6):";  
        cin>>select;  
        if(select==0) break;  
        switch(select){  
        case 1:  
            system("cls");  
            use(); //调用input函数录入数据  
            system("pause");  
            break;  
        case 2:  
            system("cls");  
            input(); //调用show函数显示职工信息   
            system("pause");  
            break;  
        case 3:  
            system("cls");  
            show();  //调用search函数查询职工信息  
            system("pause");  
            break;  
        case 4:  
            system("cls");  
            save();     //调用add函数添加职工信息  
            system("pause");  
            break;  
        case 5:  
            system("cls");  
            getsave();    // 调用del函数删除职工信息  
            system("pause");  
            break;  
        default:  
            system("cls");  
            cout<<"没有此选项,请重新选择!"<<endl;  
        }  
  
    }  
  
    return 0;  
}  
  
void input() //录入职工信息的函数  
{  
    cout<<endl<<"\t技术经理姓名:";  
    cin>>jsjl.name;  
    cout<<"\t业绩等级(1~10):";  
    cin>>jsjl.level;  
    jsjl.salary=5000+1000*jsjl.level;  
    cout<<"\t当月工资(元):"<<jsjl.salary<<endl;  
  
    cout<<endl<<"\t销售经理姓名:";  
    cin>>xsjl.name;  
    cout<<"\t总经额(元):";  
    cin>>xsjl.profit;  
    xsjl.salary=5000+(xsjl.profit*3)/1000;  
    cout<<"\t当月工资(元):"<<xsjl.salary<<endl;  
  
  while(a<4)
  {     
      cout<<endl<<"\t技术人员姓名:";  
      cin>>jsry[a].name;  
      cout<<"\t工作时间(小时):";  
      cin>>jsry[a].time;  
      jsry[a].salary=40*jsry[a].time;  
      cout<<"\t当月工资(元):"<<jsry[a].salary<<endl;  
      a++;  
      
  }
  
  while(b<4)  
  {     
      cout<<endl<<"\t销售人员姓名:";  
      cin>>xsry[b].name;  
      cout<<"\t销售总量(元):";  
      cin>>xsry[b].sale;  
      xsry[b].salary=(5*xsry[b].sale)/100;  
      cout<<"\t当月工资(元):"<<xsry[b].salary<<endl;  
      b++;  
      
  } 
  
  while(c<3)  
  {     
      cout<<endl<<"\t文秘姓名:";  
      cin>>wm[c].name;  
      cout<<"\t奖金(元):";  
      cin>>wm[c].sale;  
      wm[c].salary=4000+wm[c].sale;  
      cout<<"\t当月工资(元):"<<wm[c].salary<<endl;  
      c++;  
      
  }  
  account();  
    
}  
  
void show()    //显示所有职工信息函数  
{  
    cout<<left;//设置输出左对齐  
    cout<<setw(20)<<"技术经理姓名"<<setw(20)<<"业绩等级"<<setw(12)<<"当月工资"<<endl;  
    cout<<setw(20)<<jsjl.name<<setw(20)<<jsjl.level<<setw(12)<<jsjl.salary<<endl;  
  
    cout<<setw(20)<<"销售经理姓名"<<setw(20)<<"总经额"<<setw(12)<<"当月工资"<<endl;  
    cout<<setw(20)<<xsjl.name<<setw(20)<<xsjl.profit<<setw(12)<<xsjl.salary<<endl;  
  
    cout<<setw(20)<<"技术人员姓名"<<setw(20)<<"工作时间"<<setw(12)<<"当月工资"<<endl;  
    for(int a=0;a<3;a++)  
    {  
        cout<<setw(20)<<jsry[a].name<<setw(20)<<jsry[a].time<<setw(12)<<jsry[a].salary<<endl;  
    }  
    cout<<endl;  
     
    cout<<setw(20)<<"销售人员姓名"<<setw(20)<<"销售总量"<<setw(12)<<"当月工资"<<endl;  
    for(int b=0;b<3;b++)  
    {  
        cout<<setw(20)<<xsry[b].name<<setw(20)<<xsry[b].sale<<setw(12)<<xsry[b].salary<<endl;  
    }  
    cout<<endl;  
  
    cout<<setw(20)<<"文秘姓名"<<setw(20)<<"奖金"<<setw(12)<<"当月工资"<<endl;  
    for(int c=0;c<2;c++)  
    {  
        cout<<setw(20)<<wm[c].name<<setw(20)<<wm[c].sale<<setw(12)<<wm[c].salary<<endl;  
    }  
    cout<<endl;  
    account();  
  
}  
  
  
void use()  
{  
   cout<<"该公司有技术经理1名、销售经理1名、技术人员4名、销售人员4名和文秘3名,共13名职工。录入职工信息时要逐一全部录入。录入相关业绩即可显示其当月工资。只有当存档以后才能打开存档。只要存档过,以后每次打开此系统都可以打开存档。"<<endl;  
}  
  
void save()  
{  
   cout<<"自己完善添加函数"<<endl;  
}  
  
void getsave()  
{  
   cout<<"自己完善删除函数"<<endl;  
}  
  
void account()  
{  
    int acsalery=jsjl.salary+xsjl.salary+jsry[0].salary+jsry[1].salary+jsry[2].salary+xsry[0].salary+xsry[1].salary+xsry[2].salary+wm[0].salary+wm[1].salary;  
  cout<<endl<<"\t公司当月总工资(元):"<<acsalery<<endl;  
}  


主要还是copy别人的,自己只是稍加的改动了一点!

  • 25
    点赞
  • 217
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
C/C++期末复习资料大汇总 一、内容概述 在本次上传中,我们为您精心整理了关于C/C++的期末复习资料。这些资料涵盖了从基础知识到进阶概念,旨在帮助您全面复习C/C++的相关内容。无论是准备期末考试还是为大作业做准备,这份资料都将为您的学习提供有力的支持。 二、资料详解 基础知识篇:针对C/C++的语法、数据类型、运算符等内容进行了详细的梳理,帮助您打好扎实的基础。 进阶概念篇:深入探讨了指针、函数、文件操作等进阶知识点,为您进一步提升编程能力提供指导。 期末复习题及答案:包含各类期末考试的经典题目及详细答案,让您熟悉考试题型,把握考试重点。 期末作业指南:针对C/C++的期末作业,提供了从选题到实现的全程指导,帮助您顺利完成作业。 实战案例集锦:收录了一些经典案例,让您在实践中掌握C/C++的应用技巧。 三、适用人群 这份复习资料适用于学习C/C++的各类人群,无论是初学者还是有一定编程基础的学生,都能从中获得收益。 四、使用建议 我们建议您先从基础知识开始复习,逐步深入到进阶概念。在掌握基本知识点后,结合复习题进行巩固练习,最后通过大作业和实战案例进一步提升自己的编程能力。 五、特别提示 为了更好地掌握C/C++的知识点,除了复习资料外,实际操作和练习也是非常关键的。希望这份资料能帮助您取得优异的成绩,也欢迎您在学习过程中提出宝贵的意见和建议。 最后,感谢您选择我们的复习资料,祝您学习顺利!
西南科技大学是位于中国四川省绵阳市的一所综合性大学。该大学成立于1960年,前身是创建于1958年的绵阳农学院。学校设有多个学院和研究所,涵盖了理学、工学、农学、经济学、管理学、文学、法学、教育学、艺术学等多个学科领域。 西南科技大学c期末考试是该学院在每学期结束时进行的一次重要考试。本次考试主要针对c语言课程的学习内容进行考查。c语言是一门广泛应用于计算机科学与技术领域的编程语言,学生通过学习c语言可以掌握基本的编程思维和编程技巧。 考试内容包括但不限于以下方面:变量定义与使用、运算符和表达式、控制结构(如if语句、for循环、while循环等)、函数的定义和调用、数组和指针的使用等。考试形式可能包括选择题、填空题和编程题等,旨在全面检测学生对c语言的理解和应用能力。 参加这次考试的学生需要在考试前进行充分的复习和准备。可以通过回顾课堂上的知识点,完成课后习题和实践编程题,以巩固所学知识。此外,可以参考一些相关的教材和资料,拓宽自己的视野。 通过参加这次考试,学生可以测试自己c语言的掌握情况,并且加深对c语言编程的理解。考试成绩将作为评价学生学习成绩的重要参考依据。 总之,西南科技大学c期末考试是一次对学生c语言学习成果的综合考查,对学生进行学术能力和知识水平的评估。通过努力复习和准备,相信学生们一定可以取得令人满意的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值