返回列表 發帖

電費計算機 (二)

本帖最後由 tonyh 於 2014-5-10 17:44 編輯

針對月份判斷的部分, 以 switch...case 語法改寫.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.    re:
  7.    system("cls");
  8.    int degree,month,money;
  9.    cout<<"*** 電費計算機 ***"<<endl<<endl;
  10.    cout<<"請輸入月份: ";
  11.    cin>>month;
  12.    switch(month)
  13.    {
  14.         case 6:
  15.         case 7:
  16.         case 8:
  17.         case 9:
  18.              cout<<"用電度數: ";
  19.              cin>>degree;
  20.              if(degree>0 && degree<=120)
  21.              {
  22.                  money=2.1*degree;
  23.              }else if(degree>120 && degree<=330)
  24.              {
  25.                  money=2.1*120+3.02*(degree-120);  
  26.              }else if(degree>330 && degree<=500)
  27.              {
  28.                  money=2.1*120+3.02*(330-120)+4.39*(degree-330);  
  29.              }else if(degree>500 && degree<=700)
  30.              {
  31.                  money=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(degree-500);   
  32.              }else if(degree>700)
  33.              {
  34.                  money=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(degree-700);      
  35.              }else
  36.              {
  37.                  cout<<"用電度數輸入錯誤!"<<endl;
  38.                  system("pause");
  39.                  goto re;
  40.              }
  41.              break;
  42.         case 10:
  43.         case 11:
  44.         case 12:
  45.         case 1:
  46.         case 2:
  47.         case 3:
  48.         case 4:
  49.         case 5:
  50.              cout<<"用電度數: ";
  51.              cin>>degree;
  52.              if(degree>0 && degree<=120)
  53.              {
  54.                  money=2.1*degree;
  55.              }else if(degree>120 && degree<=330)
  56.              {
  57.                  money=2.1*120+2.68*(degree-120);  
  58.              }else if(degree>330 && degree<=500)
  59.              {
  60.                  money=2.1*120+2.68*(330-120)+3.61*(degree-330);  
  61.              }else if(degree>500 && degree<=700)
  62.              {
  63.                  money=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(degree-500);   
  64.              }else if(degree>700)
  65.              {
  66.                  money=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(degree-700);      
  67.              }else
  68.              {
  69.                  cout<<"用電度數輸入錯誤!"<<endl;
  70.                  system("pause");
  71.                  goto re;
  72.              }         
  73.              break;
  74.         default:
  75.              cout<<"月份輸入錯誤!"<<endl;
  76.              system("pause");
  77.              goto re;     
  78.    }
  79.    cout<<endl<<"您要繳交的電費共 "<<money<<"元!"<<endl;  
  80.    system("pause");
  81.    return 0;   
  82. }
複製代碼

返回列表