返回列表 發帖

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

本帖最後由 陳品肇 於 2019-1-12 17:27 編輯

針對月份判斷的部分, 以 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;
  9.    float money;
  10.    cout<<"*** 電費計算機 ***"<<endl<<endl;
  11.    cout<<"請輸入月份: ";
  12.    cin>>month;
  13.    switch(month)
  14.    {
  15.         case 6:
  16.         case 7:
  17.         case 8:
  18.         case 9:
  19.               cout<<"用電度數: ";
  20.               cin>>degree;
  21.               if(degree>0 && degree<=120)
  22.               {
  23.                money=1.63*degree;
  24.               }else if(degree>120 && degree<=330)
  25.               {
  26.                money=1.63*120+2.38*(degree-120);  
  27.               }else if(degree>330 && degree<=500)
  28.               {
  29.               money=1.63*120+2.38*(330-120)+3.52*(degree-330);  
  30.               }else if(degree>500 && degree<=700)
  31.               {
  32.               money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(degree-500);   
  33.               }else if(degree>700 && degree<=1000)
  34.               {
  35.               money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(degree-700);      
  36.               }else if(degree>=1001)
  37.               {
  38.               money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(1000-700)+6.41*(degree-1000);
  39.               }else
  40.               {
  41.               cout<<"用電度數輸入錯誤!"<<endl;
  42.               system("pause");
  43.               goto re;
  44.               }     
  45.              break;
  46.         case 10:
  47.         case 11:
  48.         case 12:
  49.         case 1:
  50.         case 2:
  51.         case 3:
  52.         case 4:
  53.         case 5:
  54.              cout<<"用電度數: ";
  55.              cin>>degree;
  56.              if(degree>0 && degree<=120)
  57.              {
  58.              money=1.63*degree;
  59.              }else if(degree>120 && degree<=330)
  60.              {
  61.              money=1.63*120+2.1*(degree-120);  
  62.              }else if(degree>330 && degree<=500)
  63.              {
  64.              money=1.63*120+2.1*(330-120)+2.89*(degree-330);  
  65.              }else if(degree>500 && degree<=700)
  66.              {
  67.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(degree-500);   
  68.              }else if(degree>700 && degree<=1000)
  69.              {
  70.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(degree-700);      
  71.              }else if(degree>=1001)
  72.              {
  73.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(1000-700)+5.03*(degree-1000);
  74.              }else
  75.              {
  76.              cout<<"用電度數輸入錯誤!"<<endl;
  77.              system("pause");
  78.              goto re;
  79.              }               
  80.              break;
  81.         default:
  82.              cout<<"月份輸入錯誤!"<<endl;
  83.              system("pause");
  84.              goto re;     
  85.    }
  86.    cout<<endl<<"您要繳交的電費共 "<<money<<"元!"<<endl;  
  87.    system("pause");
  88.    return 0;   
  89. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

返回列表