C++项目二

Posted 原池

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++项目二相关的知识,希望对你有一定的参考价值。


三连一下,优质文章靠大家



模板

/* 

 * File:  职工管理系统

 */


#include <iostream>

#include <string>

#include <stdlib.h>

using namespace std;


/*

 * 声明六个不同类型的全局变量,分别存储职工的工号,姓名,基本工资,奖金,扣款和实发工资这六项数据;

 */

//请在此处声明变量


/*

 * 函数名:input

 * 功能:输入一个职工的信息

 * 

 * 使用cin 流对象从键盘输入职工的工号,姓名,基本工资,奖金和扣款。

 * 

 * 主要练习输入流对象cin函数的使用 

 */

void input() {

    cout << " ************************************************************* ";

    cout << "请输入职工的信息: ";

    //请将代码填写在此处


    cout << " ************************************************************* ";

    system("pause");


}


/* 

 * 函数名:output

 * 功能:输出职工信息

 * 

 * 主要练习cout输出流对象的使用。

 */

void output() {

    cout << " ************************************************************* ";

    //请将代码填写在此处


    cout << " ************************************************************* ";

    system("pause");


}


/*

 * 函数名:takeHomePay

 * 功能:计算某一职工的实发工资并输出结果

 * 

 * 主要练习算术表达式和赋值运算符的使用。 

 */

void takeHomePay() {

    cout << " ************************************************************* ";

      //请将代码填写在此处


    cout << " ************************************************************* ";

    system("pause");

}


/*

 * 函数名:calculateTaxes

 * 功能:计算税金

 * 

 * 完成此函数需要以下几个步骤:

 * 1.按照税金公式完成税金的计算

 * 2.输出相应结果

 * 

 * 练习分支结构if-else语句和switch语句

 */

void calculateTaxes() {

    cout << " ************************************************************* ";

    //请将代码填写在此处


    cout << " ************************************************************* ";

    system("pause");

}


/*

 * 函数名:avgSalary

 * 功能:计算多个职工的平均基本工资

 *  

 * 在此函数中,你需要使用循环语句输入多个职工的工资(具体输入多少个职工的工资值,

 * 可以使用当输入值为超出范围的值时结束输入的方法),在输入基本工资的过程同时,

 * 统计职工人数和工资总和,最后计算出平均工资

 * 可根据需要声明变量

 * 

 * 主要练习循环语句,循环计数器 

 */

void avgSalary() {

    cout << " ************************************************************* ";

    //请将代码填写在此处


    cout << " ************************************************************* ";

    system("pause");

}


/*

 * 函数名:paySalary

 * 功能:换算纸币及硬币个数

 * 

 * 

 * 纸币可使用面值有100元,50元,20元,10元,5元,2元和1元,硬币可使用面值有5角,

 * 2角和1角,在此程序中可不计算面值为分的硬币个数。

 * 

 * 主要练习除号表达式

 */

void paySalary() {

    cout << " ************************************************************* ";

    

    //请将代码填写在此处

    cout << " ************************************************************* ";

    system("pause");

}


/*

 * 此函数用于显示菜单

 */

int menu() {

    int n, w;

    cout << " 欢迎来到职工管理系统 ";

    cout << "     * *    * * 1.输入职工信息 ";

    cout << "   *    * *    * 2.输出职工信息 ";

    cout << "   *     *     * 3.计算职工实发工资 ";

    cout << "   *           * 4.计算税金 ";

    cout << "    *         * 5.计算纸币及硬币个数 ";

    cout << "     *       * 6.计算平均基本工资 ";

    cout << "      *     * 7.菜单 ";

    cout << "       *   * 8.退出 ";

    cout << "         * ";

    do {

        cout << "请选择:";

        cin >> n; //对照菜单,输入菜单选项,选择你所要执行的功能 

        cout << " ";

        if (n < 1 || n > 8) {//判断你所输入的数字是否在0-8之间,如果是则跳出while循环,到switch语句里选择你所输入的功能分支

            w = 1;

            cout << "无此项功能,请重新选择! ";

        }//若你输入的数字不在0-8之间,即不在菜单列表所列的功能选项之内,则w=1(用于while循环条件的判定)

        else

            w = 0; //若你输入的数字在0-8之间,即在菜单列表所列的功能选项之内,则w=0( 用于while循环条件的判定)

    } while (w == 1); //do_while语句的逻辑判定表达式,若w=1,则继续执行do循环体,若w=0,则跳出do_while循环执行下一语句

    return n;

}


int caller(int n) {

    int i;

    switch (n) {

        case 1:cout << "1.输入职工信息 2.返回主菜单 "; //功能选择的项的输出 

            cout << "请选择:";

            cin >> i; //输入你所要选择的功能 1.输入职工信息 2.返回菜单

            if (i == 1) input(); //若你选择功能1(即输入职工信息),马上调用input()函数,该函数用于实现输入职工信息功能

            else if (i == 2) return n; //若你选择功能2(即返回菜单),返回main()函数,重新调用menu()函数

            else cout << " 输入错误! "; 

            break;

        case 2:cout << "1.输出职工信息并输出 2.返回主菜单 "; //该分支与case1完全雷同,每一条语句参照case1理解即可

            cout << "请选择:";

            cin >> i;

            if (i == 1) output();

            else if (i == 2) return n;

            else cout << " 输入错误! ";

            break;

        case 3:cout << "1.计算职工实发工资 2.返回菜单 "; //该分支与case1完全雷同,每一条语句参照case1理解即可

            cout << "请选择:";

            cin >> i;

            if (i == 1) takeHomePay();

            else if (i == 2) return n;

            else cout << " 输入错误! ";

            break;

        case 4:cout << "1.计算税金 2.返回菜单 "; //该分支与case1完全雷同,每一条语句参照case1理解即可

            cout << "请选择:";

            cin >> i;

            if (i == 1) calculateTaxes();

            else if (i == 2) return n;

            else cout << " 输入错误! ";

            break;

        case 5:cout << "1.计算纸币和硬币个数 2.返回菜单 "; //该分支与case1完全雷同,每一条语句参照case1理解即可

            cout << "请选择:";

            cin >> i;

            if (i == 1) paySalary();

            else if (i == 2) return n;

            else cout << " 输入错误! ";

            break;

        case 6:cout << "1.计算多个职工平均基本工资 2.返回菜单 ";

            cout << "请选择:";

            cin >> i;

            if (i == 1) avgSalary();

            else if (i == 2) return n;

            else cout << " 输入错误! ";

            break;

        case 7: return n;

        case 8:cout << " 谢谢使用!再见! ";

            return 8;

    }

    return n;

}


int main() {

    int i = 0;

    while(1){

        i = caller(menu());

        if (i == 8)

            break;

    }

    return 0;

}






实现源码


/*
 * File:  职工管理系统
 */
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
/*
 * 声明六个不同类型的全局变量,分别存储职工的工号,姓名,基本工资,奖金,扣款和实发工资这六项数据;
 */
//请在此处声明变量
int i;
string num, name;
float salary, prize, punish, total, taxe, salarytotal;
int yibai,wushi,ershi,shi,wu,er,yi,dianwu,dianer,dianyi;
/*
 * 函数名:input
 * 功能:输入一个职工的信息
 *
 * 使用cin 流对象从键盘输入职工的工号,姓名,基本工资,奖金和扣款。
 *
 * 主要练习输入流对象cin函数的使用
 */
void input()
{
    cout << "
*************************************************************
";
    cout << "请输入职工的信息:
";
    //请将代码填写在此处
    cout << "请输入员工信息(工号,姓名,工资,奖金,扣款)";
    cin >> num >> name >> salary >> prize >> punish;
    cout << "num: " << num << "	name: " << name << "	salary: " << salary << "	punish: " << punish;
    cout << "
*************************************************************
";
    system("pause");
}
/*
 * 函数名:output
 * 功能:输出职工信息
 *
 * 主要练习cout输出流对象的使用。
 */
void output()
{
    cout << "
*************************************************************
";
    //请将代码填写在此处
    cout << "num: " << num << "	name: " << name << "	salary: " << salary << "	punish: " << punish;
    cout << "
*************************************************************
";
    system("pause");
}
/*
 * 函数名:takeHomePay
 * 功能:计算某一职工的实发工资并输出结果
 *
 * 主要练习算术表达式和赋值运算符的使用。
 */
void takeHomePay()
{
    cout << "
*************************************************************
";
    //请将代码填写在此处
    total = salary + prize - punish;
    cout << "员工" << name << "实发工资为:" << total;
    cout << "
*************************************************************
";
    system("pause");
}
/*
 * 函数名:calculateTaxes
 * 功能:计算税金
 *
 * 完成此函数需要以下几个步骤:
 * 1.按照税金公式完成税金的计算
 * 2.输出相应结果
 *
 * 练习分支结构if-else语句和switch语句
 */
void calculateTaxes()
{
    cout << "
*************************************************************
";
    //请将代码填写在此处
    total = salary + prize - punish;
    if (total < 36000)
    {
        taxe = 36000 * 0.03;
    }
    else
    {
        if (36000 < total < 144000)
        {
            taxe = (total - 36000) * 0.1;
        }
        else
        {
            if (144000 < total < 300000)
            {
                taxe = (total - 144000) * 0.2;
            }
            else
            {
                if (300000 < total < 420000)
                {
                    taxe = (total - 300000) * 0.25;
                }
                else
                {
                    if (420000 < 660000)
                    {
                        taxe = (total - 420000) * 0.3;
                    }
                    else
                    {
                        if (660000 < total < 960000)
                        {
                            taxe = (total - 660000) * 0.35;
                        }
                        else
                        {
                            if (960000 < total)
                            {
                                taxe = (total - 960000) * 0.45;
                            }
                        }
                    }
                }
            }
        }
    }
    cout<<"税金为:"<<taxe;
    cout << "
*************************************************************
";
    system("pause");
}
/*
 * 函数名:avgSalary
 * 功能:计算多个职工的平均基本工资
 *
 * 在此函数中,你需要使用循环语句输入多个职工的工资(具体输入多少个职工的工资值,
 * 可以使用当输入值为超出范围的值时结束输入的方法),在输入基本工资的过程同时,
 * 统计职工人数和工资总和,最后计算出平均工资
 * 可根据需要声明变量
 *
 * 主要练习循环语句,循环计数器
 */
void avgSalary()
{
    cout << "
*************************************************************
";
    //请将代码填写在此处
    cout << "请输入人数:";
    cin >> i;
    for (int a = 1; a <= i; a++)
    {
        cout << "请输入每人工资:";
        cin >> salary;
        if (salary > 0)
        {
            salarytotal = salary + salarytotal;
        }
        if (salary = 0)
        {
            break;
        }
    }
    cout << "平均工资为:" << salarytotal / i;
    cout << "
*************************************************************
";
    system("pause");
}
/*
 * 函数名:paySalary
 * 功能:换算纸币及硬币个数
 *
 *
 * 纸币可使用面值有100元,50元,20元,10元,5元,2元和1元,硬币可使用面值有5角,
 * 2角和1角,在此程序中可不计算面值为分的硬币个数。
 *
 * 主要练习除号表达式
 */
void paySalary()
{
    cout << "
*************************************************************
";
    //请将代码填写在此处
    total = salary + prize - punish;
    yibai=total/100;
    wushi=(total-(yibai*100))/50;
    ershi=(total-(yibai*100+wushi*50))/20;
    shi=(total-(yibai*100+wushi*50+ershi*20))/10;
    wu=(total-(yibai*100+wushi*50+ershi*20+shi*10))/5;
    er=(total-(yibai*100+wushi*50+ershi*20+shi*10+wu*5))/2;
    yi=(total-(yibai*100+wushi*50+ershi*20+shi*10+wu*5+er*2))/1;
    dianwu=(total-(yibai*100+wushi*50+ershi*20+shi*10+wu*5+er*2+yi*1))/0.5;
    dianer=(total-(yibai*100+wushi*50+ershi*20+shi*10+wu*5+er*2+yi*1+dianwu*0.5))/0.2;
    dianyi=(total-(yibai*100+wushi*50+ershi*20+shi*10+wu*5+er*2+yi*1+dianwu*0.5+dianyi*0.1))/0.1;
    cout<<yibai<<"张壹佰元
"<<wushi<<"张伍拾元
"<<ershi<<"张贰拾元
"<<shi<<"张拾元
"<<wu<<"张伍元
"<<er<<"张贰元
"<<yi<<"张壹元
"<<dianwu<<"张伍角
"<<dianer<<"张贰角
"<<dianyi<<"张壹角
";
    cout << "
*************************************************************
";
    system("pause");
}
/*
 * 此函数用于显示菜单
 */
int menu()
{
    int n, w;
    cout << "

			欢迎来到职工管理系统

";
    cout << "     * *    * *		1.输入职工信息
";
    cout << "   *    * *    *	2.输出职工信息
";
    cout << "   *     *     *	3.计算职工实发工资
";
    cout << "   *           *	4.计算税金
";
    cout << "    *         *		5.计算纸币及硬币个数
";
    cout << "     *       *		6.计算平均基本工资
";
    cout << "      *     *		7.菜单
";
    cout << "       *   * 		8.退出
";
    cout << "         * 

";
    do
    {
        cout << "请选择:";
        cin >> n; //对照菜单,输入菜单选项,选择你所要执行的功能
        cout << "

";
        if (n < 1 || n > 8)
        { //判断你所输入的数字是否在0-8之间,如果是则跳出while循环,到switch语句里选择你所输入的功能分支
            w = 1;
            cout << "无此项功能,请重新选择!
";
        } //若你输入的数字不在0-8之间,即不在菜单列表所列的功能选项之内,则w=1(用于while循环条件的判定)
        else
            w = 0; //若你输入的数字在0-8之间,即在菜单列表所列的功能选项之内,则w=0( 用于while循环条件的判定)
    } while (w == 1); //do_while语句的逻辑判定表达式,若w=1,则继续执行do循环体,若w=0,则跳出do_while循环执行下一语句
    return n;
}
int caller(int n)
{
    int i;
    switch (n)
    {
    case 1:
        cout << "1.输入职工信息	2.返回主菜单
"; //功能选择的项的输出
        cout << "请选择:";
        cin >> i; //输入你所要选择的功能 1.输入职工信息 2.返回菜单
        if (i == 1)
            input(); //若你选择功能1(即输入职工信息),马上调用input()函数,该函数用于实现输入职工信息功能
        else if (i == 2)
            return n; //若你选择功能2(即返回菜单),返回main()函数,重新调用menu()函数
        else
            cout << "

输入错误!

";
        break;
    case 2:
        cout << "1.输出职工信息并输出	2.返回主菜单
"; //该分支与case1完全雷同,每一条语句参照case1理解即可
        cout << "请选择:";
        cin >> i;
        if (i == 1)
            output();
        else if (i == 2)
            return n;
        else
            cout << "

输入错误!

";
        break;
    case 3:
        cout << "1.计算职工实发工资	2.返回菜单
"; //该分支与case1完全雷同,每一条语句参照case1理解即可
        cout << "请选择:";
        cin >> i;
        if (i == 1)
            takeHomePay();
        else if (i == 2)
            return n;
        else
            cout << "

输入错误!

";
        break;
    case 4:
        cout << "1.计算税金	2.返回菜单
"; //该分支与case1完全雷同,每一条语句参照case1理解即可
        cout << "请选择:";
        cin >> i;
        if (i == 1)
            calculateTaxes();
        else if (i == 2)
            return n;
        else
            cout << "

输入错误!

";
        break;
    case 5:
        cout << "1.计算纸币和硬币个数	2.返回菜单
"; //该分支与case1完全雷同,每一条语句参照case1理解即可
        cout << "请选择:";
        cin >> i;
        if (i == 1)
            paySalary();
        else if (i == 2)
            return n;
        else
            cout << "

输入错误!

";
        break;
    case 6:
        cout << "1.计算多个职工平均基本工资	2.返回菜单
";
        cout << "请选择:";
        cin >> i;
        if (i == 1)
            avgSalary();
        else if (i == 2)
            return n;
        else
            cout << "

输入错误!

";
        break;
    case 7:
        return n;
    case 8:
        cout << "
谢谢使用!再见!
";
        return 8;
    }
    return n;
}
int main()
{
    int i = 0;
    while (1)
    {
        i = caller(menu());
        if (i == 8)
            break;
    }
    return 0;
}


C++项目二

一起学习进步技术知识







以上是关于C++项目二的主要内容,如果未能解决你的问题,请参考以下文章

为什么二代测序的原始数据中会出现Read重复现象?

二代身份证号码编码规则

染色体基因芯片分析和第二代测序应用的区别

C++ 程序员到高级架构师,必须经历的三个阶段

C++项目三代码参考(改进版)

Qt C++ 项目中 Xamarin 项目中代码的可重用性