返回列表 發帖

[作業] 電費計算機 (二)

本帖最後由 tonyh 於 2013-12-14 15:20 編輯

將今天上課寫的程式碼改寫,
移除 switch...case 敘述, 全部用 if...else if...else 取代.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int m,d,cost;
  7.     cout<<"***歡迎使用小米的電費計算機***"<<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:     
  12.     if(m>=6 && m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>0 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }
  31.     }else if((m>=10 && m<=12) || (m>=1 && m<=5))
  32.     {
  33.                cout<<"用電度數: ";
  34.                cin>>d;
  35.                if(d>0 && d<=120)
  36.                    cost=2.1*d;
  37.                else if(d>=121 && d<=330)
  38.                    cost=2.1*120+2.68*(d-120);
  39.                else if(d>=331 && d<=500)
  40.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  41.                else if(d>=501 && d<=700)
  42.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  43.                else if(d>700)
  44.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  45.                else
  46.                {
  47.                    cout<<"用電度數輸入錯誤!"<<endl;
  48.                    goto re2;
  49.                }         
  50.     }else
  51.     {
  52.                cout<<"月份輸入錯誤!"<<endl;
  53.                goto re1;  
  54.     }
  55.     cout<<endl<<"您要繳交的電費共: "<<cost<<"元!"<<endl<<endl;
  56.     system("pause");
  57.     return 0;   
  58. }
複製代碼

返回列表