返回列表 發帖

電費計算機 (二)

本帖最後由 葉桔良 於 2022-9-24 17:30 編輯

改寫 電費計算機 (一) 的程式碼,將所有 if...else 判斷的部分,以 switch...case 語法改寫。

參考[作業] switch 判斷式 (五)
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     re:
  8.     int month, dot;
  9.     double s_d120,s_d330,s_d500,s_d700,s_d1000;
  10.     double w_d120,w_d330,w_d500,w_d700,w_d1000;
  11.     double sum=0.0;
  12.    
  13.     w_d120=(120-0)*2.1;
  14.     w_d330=(330-120)*2.68;
  15.     w_d500=(500-330)*3.61;
  16.     w_d700=(700-500)*4.48;
  17.     w_d1000=(1000-700)*5.03;
  18.    
  19.     s_d120=(120-0)*2.1;
  20.     s_d330=(330-120)*3.02;
  21.     s_d500=(500-330)*4.39;
  22.     s_d700=(700-500)*5.44;
  23.     s_d1000=(1000-700)*6.16;
  24.    
  25.    
  26.     cout<<"***歡迎使用小米電費計算機***"<<endl<<endl;
  27.     cout<<"請輸入月份:";
  28.     cin>>month;
  29.     cout<<"用電度數:";
  30.     cin>>dot;
  31.     switch(month)
  32.     {
  33.             case 1 ... 5:
  34.             case 10 ... 12:
  35.                     switch(dot)
  36.                     {
  37.                             case 1001 ... 10000:
  38.                             sum=w_d120 + w_d330 + w_d500 + w_d700 + w_d1000 + (dot-1000)*5.28;
  39.                             break;
  40.                     case 701 ... 1000:
  41.                             sum=w_d120 + w_d330 + w_d500 + w_d700 + (dot-700)*5.03;
  42.                             break;
  43.                     case 501 ... 700:
  44.                             sum=w_d120 + w_d330 + w_d500 + (dot-500)*4.48;
  45.                             break;
  46.                     case 331 ... 500:
  47.                             sum=w_d120 + w_d330 + (dot-330)*3.16;
  48.                             break;
  49.                     case 121 ... 330:
  50.                             sum=w_d120 + (dot-120)*2.68;
  51.                             break;
  52.                     case 1 ... 120:
  53.                             sum=(dot)*2.1;
  54.                             break;
  55.                     }
  56.                     break;
  57.             case 6 ... 9:
  58.                     switch(dot)
  59.                     {
  60.                             case 1001 ... 10000:
  61.                             sum=s_d120 + s_d330 + s_d500 + s_d700 + s_d1000 + (dot-1000)*6.71;
  62.                             break;
  63.                     case 701 ... 1000:
  64.                             sum=s_d120 + s_d330 + s_d500 + s_d700 + (dot-700)*6.16;
  65.                             break;
  66.                     case 501 ... 700:
  67.                             sum=s_d120 + s_d330 + s_d500 + (dot-500)*5.44;
  68.                             break;
  69.                     case 331 ... 500:
  70.                             sum=s_d120 + s_d330 + (dot-330)*4.39;
  71.                             break;
  72.                     case 121 ... 330:
  73.                             sum=s_d120 + (dot-120)*3.02;
  74.                             break;
  75.                     case 1 ... 120:
  76.                             sum=(dot)*2.1;
  77.                             break;
  78.                     }
  79.                     break;
  80.     }
  81.     cout<<"您要繳的電費共:"<<sum<<endl;
  82.     goto re;
  83.     system("pause");
  84. }
複製代碼

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表