國立屏東大學 資訊工程系 物件導向程式設計
Turnin作業1
- Turnin Code: cpp.hw1
- Due Date: 3/13 12:00AM Hard Deadline
繳交方式說明
本次Turnin作業包含多個程式題,請依照每題所要求的檔名建立檔案,並使用turnin指令上傳作業。當我們完成某一個題目的作答後,就可以使用turnin指令將該題的答案上傳。以第1題為例,當我們完成rounded.cpp的程式設計後,可以使用以下指令將其上傳:
[3:23 user@ws hw1] turnin▴cpp.hw1▴rounded.cpp↵
當然,你也可以等到所有題目都完成後,回到你撰寫作業的資料夾,使用以下指令將所有題目都加以上傳:
[3:23 user@ws hw1] turnin▴cpp.hw1▴.↵
註:本文使用▴及↵代表空白字元與Enter換行字元,並且將使用者輸入的部份使用灰階方式
顯示。
p1 四捨五入至整數位
請設計一個C++語言程式rounded.cpp,接受使用者所輸入的一個浮點數後,將其小數部份四捨五入後輸出,其執行結果可參考如下:
[9:19 user@ws hw] ./a.out↵
Floating▴point▴number:▴13.14↵
The▴rounded▴value▴is▴13.↵
[9:19 user@ws hw] ./a.out↵
Floating▴point▴number:▴38.5832↵
The▴rounded▴value▴is▴39.↵
[9:19 user@ws hw] ./a.out↵
Floating▴point▴number:▴8↵
The▴rounded▴value▴is▴8.↵
[9:19 user@ws hw]
p2 溫度轉換
請設計一個C++語言的程式c2f.cpp,讓使用者輸入一個攝氏溫度,計算並輸出對應的華氏溫度(溫度轉換公式為: 華氏 = 攝氏*(9/5)+32),本題的執行結果可參考如下:
[9:19 user@ws hw] ./a.out↵
Celsius:▴42.5↵
Celsius▴42.5=Fahrenheit▴108.5.↵
[9:19 user@ws hw] ./a.out↵
Celsius:▴100↵
Celsius▴100=Fahrenheit▴212.↵
[9:19 user@ws hw] ./a.out↵
Celsius:▴32.342↵
Celsius▴32.342=Fahrenheit▴90.2156.↵
[9:19 user@ws hw]
註:本題如有使用浮點數的需求,請使用double做為相關變數的資料型態。
p3 配速計算
請設計一個C++語言的程式pace.cpp,讓跑者可以輸入路跑的里程距離以及所花費的時間,計算並輸出其配速後輸出。本題的執行結果可參考如下:
[9:19 user@ws hw] ./a.out↵
Distance(KM):42.5↵
Time(HH:MM:SS):04:38:02↵
6'32"▴per▴KM↵
[9:19 user@ws hw] ./a.out↵
Distance(KM):1.04↵
Time(HH:MM:SS):00:06:21↵
6'6"▴per▴KM↵
[9:19 user@ws hw] ./a.out↵
Distance(KM):7.09↵
Time(HH:MM:SS):00:40:03↵
5'38"▴per▴KM↵
[9:19 user@ws hw]
請注意配速的計算結果是跑者此趟每公里所花費的時間,其顯示格式為「分'秒"」。
註:本題如有使用浮點數的需求,請使用double做為相關變數的資料型態。
p4 驗證碼計算
請設計一個C++語言程式verify.cpp,讓COCORO公司的員工輸入一個由5位數字組成的代碼(可以由0開頭),並依據以下要求完成其驗證碼之計算並加以輸出(注意,在以下要求中,5位數之代碼由右到左依序被稱為第一位數d1、第二位數d2、…、第五位數d5):
- 將第一位數及第二位數相加後乘以第三位數(d1+d2)*d3
- 將第四及第五位數的數值相加(d4+d5)並乘以第五位數
- 將第1項的運算結果減去第2項的運算結果
- 將第3項的運算結果取絕對值
- 將第4項的運算結果的十位數做為驗證碼,並將其結果加以輸出
此題的執行結果可參考如下:
[9:19 user@ws hw] ./a.out↵
Please▴input▴ID:▴54321↵
The▴verification▴code▴of▴54321▴is▴3.↵
[9:19 user@ws hw] ./a.out↵
Please▴input▴ID:▴12345↵
The▴verification▴code▴of▴12345▴is▴2.↵
[9:19 user@ws hw] ./a.out↵
Please▴input▴ID:▴00000↵
The▴verification▴code▴of▴00000▴is▴0.↵
[9:19 user@ws hw]
p5 26進制數字轉換為10進制
假設有一個26進位的數字系統使用a、b、c、…、x、y、z等26個小寫的英文字母做為其數字符號,其中a為10進制的0、b為10進制的1、c為10進制的2、…、x為10進制的23、為10進制的24、z為10進制的25。請設計一個C++語言程式26to10.cpp,讓使用者輸入一個兩位數的26進制數字(請注意!本題的輸入一定會是兩位數的26進制數字),並將其轉換為10進制的數值後加以輸出。 此題的執行結果可參考如下:
[3:23 user@ws hw] ./a.out↵
aa↵
(aa)_26=(0)_10↵
[3:23 user@ws hw] ./a.out↵
ba↵
(ba)_26=(26)_10↵
[3:23 user@ws hw] ./a.out↵
ax↵
(ax)_26=(23)_10↵
[3:23 user@ws hw] ./a.out↵
wu↵
(wu)_26=(592)_10↵
[3:23 user@ws hw]