標題:
第五十一題:計算兩個時間 (時:分:秒) 的間隔秒數
[打印本頁]
作者:
stephen
時間:
2010-3-20 09:54
標題:
第五十一題:計算兩個時間 (時:分:秒) 的間隔秒數
假設長途電話費率的計算方式如下:
(1)任何從6:00PM(1800時)以後開始的通話將有50%的折扣。
(2)任何從8:00AM(0800 時)以後開始的通話必須要付全額費用。
(3)任何電話都必須要課4%的營業稅。
(4)任何通話的一般費用是每五分鐘 1.7元,未滿五分鐘以五分鐘計算。
(5)任何超過60分鐘以上的通話將有15%的折扣
(已在扣除所有折扣後未加入稅金時的費用為準)
寫一程式,以讀入每次通話的起始時間(24時制)及通話時間來處理通話
的實際費用(含稅金及折扣)。
作者:
p17johnny
時間:
2010-3-20 09:58
It's too hard~~
作者:
chuangjoy
時間:
2010-3-27 07:41
回復
2#
p17johnny
= =
作者:
p17johnny
時間:
2010-3-27 09:54
回復
3#
chuangjoy
你認為阿~~~
麻煩阿~~
作者:
b1081081
時間:
2010-3-27 11:43
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main(void){
string user_time;
int m = 0;
int user_talk = 0;
double all = 0;
cout << "請輸入通話起始時間 (0935代表早上九點三時五分)" << endl;
cin >> user_time;
cout << "請輸入通話時間長短 (單位:分鐘)" << endl;
cin >> user_talk;
m = ((int)user_time[0]-48)*1000+((int)user_time[1]-48)
*100+((int)user_time[2]-48)*10+((int)user_time[3]-48);
if(m >= 800 && m <= 1800){
if(user_talk % 5 == 0){
if(user_talk >= 60){
all = (user_talk / 5) * 1.7 * 0.85 * 1.04;
cout << "應付通話費用總計為:" << all << endl;
}else{
all = (user_talk / 5) * 1.7 * 1.04;
cout << "應付通話費用總計為:" << all << endl;
}
}else{
if(user_talk >= 60){
all = ((user_talk / 5) + 1) * 1.7 * 0.85 *1.04;
cout << "應付通話費用總計為:" << all << endl;
}else{
all = ((user_talk / 5) + 1) * 1.7 * 1.04;
cout << "應付通話費用總計為:" << all << endl;
}
}
}else{
if(user_talk % 5 == 0){
if(user_talk >= 60){
all = ((user_talk / 5) * 0.5) * 1.7 * 0.85 * 1.04;
cout << "應付通話費用總計為:" << all << endl;
}else{
all = ((user_talk / 5) * 0.5) * 1.7 * 1.04;
cout << "應付通話費用總計為:" << all << endl;
}
}else{
if(user_talk >= 60){
all = (((user_talk / 5) + 1) * 0.5) * 1.7 * 0.85 * 1.04;
cout << "應付通話費用總計為:" << all << endl;
}else{
all = (((user_talk / 5) + 1)* 0.5) * 1.7 * 1.04;
cout << "應付通話費用總計為:" << all << endl;
}
}
}
system("pause");
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2