返回列表 發帖

電費計算機 (一)

本帖最後由 陳品肇 於 2022-4-9 11:42 編輯

參考台灣電力公司所公怖的電費計算表格,設計一個計算電費的小工具,
讓使用者輸入月份,與該月份的用電度數,電腦回應該月份的電費。

                                                                               單位:  元 / 每度




  1. #include<cstdlib>
  2. #include<iostream>
  3. using namespace std;
  4. int main()
  5. {

  6.    cout<<"***歡迎使用小米的電費計算機***"<<endl<<endl;
  7.    int month,d;
  8.    cout<<"請輸入月份: ";
  9.    cin>>month;
  10.    cout<<"用電度數: ";
  11.    cin>>d;
  12.    
  13.    // 金額總計
  14.    float total=0;

  15.    // 非夏月條件  10~12 or 1~5
  16.    if((month>=10 && month<=12)||(month>=1 && month<=5))
  17.    {
  18.        // 非夏月
  19.         if(d<=120)
  20.         {
  21.            total = d*2.1;
  22.         }else if(d>=121 && d<=330)
  23.         {
  24.            total = 120*2.1 + (d-120)*2.68;
  25.         }else if(d>=331 && d<=500)
  26.         {
  27.            total = 120*2.1 + (330-120)*2.68 + (d-330)*3.61;
  28.         }else if(d>=501 && d<=700)
  29.         {
  30.            total = 120*2.1+(330-120)*2.68+(500-330)*3.61+(d-500)*4.48;
  31.         }else if(d>=701 && d<=1000)
  32.         {
  33.            total = 120*2.1+(330-120)*2.68+(500-330)*3.61+(700-500)*4.48+(d-700)*5.03;
  34.         }else
  35.         {
  36.            total =120*2.1+(330-120)*2.68+(500-330)*3.61+(700-500)*4.48+(1000-700)*5.03+(d-1000)*5.28;
  37.         }  
  38.    }else
  39.    {
  40.         // 夏月
  41.         if(d<=120)
  42.         {
  43.            total = d*2.1;
  44.         }else if(d>=121 && d<=330)
  45.         {
  46.            total = 120*2.1 + (d-120)*3.02;
  47.         }else if(d>=331 && d<=500)
  48.         {
  49.            total = 120*2.1 + (330-120)*3.02 + (d-330)*4.39;
  50.         }else if(d>=501 && d<=700)
  51.         {
  52.            total = 120*2.1+(330-120)*3.02+(500-330)*4.39+(d-500)*5.44;
  53.         }else if(d>=701 && d<=1000)
  54.         {
  55.            total = 120*2.1+(330-120)*3.02+(500-330)*4.39+(700-500)*5.44+(d-700)*6.16;
  56.         }else
  57.         {
  58.            total =120*2.1+(330-120)*3.02+(500-330)*4.39+(700-500)*5.44+(1000-700)*6.16+(d-1000)*6.71;
  59.         }
  60.    }
  61.    
  62.    cout<<endl;
  63.    cout<<"您要繳交電費共:"<<total<<"元!"<<endl;
  64.    system("pause");
  65.    return 0;
  66. }
複製代碼
進階補充程式方法二:
  1. #include<cstdlib>
  2. #include<iostream>
  3. using namespace std;
  4. int main()
  5. {

  6.    cout<<"***歡迎使用小米的電費計算機***"<<endl<<endl;
  7.    int month,d;
  8.    cout<<"請輸入月份: ";
  9.    cin>>month;
  10.    cout<<"用電度數: ";
  11.    cin>>d;
  12.    
  13.    // 金額總計
  14.    float total=0;
  15.    // 預設陣列都是 夏月的係數
  16.    float arr[]={2.1,3.02,4.39,5.44,6.16,6.71};

  17.    // 非夏月條件  10~12 or 1~5
  18.    if((month>=10 && month<=12)||(month>=1 && month<=5))
  19.    {
  20.        // 把預設係數換成非夏月
  21.        arr[0]=2.1;
  22.        arr[1]=2.68;
  23.        arr[2]=3.61;
  24.        arr[3]=4.48;
  25.        arr[4]=5.03;
  26.        arr[5]=5.28;
  27.    }
  28.         
  29.         if(d<=120)
  30.         {
  31.            total = d*arr[0];
  32.         }else if(d>=121 && d<=330)
  33.         {
  34.            total = 120*arr[0] + (d-120)*arr[1];
  35.         }else if(d>=331 && d<=500)
  36.         {
  37.            total = 120*arr[0] + (330-120)*arr[1] + (d-330)*arr[2];
  38.         }else if(d>=501 && d<=700)
  39.         {
  40.            total = 120*arr[0] +(330-120)*arr[1]+(500-330)*arr[2]+(d-500)*arr[3];
  41.         }else if(d>=701 && d<=1000)
  42.         {
  43.            total = 120*arr[0]+(330-120)*arr[1]+(500-330)*arr[2]+(700-500)*arr[3]+(d-700)*arr[4];
  44.         }else
  45.         {
  46.            total =120*arr[0]+(330-120)*arr[1]+(500-330)*arr[2]+(700-500)*arr[3]+(1000-700)*arr[4]+(d-1000)*arr[5];
  47.         }
  48.    
  49.    
  50.    cout<<endl;
  51.    cout<<"您要繳交電費共:"<<total<<"元!"<<endl;
  52.    system("pause");
  53.    return 0;
  54. }
複製代碼

返回列表