返回列表 發帖

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

本帖最後由 陳品肇 於 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. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     system("cls");
  8.     int month ,mony;
  9.     float give;
  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>>mony;
  21.         if(mony>=1 && mony<=120)
  22.         {
  23.             give=mony*1.63;
  24.         }else if(mony>=121 && mony<=330)
  25.         {
  26.             give=120*1.63+(mony-120)*2.38;
  27.         }else if(mony>=331 && mony<=500)
  28.         {
  29.             give=120*1.63+330*2.38+(mony-330)*3.52;
  30.         }else if(mony>=501 && mony<=700)
  31.         {
  32.             give=120*1.63+330*2.38+500*3.52+(mony-500)*4.8;
  33.         }else if(mony>=701 && mony<=1000)
  34.         {
  35.             give=120*1.63+330*2.38+500*3.52+700*4.8+(mony-700)*5.66;
  36.         }else if(mony>=1001)
  37.         {
  38.             give=120*1.63+330*2.38+500*3.52+700*4.8+1000*5.66+(mony-1000)*6.41;
  39.         }else
  40.         {
  41.             cout<<"輸入錯誤"<<endl;
  42.             system("pause");
  43.             goto re;
  44.         }
  45.         break;
  46.         case 1:
  47.         case 2:
  48.         case 3:
  49.         case 4:
  50.         case 5:
  51.         case 10:
  52.         case 11:
  53.         case 12:
  54.                  cout<<"用電度數:";
  55.         cin>>mony;
  56.         if(mony>=1 && mony<=120)
  57.         {
  58.             give=mony*1.63;
  59.         }else if(mony>=121 && mony<=330)
  60.         {
  61.             give=120*1.63+(mony-120)*2.1;
  62.         }else if(mony>=331 && mony<=500)
  63.         {
  64.             give=120*1.63+330*2.1+(mony-330)*2.89;
  65.         }else if(mony>=501 && mony<=700)
  66.         {
  67.             give=120*1.63+330*2.1+500*2.89+(mony-500)*3.94;
  68.         }else if(mony>=701 && mony<=1000)
  69.         {
  70.             give=120*1.63+330*2.1+500*2.89+700*3.94+(mony-700)*4.6;
  71.         }else if(mony>=1001)
  72.         {
  73.             give=120*1.63+330*2.1+500*2.89+700*3.94+1000*4.6+(mony-1000)*5.03;
  74.         }else
  75.         {
  76.                 cout<<"輸入錯誤"<<endl;
  77.             system("pause");
  78.             goto re;
  79.         }
  80.         break;
  81.         defaul:
  82.         cout<<"輸入錯誤"<<endl;
  83.         system("pause");
  84.         goto re;
  85.     }
  86.     cout<<"電費為"<<give<<endl;
  87.     system("pause");
  88.     return 0;
  89. }
複製代碼

TOP

  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.    if(month>=6 && month<=9)
  14.    {
  15.        cout<<"用電度數: ";
  16.        cin>>degree;
  17.        if(degree>0 && degree<=120)
  18.        {
  19.            money=1.63*degree;
  20.        }else if(degree>120 && degree<=330)
  21.        {
  22.            money=1.63*120+2.38*(degree-120);  
  23.        }else if(degree>330 && degree<=500)
  24.        {
  25.            money=1.63*120+2.38*(330-120)+3.52*(degree-330);  
  26.        }else if(degree>500 && degree<=700)
  27.        {
  28.            money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(degree-500);   
  29.        }else if(degree>700 && degree<=1000)
  30.        {
  31.            money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(degree-700);      
  32.        }else if(degree>=1001)
  33.        {
  34.              money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(1000-700)+6.41*(degree-1000);
  35.        }else
  36.        {
  37.            cout<<"用電度數輸入錯誤!"<<endl;
  38.            system("pause");
  39.            goto re;
  40.        }        
  41.    }else if((month>=10 && month<=12)||(month>=1 && month<=5))
  42.    {
  43.        cout<<"用電度數: ";
  44.        cin>>degree;
  45.        if(degree>0 && degree<=120)
  46.        {
  47.            money=1.63*degree;
  48.        }else if(degree>120 && degree<=330)
  49.        {
  50.            money=1.63*120+2.1*(degree-120);  
  51.        }else if(degree>330 && degree<=500)
  52.        {
  53.            money=1.63*120+2.1*(330-120)+2.89*(degree-330);  
  54.        }else if(degree>500 && degree<=700)
  55.        {
  56.            money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(degree-500);   
  57.        }else if(degree>700 && degree<=1000)
  58.        {
  59.            money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(degree-700);      
  60.        }else if(degree>=1001)
  61.        {
  62.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(1000-700)+5.03*(degree-1000);
  63.        }else
  64.        {
  65.            cout<<"輸入錯誤!"<<endl;
  66.            system("pause");
  67.            goto re;
  68.        }      
  69.    }else
  70.    {
  71.        cout<<"輸入錯誤!"<<endl;
  72.        system("pause");
  73.        goto re;     
  74.    }
  75.    cout<<endl<<"您要繳交的電費共 "<<money<<"元!"<<endl;  
  76.    system("pause");
  77.    return 0;   
  78. }
複製代碼

TOP

  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.    if(month>=6 && month<=9)
  14.    {
  15.        cout<<"用電度數: ";
  16.        cin>>degree;
  17.        if(degree>0 && degree<=120)
  18.        {
  19.            money=1.63*degree;
  20.        }else if(degree>120 && degree<=330)
  21.        {
  22.            money=1.63*120+2.38*(degree-120);  
  23.        }else if(degree>330 && degree<=500)
  24.        {
  25.            money=1.63*120+2.38*(330-120)+3.52*(degree-330);  
  26.        }else if(degree>500 && degree<=700)
  27.        {
  28.            money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(degree-500);   
  29.        }else if(degree>700 && degree<=1000)
  30.        {
  31.            money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(degree-700);      
  32.        }else if(degree>=1001)
  33.        {
  34.              money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(1000-700)+6.41*(degree-1000);
  35.        }else
  36.        {
  37.            cout<<"用電度數輸入錯誤!"<<endl;
  38.            system("pause");
  39.            goto re;
  40.        }        
  41.    }else if((month>=10 && month<=12)||(month>=1 && month<=5))
  42.    {
  43.        cout<<"用電度數: ";
  44.        cin>>degree;
  45.        if(degree>0 && degree<=120)
  46.        {
  47.            money=1.63*degree;
  48.        }else if(degree>120 && degree<=330)
  49.        {
  50.            money=1.63*120+2.1*(degree-120);  
  51.        }else if(degree>330 && degree<=500)
  52.        {
  53.            money=1.63*120+2.1*(330-120)+2.89*(degree-330);  
  54.        }else if(degree>500 && degree<=700)
  55.        {
  56.            money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(degree-500);   
  57.        }else if(degree>700 && degree<=1000)
  58.        {
  59.            money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(degree-700);      
  60.        }else if(degree>=1001)
  61.        {
  62.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(1000-700)+5.03*(degree-1000);
  63.        }else
  64.        {
  65.            cout<<"輸入錯誤!"<<endl;
  66.            system("pause");
  67.            goto re;
  68.        }      
  69.    }else
  70.    {
  71.        cout<<"輸入錯誤!"<<endl;
  72.        system("pause");
  73.        goto re;     
  74.    }
  75.    cout<<endl<<"您要繳交的電費共 "<<money<<"元!"<<endl;  
  76.    system("pause");
  77.    return 0;   
  78. }
複製代碼

TOP

  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.               }
  25.               else if(degree>120 && degree<=330)
  26.               {
  27.                money=1.63*120+2.38*(degree-120);  
  28.               }
  29.               else if(degree>330 && degree<=500)
  30.               {
  31.               money=1.63*120+2.38*(330-120)+3.52*(degree-330);  
  32.               }
  33.               else if(degree>500 && degree<=700)
  34.               {
  35.               money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(degree-500);   
  36.               }
  37.               else if(degree>700 && degree<=1000)
  38.               {
  39.               money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(degree-700);      
  40.               }
  41.               else if(degree>=1001)
  42.               {
  43.               money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(1000-700)+6.41*(degree-1000);
  44.               }
  45.               else
  46.               {
  47.               cout<<"用電度數輸入錯誤!"<<endl;
  48.               system("pause");
  49.               goto re;
  50.               }     
  51.              break;
  52.         case 10:
  53.         case 11:
  54.         case 12:
  55.         case 1:
  56.         case 2:
  57.         case 3:
  58.         case 4:
  59.         case 5:
  60.              cout<<"用電度數: ";
  61.              cin>>degree;
  62.              if(degree>0 && degree<=120)
  63.              {
  64.              money=1.63*degree;
  65.              }
  66.              else if(degree>120 && degree<=330)
  67.              {
  68.              money=1.63*120+2.1*(degree-120);  
  69.              }
  70.              else if(degree>330 && degree<=500)
  71.              {
  72.              money=1.63*120+2.1*(330-120)+2.89*(degree-330);  
  73.              }
  74.              else if(degree>500 && degree<=700)
  75.              {
  76.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(degree-500);   
  77.              }
  78.              else if(degree>700 && degree<=1000)
  79.              {
  80.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(degree-700);      
  81.              }else if(degree>=1001)
  82.              {
  83.              money=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(1000-700)+5.03*(degree-1000);
  84.              }
  85.              else
  86.              {
  87.              cout<<"用電度數輸入錯誤!"<<endl;
  88.              system("pause");
  89.              goto re;
  90.              }               
  91.              break;
  92.         default:
  93.              cout<<"月份輸入錯誤!"<<endl;
  94.              system("pause");
  95.              goto re;     
  96.    }
  97.    cout<<endl<<"您要繳交的電費共 "<<money<<"元!"<<endl;  
  98.    system("pause");
  99.    return 0;   
  100. }
複製代碼

TOP

  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 pay;
  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.                 pay = 1.63*degree;
  24.              }
  25.              else if(degree>120 && degree<=330)
  26.              {
  27.                 pay = 1.63*120+2.38*(degree-120);  
  28.              }
  29.              else if(degree>330 && degree<=500)
  30.              {
  31.                 pay = 1.63*120+2.38*(330-120)+3.52*(degree-330);  
  32.              }
  33.              else if(degree>500 && degree<=700)
  34.              {
  35.                 pay = 1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(degree-500);   
  36.              }
  37.              else if(degree>700 && degree<=1000)
  38.              {
  39.                 pay = 1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(degree-700);      
  40.              }
  41.              else if(degree>=1001)
  42.              {
  43.                 pay = 1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(1000-700)+6.41*(degree-1000);
  44.              }
  45.              else
  46.              {
  47.                 cout<<"用電度數輸入錯誤!"<<endl;
  48.              system("pause");
  49.              goto re;
  50.              }     
  51.              break;
  52.         case 10:
  53.         case 11:
  54.         case 12:
  55.         case 1:
  56.         case 2:
  57.         case 3:
  58.         case 4:
  59.         case 5:
  60.              cout<<"用電度數: ";
  61.              cin>>degree;
  62.              if(degree>0 && degree<=120)
  63.              {
  64.                 pay = 1.63*degree;
  65.              }
  66.              else if(degree>120 && degree<=330)
  67.              {
  68.                 pay = 1.63*120+2.1*(degree-120);  
  69.              }
  70.              else if(degree>330 && degree<=500)
  71.              {
  72.                 pay = 1.63*120+2.1*(330-120)+2.89*(degree-330);  
  73.              }
  74.              else if(degree>500 && degree<=700)
  75.              {
  76.                 pay = 1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(degree-500);   
  77.              }
  78.              else if(degree>700 && degree<=1000)
  79.              {
  80.                 pay = 1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(degree-700);      
  81.              }
  82.              else if(degree>=1001)
  83.              {
  84.                 pay = 1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(1000-700)+5.03*(degree-1000);
  85.              }
  86.              else
  87.              {
  88.              cout<<"用電度數輸入錯誤!"<<endl;
  89.              system("pause");
  90.              goto re;
  91.              }               
  92.              break;
  93.         default:
  94.              cout<<"月份輸入錯誤!"<<endl;
  95.              system("pause");
  96.              goto re;     
  97.    }
  98.    cout<<endl<<"您要繳交的電費共 "<<pay<<"元!"<<endl;  
  99.    system("pause");
  100.    return 0;   
  101. }
複製代碼

TOP

  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.             
  82.              default:
  83.                      
  84.            cout<<"月份輸入錯誤!"<<endl;
  85.            system("pause");
  86.            goto re;     
  87. }
  88.            cout<<endl<<"要繳交的電費共 "<<money<<"元!"<<endl;  
  89.             system("pause");
  90.             return 0;   
  91. }
複製代碼

TOP

返回列表