程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 工資計算問題,類似計算某天是一年中的第幾天的問題

工資計算問題,類似計算某天是一年中的第幾天的問題

編輯:C++入門知識

企業發放的獎金根據利潤提成。利潤I低於或者等於10萬元時,獎金可提成10%;利潤高於10萬元且低於20萬元時,其中10萬元按10%提成,高於10萬元的部分,可提成7.5%;200000<I<=400000時,其中20萬仍按上述辦法提成(下同),高於20萬的部分按5%提成;400000<I<=600000時,高於40萬部分按3%提成;600000<I<=1000000時,高於60萬的部分按1.5%提成;I>1000000時,超過100萬的部分按1%提成。從鍵盤輸入當月利潤I,求出應發放獎金總數。

要求:用if語句和switch語句分別設計程序實現。

if實現如下:

 

[cpp]
// test.cpp : 定義控制台應用程序的入口點。 
// 
#include "stdafx.h" 
#include <iostream> 
using namespace std;     
 
int _tmain(int argc, _TCHAR* argv[]) 

    int t_nPrize = 0; //獎金 
    int t_nProfit = 0; //利潤 
    int t_nTempPro = 0; //臨時空間存放利潤 
 
    cout << "請輸入利潤:"; 
    cin >> t_nProfit; 
 
    t_nTempPro = t_nProfit;//將輸入的數值保留起來,用臨時值進行操作 
 
    //大於1000000情況 
    if(t_nTempPro > 1000000)                     
    { 
        t_nPrize = 0.01 * (t_nTempPro - 1000000) + t_nPrize;//超過一百萬部分的獎金 
        t_nTempPro = t_nTempPro - (t_nTempPro - 1000000); //剩余部分 
    } 
 
    //600000到1000000 
    if ( t_nTempPro >600000 )   //此處不能用else if,因為當條件滿足上一個if並運行完後,需要進入這一個if繼續進行計算 
    { 
        t_nPrize  = 0.015 * (t_nTempPro - 600000) + t_nPrize;//超過六十萬部分的獎金 
        t_nTempPro = t_nTempPro - (t_nTempPro - 600000); //剩余部分 
    } 
    //400000到600000 
    if ( t_nTempPro >400000 )  
    { 
        t_nPrize  = 0.03 * (t_nTempPro - 400000) + t_nPrize;//超過四十萬部分的獎金 
        t_nTempPro = t_nTempPro - (t_nTempPro - 400000); //剩余部分 
    } 
    //200000到400000 
    if ( t_nTempPro >200000 )  
    { 
        t_nPrize  = 0.05 * (t_nTempPro - 200000) + t_nPrize;//超過三十萬部分的獎金 
        t_nTempPro = t_nTempPro - (t_nTempPro - 200000); //剩余部分 
    } 
    //100000到200000 
    if ( t_nTempPro >100000 )  
    { 
        t_nPrize  = 0.075 * (t_nTempPro - 100000) + t_nPrize;//超過三十萬部分的獎金 
        t_nTempPro = t_nTempPro - (t_nTempPro - 100000) ; //剩余部分 
    } 
    //小於100000 
    if ( t_nTempPro <= 100000 )  
    { 
        t_nPrize  = 0.1 * t_nTempPro + t_nPrize;//超過三十萬部分的獎金 
    } 
    cout << "工資數:" << t_nPrize << endl; 
    system("pause"); 
    return 0; 

 

 

switch 實現:

 

[cpp]
// test.cpp : 定義控制台應用程序的入口點。 
// www.2cto.com
/*
 * 作者:王利寶
*/ 
 
 
#include "stdafx.h" 
 
#include <iostream> 
 
using namespace std;     
 
int _tmain(int argc, _TCHAR* argv[]) 

    int t_nPrize = 0; //獎金 
    int t_nProfit = 0; //利潤 
 
    cout << "請輸入利潤:"; 
    cin >> t_nProfit; 
 
    int n = 0;//標記利潤范圍 
    if( t_nProfit <= 100000) 
    { 
        n = 1; 
    } 
 
    //10萬到20萬的情況 
    else if ( t_nProfit>100000 && t_nProfit <= 200000 ) 
    { 
        n = 2; 
    } 
 
    //20萬到40萬的情況 
    else if ( t_nProfit>200000 && t_nProfit <= 400000 ) 
    { 
        n = 3; 
    } 
 
    //40萬到60萬的情況 
    else if ( t_nProfit>400000 && t_nProfit <= 600000 ) 
    { 
        n = 4; 
    } 
 
    //60萬到100萬的情況 
    else if ( t_nProfit>600000 && t_nProfit <= 1000000 ) 
    { 
        n = 5; 
    } 
 
    //100萬以上的情況 
    else if (  t_nProfit > 1000000 ) 
    { 
        n = 6; 
    } 
    //計算工資 
    switch (n)  
    { 
    case 6:  
        { 
            t_nPrize += (t_nProfit- 1000000) * 0.01; 
            t_nProfit = t_nProfit- (t_nProfit- 1000000); 
        } 
 
    case 5:  
        { 
            t_nPrize += (t_nProfit- 600000) * 0.015; 
            t_nProfit = t_nProfit- (t_nProfit- 600000); 
        } 
    case 4: 
        { 
            t_nPrize += (t_nProfit- 400000) * 0.03;  
            t_nProfit = t_nProfit- (t_nProfit- 400000); 
        }    
    case 3: 
        { 
            t_nPrize += (t_nProfit- 200000) * 0.05;      
            t_nProfit = t_nProfit- (t_nProfit- 200000); 
        } 
    case 2: 
        { 
            t_nPrize += (t_nProfit- 100000) * 0.075; 
            t_nProfit = t_nProfit- (t_nProfit- 100000); 
        } 
    case 1: 
        { 
            t_nPrize += t_nProfit* 0.1; 
        } 
    } 
 
    cout << "工資數:" << t_nPrize << endl; 
    system("pause"); 
    return 0; 


摘自 Leeboy_Wang的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved