Board logo

標題: 電費計算機 (二)-使用switch [打印本頁]

作者: 陳品肇    時間: 2019-5-10 22:46     標題: 電費計算機 (二)-使用switch

針對月份判斷的部分, 以 switch...case 語法改寫.
[attach]6450[/attach]
  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. }
複製代碼

作者: 吳孟修    時間: 2019-5-11 13:36

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     system("cls");
  8.     int month,p=0;
  9.     float sum;
  10.     cout<<"*** 電費計算機 ***"<<endl<<endl;
  11.     cout<<"請輸入月份:";
  12.     cin>>month;
  13.     switch(month)
  14.     {
  15.         case 6 ... 9:
  16.         cout<<"請輸入用電度數:";
  17.         cin>>p;
  18.         if(p>=0 && p<=120)
  19.         {
  20.             sum=1.63*p;
  21.         }
  22.         else if(p>120 && p<=330)
  23.         {
  24.             sum=1.63*120+2.38*(p-120);     
  25.         }
  26.         else if(p>330 && p<=500)
  27.         {
  28.             sum=1.63*120+2.38*(330-120)+3.52*(p-330);     
  29.         }
  30.         else if(p>500 && p<=700)
  31.         {
  32.             sum=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(p-500);     
  33.         }
  34.         else if(p>700 && p<=1000)
  35.         {
  36.             sum=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(p-700);           
  37.         }
  38.         else if(p>1000)
  39.         {
  40.             sum=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(1000-700)+6.41*(p-1000);      
  41.         }
  42.         else
  43.         {
  44.             cout<<"輸入錯誤"<<endl;
  45.             system("pause");
  46.             goto re;     
  47.         }
  48.         break;
  49.     case 1 ... 5:
  50.     case 10:
  51.     case 11:
  52.     case 12:
  53.         cout<<"請輸入用電度數:";
  54.         cin>>p;
  55.         if(p>=0 && p<=120)
  56.         {
  57.             sum=1.63*p;
  58.         }
  59.         else if(p>120 && p<=330)
  60.         {
  61.             sum=1.63*120+2.1*(p-120);     
  62.         }
  63.         else if(p>330 && p<=500)
  64.         {
  65.             sum=1.63*120+2.1*(330-120)+2.89*(p-330);     
  66.         }
  67.         else if(p>500 && p<=700)
  68.         {
  69.             sum=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(p-500);     
  70.         }
  71.         else if(p>700 && p<=1000)
  72.         {
  73.             sum=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(p-700);           
  74.         }
  75.         else if(p>1000)
  76.         {
  77.             sum=1.63*120+2.1*(330-120)+2.89*(500-330)+3.94*(700-500)+4.6*(1000-700)+5.03*(p-1000);      
  78.         }
  79.         else
  80.         {
  81.             cout<<"輸入錯誤"<<endl;
  82.             system("pause");
  83.             goto re;     
  84.         }
  85.         break;     
  86.         default:
  87.         cout<<"月份輸入錯誤!"<<endl;
  88.         system("pause");
  89.         goto re;     
  90.     }
  91.     cout<<endl<<"您要繳交的電費共 "<<sum<<"元!"<<endl;   
  92.     system("pause");
  93.     return 0;   
  94. }
複製代碼

作者: 湯郡一    時間: 2019-5-11 13:40

  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;
  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. }  
  90.    
  91.    
複製代碼

作者: 田宇任    時間: 2019-5-11 13:44

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.    re:   
  7.    system("cls");
  8.    int du,month;
  9.    float money;
  10.    
  11.    cout<<"請輸入月份: ";
  12.    cin>>month;
  13.    
  14.   
  15.    switch(month)
  16. {
  17.         case 6:
  18.         case 7:
  19.         case 8:
  20.         case 9:         
  21.      cout<<"用電度數: ";
  22.      cin>>du;         
  23.      
  24.      if(du>0 && du<=120)
  25.    {
  26.    money=du*1.63;
  27.      
  28.    }else if(du>120 && du<=330)
  29.    {
  30.      money=1.63*120+2.38*(du-120);   
  31.    }else if(du>330 && du<=500)
  32.    {
  33.      money=1.63*120+2.38*(330-120)+3.52*(du-330);   
  34.    }else if(du>500 && du<=700)
  35.    {
  36.      money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(du-700);   
  37.    }else if(du>700 && du<=1000)
  38.    {
  39.      money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(du-700);   
  40.    }else if(du>=1001)
  41.    {
  42.      money=1.63*120+2.38*(330-120)+3.52*(500-330)+4.8*(700-500)+5.66*(1000-700)+6.41*(du-1000);   
  43.    }else
  44.    {
  45.         cout<<"用電度數輸入錯誤!"<<endl;
  46.         system("pause");
  47.         goto re;
  48.    }
  49.    

  50. break;
  51.         case 10:
  52.         case 11:
  53.         case 12:
  54.         case 1:
  55.         case 2:
  56.         case 3:
  57.         case 4:
  58.         case 5:
  59.         cout<<"用電度數:"<<endl;
  60.         cin>>du;
  61.      if(du>0 && du<=120)
  62.    {
  63.    money=du*1.63;
  64.      
  65.    }
  66.    else if(du>120 && du<=330)
  67.    {
  68.      money=1.63*120+2.10*(du-120);   
  69.    }else if(du>330 && du<=500)
  70.    {
  71.      money=1.63*120+2.10*(330-120)+2.89*(du-330);   
  72.    }
  73.    else if(du>500 && du<=700)
  74.    {
  75.      money=1.63*120+2.10*(330-120)+2.89*(500-330)+3.94*(du-700);   
  76.    }
  77.    else if(du>700 && du<=1000)
  78.    {
  79.      money=1.63*120+2.10*(330-120)+2.89*(500-330)+3.94*(700-500)+4.60*(du-700);   
  80.    }
  81.    else if(du>=1001)
  82.    {
  83.      money=1.63*120+2.10*(330-120)+2.89*(500-330)+3.94*(700-500)+4.60*(1000-700)+5.03*(du-1000);   
  84.            }else
  85.            {
  86.            cout<<"用電度數輸入錯誤!"<<endl;
  87.            system("pause");
  88.            goto re;
  89.            }
  90.        break;
  91.        default:

  92.    
  93.        cout<<"月份輸入錯誤!"<<endl;
  94.        system("pause");
  95.        goto re;     
  96.    }      
  97.                  
  98.             
  99.    cout<<"您要繳的電費為"<<money<<"元!"<<endl;
  100.    system("pause");
  101.    return 0;
  102. }         
複製代碼

作者: 王瑞喻    時間: 2019-5-11 13:46

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     system("cls");
  8.     int month,d;
  9.     float sum=0;
  10.     cout<<"*****電費計算機*****"<<endl;
  11.     cout<<"請輸入月份: ";
  12.     cin>>month;
  13.    
  14.     switch(month)
  15.     {
  16.         case 6:
  17.         case 7:
  18.         case 8:
  19.         case 9:
  20.             cout<<"用電度數: ";
  21.             cin>>d;
  22.             if(d>=0&&d<=120)
  23.             {
  24.                 sum=d*1.63;
  25.             }else if(d>=120&&d<=330)
  26.             {
  27.                 sum=120*1.63+(d-120)*2.38;   
  28.             }else if(d>=330&&d<=500)
  29.             {
  30.                 sum=120*1.63+210*2.38+(d-500)*3.52;   
  31.             }else if(d>=500&&d<=700)
  32.             {
  33.                 sum=120*1.63+210*2.38+170*3.52+(d-500)*4.80;   
  34.             }else if(d>=700&&d<=1000)
  35.             {
  36.                 sum=120*1.63+210*2.38+170*3.52+200*4.80+(d-700)*5.66;   
  37.             }else if(d>=1000)
  38.             {
  39.                 sum=120*1.63+210*2.38+170*3.52+200*4.80+300*5.66+(d-1000)*6.41;   
  40.             }else
  41.             {
  42.                 cout<<"用電度數輸入錯誤!"<<endl;  
  43.             system("pause");
  44.             goto re;
  45.             }
  46.             break;
  47.          
  48.     case 10:
  49.     case 11:
  50.     case 12:
  51.     case 1:
  52.     case 2:
  53.     case 3:
  54.     case 4:
  55.     case 5:
  56.         cout<<"用電度數: ";
  57.         cin>>d;
  58.         if(d>=0&&d<=120)
  59.         {
  60.             sum=d*1.63;
  61.         }else if(d>=120&&d<=330)
  62.         {
  63.             sum=120*1.63+(d-120)*2.10;   
  64.         }else if(d>=330&&d<=500)
  65.         {
  66.             sum=120*1.63+210*2.10+(d-500)*2.89;   
  67.         }else if(d>=500&&d<=700)
  68.         {
  69.             sum=120*1.63+210*2.10+170*2.89+(d-500)*3.94;   
  70.         }else if(d>=700&&d<=1000)
  71.         {
  72.             sum=120*1.63+210*2.10+170*2.89+200*3.94+(d-700)*4.60;   
  73.         }else if(d>=1000)
  74.         {
  75.             sum=120*1.63+210*2.10+170*2.89+200*3.94+300*4.60+(d-1000)*5.03;   
  76.         }else
  77.         {
  78.             cout<<"用電度數輸入錯誤!"<<endl;
  79.         system("pause");
  80.         goto re;
  81.         }
  82.         break;
  83.     default:
  84.         cout<<"月份輸入錯誤!";
  85.         system("pause");
  86.                 goto re;
  87.     }
  88.     cout<<"您要繳交的電費共"<<sum<<"元!"<<endl;
  89.     system("pause");
  90.     return 0;
  91. }
複製代碼

作者: 吳孟書    時間: 2019-5-11 14:00

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

作者: 洪寬瀧    時間: 2019-5-11 15:07

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.   re:
  7.    system("cls");                          //⊕ 41458+Alt
  8.    int degree,month;
  9.    float money;
  10.    cout<<"///電費計算機///"<<endl<<endl;
  11.    cout<<"請輸入月份"<<endl;
  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.              {cout<<"用電度數輸入錯誤!"<<endl;
  76.              system("pause");
  77.              goto re;
  78.              }     
  79.              cout<<endl<<"您要繳交的電費共"<<money<<"元"<<endl;      
  80.             
  81.    }
  82.    system("pause");
  83.    return 0;   
  84. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2