返回列表 發帖

第五十一題:計算兩個時間 (時:分:秒) 的間隔秒數

假設長途電話費率的計算方式如下:

(1)任何從6:00PM(1800時)以後開始的通話將有50%的折扣。

(2)任何從8:00AM(0800 時)以後開始的通話必須要付全額費用。

(3)任何電話都必須要課4%的營業稅。

(4)任何通話的一般費用是每五分鐘 1.7元,未滿五分鐘以五分鐘計算。

(5)任何超過60分鐘以上的通話將有15%的折扣

      (已在扣除所有折扣後未加入稅金時的費用為準)



  寫一程式,以讀入每次通話的起始時間(24時制)及通話時間來處理通話

  的實際費用(含稅金及折扣)。
我是小紅老師,小紅老師是我!!

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <string>
  4. using namespace std;
  5. int main(void){
  6.    
  7.     string user_time;
  8.     int m = 0;
  9.     int user_talk = 0;
  10.     double all = 0;
  11.    
  12.     cout << "請輸入通話起始時間 (0935代表早上九點三時五分)" << endl;
  13.     cin >> user_time;
  14.     cout << "請輸入通話時間長短 (單位:分鐘)" << endl;
  15.     cin >> user_talk;
  16.    
  17.     m = ((int)user_time[0]-48)*1000+((int)user_time[1]-48)
  18.     *100+((int)user_time[2]-48)*10+((int)user_time[3]-48);
  19.    
  20.     if(m >= 800 && m <= 1800){
  21.          if(user_talk % 5 == 0){
  22.               if(user_talk >= 60){
  23.                   all = (user_talk / 5) * 1.7 * 0.85 * 1.04;
  24.                   cout << "應付通話費用總計為:" << all << endl;
  25.               }else{
  26.                   all = (user_talk / 5) * 1.7 * 1.04;
  27.                   cout << "應付通話費用總計為:" << all << endl;
  28.               }
  29.          }else{
  30.               if(user_talk >= 60){
  31.                   all = ((user_talk / 5) + 1) * 1.7 * 0.85 *1.04;
  32.                   cout << "應付通話費用總計為:" << all << endl;
  33.               }else{
  34.                   all = ((user_talk / 5) + 1) * 1.7 * 1.04;
  35.                   cout << "應付通話費用總計為:" << all << endl;
  36.               }
  37.          }
  38.     }else{
  39.          if(user_talk % 5 == 0){
  40.               if(user_talk >= 60){
  41.                   all = ((user_talk / 5) * 0.5) * 1.7 * 0.85 * 1.04;
  42.                   cout << "應付通話費用總計為:" << all << endl;
  43.               }else{
  44.                   all = ((user_talk / 5) * 0.5) * 1.7 * 1.04;
  45.                   cout << "應付通話費用總計為:" << all << endl;
  46.               }
  47.          }else{
  48.               if(user_talk >= 60){
  49.                   all = (((user_talk / 5) + 1) * 0.5) * 1.7 * 0.85 * 1.04;
  50.                   cout << "應付通話費用總計為:" << all << endl;
  51.               }else{
  52.                   all = (((user_talk / 5) + 1)* 0.5) * 1.7 * 1.04;
  53.                   cout << "應付通話費用總計為:" << all << endl;
  54.               }
  55.          }
  56.     }
  57.     system("pause");
  58.     return 0;
  59. }
複製代碼

TOP

回復 3# chuangjoy
你認為阿~~~
麻煩阿~~
分數掛蛋的心情像空白的紙,再次期望著奇蹟的到來。

TOP

回復 2# p17johnny


    = =

TOP

It's too hard~~
分數掛蛋的心情像空白的紙,再次期望著奇蹟的到來。

TOP

返回列表