返回列表 發帖

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

本帖最後由 tonyh 於 2013-12-14 15:20 編輯

將今天上課寫的程式碼改寫,
移除 switch...case 敘述, 全部用 if...else if...else 取代.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int m,d,cost;
  7.     cout<<"***歡迎使用小米的電費計算機***"<<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:     
  12.     if(m>=6 && m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>0 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }
  31.     }else if((m>=10 && m<=12) || (m>=1 && m<=5))
  32.     {
  33.                cout<<"用電度數: ";
  34.                cin>>d;
  35.                if(d>0 && d<=120)
  36.                    cost=2.1*d;
  37.                else if(d>=121 && d<=330)
  38.                    cost=2.1*120+2.68*(d-120);
  39.                else if(d>=331 && d<=500)
  40.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  41.                else if(d>=501 && d<=700)
  42.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  43.                else if(d>700)
  44.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  45.                else
  46.                {
  47.                    cout<<"用電度數輸入錯誤!"<<endl;
  48.                    goto re2;
  49.                }         
  50.     }else
  51.     {
  52.                cout<<"月份輸入錯誤!"<<endl;
  53.                goto re1;  
  54.     }
  55.     cout<<endl<<"您要繳交的電費共: "<<cost<<"元!"<<endl<<endl;
  56.     system("pause");
  57.     return 0;   
  58. }
複製代碼

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int m,d,cost
  7.     cout<<"!!!歡迎使用電費計算機!!!" <<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:     
  12.     if(m>=6 && m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>0 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }
  31.     }else if((m>=10 && m<=12) || (m>=1 && m<=5))
  32.     {
  33.                cout<<"用電度數: ";
  34.                cin>>d;
  35.                if(d>0 && d<=120)
  36.                    cost=2.1*d;
  37.                else if(d>=121 && d<=330)
  38.                    cost=2.1*120+2.68*(d-120);
  39.                else if(d>=331 && d<=500)
  40.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  41.                else if(d>=501 && d<=700)
  42.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  43.                else if(d>700)
  44.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  45.                else
  46.                {
  47.                    cout<<"用電度數輸入錯誤!"<<endl;
  48.                    goto re2;
  49.                }         
  50.     }else
  51.     {
  52.                cout<<"月份輸入錯誤!"<<endl;
  53.                goto re1;  
  54.     }
  55.     cout<<endl<<"要交的電費共: "<<cost<<"元!"<<endl<<endl;   
  56.     system("pause");
  57.     return 0;   
  58. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int m,d,cost;
  7.     cout<<"***歡迎使用小米的電費計算機***"<<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:
  12.     if(m>=6 || m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>0 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }   
  31.          }
  32.     else if(m>=10 || m<=12 || m>=1 || m<=5)
  33.     {
  34.                 cout<<"用電度數: ";
  35.                cin>>d;
  36.                if(d>0 && d<=120)
  37.                    cost=2.1*d;
  38.                else if(d>=121 && d<=330)
  39.                    cost=2.1*120+2.68*(d-120);
  40.                else if(d>=331 && d<=500)
  41.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  42.                else if(d>=501 && d<=700)
  43.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  44.                else if(d>700)
  45.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  46.                else
  47.                {
  48.                    cout<<"用電度數輸入錯誤!"<<endl;
  49.                    goto re2;
  50.                }      
  51.     }else
  52.     {
  53.                cout<<"月份輸入錯誤!"<<endl;
  54.                goto re1;
  55.     }   
  56.     cout<<endl<<"您要繳交的電費共: "<<cost<<"元!"<<endl<<endl;
  57.     system("pause");
  58.     return 0;   
  59. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int m,d,cost;
  7.     cout<<"***歡迎使用小米的電費計算機***"<<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:
  12.     if(m>=6 || m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>0 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }   
  31.          }
  32.     else if(m>=10 || m<=12 || m>=1 || m<=5)
  33.     {
  34.                 cout<<"用電度數: ";
  35.                cin>>d;
  36.                if(d>0 && d<=120)
  37.                    cost=2.1*d;
  38.                else if(d>=121 && d<=330)
  39.                    cost=2.1*120+2.68*(d-120);
  40.                else if(d>=331 && d<=500)
  41.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  42.                else if(d>=501 && d<=700)
  43.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  44.                else if(d>700)
  45.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  46.                else
  47.                {
  48.                    cout<<"用電度數輸入錯誤!"<<endl;
  49.                    goto re2;
  50.                }      
  51.     }else
  52.     {
  53.                cout<<"月份輸入錯誤!"<<endl;
  54.                goto re1;
  55.     }   
  56.     cout<<endl<<"您要繳交的電費共: "<<cost<<"元!"<<endl<<endl;
  57.     system("pause");
  58.     return 0;   
  59. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     double m,d,cost;
  7.     cout<<"***歡迎使用電費計算機***"<<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:
  12.     if(m>=6 && m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>=1 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }
  31.    }else if((m<=5 && m>=1) || (m<=12 && m>=10))              
  32.           {
  33.                cout<<"用電度數: ";
  34.                cin>>d;
  35.                if(d>0 && d<=120)
  36.                    cost=2.1*d;
  37.                else if(d>=121 && d<=330)
  38.                    cost=2.1*120+2.68*(d-120);
  39.                else if(d>=331 && d<=500)
  40.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  41.                else if(d>=501 && d<=700)
  42.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  43.                else if(d>700)
  44.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  45.                else
  46.                {
  47.                    cout<<"用電度數輸入錯誤!"<<endl;
  48.                    goto re2;
  49.                }   
  50.           }else  
  51.            {
  52.               cout<<"月份輸入錯誤!"<<endl;
  53.                goto re1;   
  54.            }   
  55.       
  56.     cout<<endl<<"您要繳交的電費共: "<<cost<<"元!"<<endl<<endl;
  57.     system("pause");
  58.     return 0;   
  59. }
複製代碼

TOP

本帖最後由 劉泳鱔 於 2013-12-14 14:28 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a,b;
  7.     cout<<"$歡迎使用昂貴又高級電費計算器$"<<endl;
  8.     re1:
  9.     cout<<"請輸入月份:";
  10.     cin>>a;
  11.     if(a>12 || a<=0)
  12.     {
  13.         cout<<"輸入錯誤!"<<endl;
  14.         goto re1;   
  15.     }
  16.     re2:
  17.     cout<<"請輸入用電度數:";
  18.     cin>>b;
  19.     if(b<=0)
  20.     {
  21.         cout<<"輸入錯誤!"<<endl;
  22.         goto re2;   
  23.     }
  24.     if(b<120)
  25.     {
  26.         cout<<b*2.1<<"元"<<endl;
  27.     }else if(a>=6 && a<=9 && b>=121 && b<=330)
  28.     {
  29.         cout<<b*3.02<<"元"<<endl;
  30.     }else if((a>=10 && a<=12 || a>=1 && a<=5)&& b>=121 && b<=330)
  31.     {
  32.         cout<<b*2.68<<"元"<<endl;
  33.     }else if(a>=6 && a<=9 && b>=331 && b<=500)
  34.     {
  35.         cout<<b*4.39<<"元"<<endl;
  36.     }else if((a>=10 && a<=12 || a>=1 && a<=5)&& b>=121 && b<=330)
  37.     {
  38.         cout<<b*3.61<<"元"<<endl;
  39.     }else if(a>=6 && a<=9 && b>=501 && b<=700)
  40.     {
  41.         cout<<b*4.97<<"元"<<endl;
  42.     }else if((a>=10 && a<=12 || a>=1 && a<=5)&& b>=121 && b<=330)
  43.     {
  44.         cout<<b*4.01<<"元"<<endl;
  45.     }else if(a>=6 && a<=9 && b<=700)
  46.     {
  47.         cout<<b*5.63<<"元"<<endl;
  48.     }else if(a>=10 && a<=12 || a>=1 && a<=5&&b<=700)
  49.     {
  50.         cout<<b*4.5<<"元"<<endl;
  51.     }
  52.     system("pause");
  53.     return 0;   
  54. }
複製代碼

TOP

本帖最後由 許逸群 於 2013-12-14 14:33 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     double m,d,cost;
  7.     cout<<"***歡迎使用電費計算機***"<<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:
  12.     if(m>=6 && m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>=1 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }
  31.    }else if((m<=5 && m>=1) || (m<=12 && m>=10))              
  32.           {
  33.                cout<<"用電度數: ";
  34.                cin>>d;
  35.                if(d>0 && d<=120)
  36.                    cost=2.1*d;
  37.                else if(d>=121 && d<=330)
  38.                    cost=2.1*120+2.68*(d-120);
  39.                else if(d>=331 && d<=500)
  40.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  41.                else if(d>=501 && d<=700)
  42.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  43.                else if(d>700)
  44.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  45.                else
  46.                {
  47.                    cout<<"用電度數輸入錯誤!"<<endl;
  48.                    goto re2;
  49.                }   
  50.           }else  
  51.            {
  52.               cout<<"月份輸入錯誤!"<<endl;
  53.                goto re1;   
  54.            }   
  55.       
  56.     cout<<endl<<"您要繳交的電費共: "<<cost<<"元!"<<endl<<endl;
  57.     system("pause");
  58.     return 0;   
  59. }
複製代碼

TOP

本帖最後由 鎧言 於 2013-12-14 14:36 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     double m,d,cost;
  7.     cout<<"***歡迎使用帥哥電費計算機***"<<endl<<endl;
  8.     re1:
  9.     cout<<"請輸入月份: ";
  10.     cin>>m;
  11.     re2:
  12.     if(m>=6 && m<=9)
  13.     {
  14.                cout<<"用電度數: ";
  15.                cin>>d;
  16.                if(d>=1 && d<=120)
  17.                    cost=2.1*d;
  18.                else if(d>=121 && d<=330)
  19.                    cost=2.1*120+3.02*(d-120);
  20.                else if(d>=331 && d<=500)
  21.                    cost=2.1*120+3.02*(330-120)+4.39*(d-330);
  22.                else if(d>=501 && d<=700)
  23.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(d-500);
  24.                else if(d>700)
  25.                    cost=2.1*120+3.02*(330-120)+4.39*(500-330)+4.97*(700-500)+5.63*(d-700);   
  26.                else
  27.                {
  28.                    cout<<"用電度數輸入錯誤!"<<endl;
  29.                    goto re2;
  30.                }
  31.    }else if((m<=5 && m>=1) || (m<=12 && m>=10))              
  32.           {
  33.                cout<<"用電度數: ";
  34.                cin>>d;
  35.                if(d>0 && d<=120)
  36.                    cost=2.1*d;
  37.                else if(d>=121 && d<=330)
  38.                    cost=2.1*120+2.68*(d-120);
  39.                else if(d>=331 && d<=500)
  40.                    cost=2.1*120+2.68*(330-120)+3.61*(d-330);
  41.                else if(d>=501 && d<=700)
  42.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(d-500);
  43.                else if(d>700)
  44.                    cost=2.1*120+2.68*(330-120)+3.61*(500-330)+4.01*(700-500)+4.5*(d-700);   
  45.                else
  46.                {
  47.                    cout<<"用電度數輸入錯誤!"<<endl;
  48.                    goto re2;
  49.                }   
  50.           }else  
  51.            {
  52.               cout<<"月份輸入錯誤!"<<endl;
  53.                goto re1;   
  54.            }   
  55.       
  56.     cout<<endl<<"您要繳交的電費共: "<<cost<<"元!"<<endl<<endl;
  57.     system("pause");
  58.     return 0;   
  59. }
複製代碼

TOP

返回列表