void input(int &hours24, int &minutes) {
cin >> hours24 >> ":" >> minutes; // 錯誤:":" 無法直接讀入 int
}
cin 遇到非數字字符會進入失敗狀態,需讀取字符變量跳過分隔符。
#include <iostream>
using namespace std;
void input(int &hours, int &minutes) {
char colon;
cin >> hours >> colon >> minutes; // 讀取 ':' 到 colon 變量
}
void convert(int &hours, char &m) {
if (hours < 12) ampm = 'A';
else {
hours -= 12;
ampm = 'P';
}
}
void output(int hours, int minutes, char ampm) {
cout << hours << ':' << minutes << ampm << endl;
}
int main() {
int h, m; char ap;
input(h, m);
convert(h, ap);
output(h, m, ap);
return 0;
}
HH:MM(如 13:30),否則需增加錯誤處理。main 返回 int,符合 C++ 標準。