C++24小時制轉換成12小時制

苦瓜黃瓜金銀花發表於2020-12-12

英文題目(老師給的原版題目):

Write a program that converts from 24-hour notation to 12-hour notation.For example,it should convert 14:25 to 2:25 PM.The input is given as two integers.There should be at least three functions,one for input,one to do the conversion,and one for output.Record the AM/PM information as a value of type char,’A’ for AM and ‘P’ for PM.Thus,the function for doing the conversions will have a call-by-reference formal parameter of type char to record whether it is AM or PM.(The function will have other parameters as well.)Include a loop that lets the user repeat this computation for new input values again and again until the user says he wants to end the program.

中文題目(簡單翻譯一下):

將24小時制轉換為12小時制的程式。例如,它應該將14:25轉換為2:25 PM。輸入是兩個整數。應該至少有三個函式,一個用於輸入,一個用於轉換,一個用於輸出。將AM/PM資訊記錄為char型別的值,’ A '表示AM, ’ P '表示PM。因此,用於進行轉換的函式將具有一個char型別的按引用呼叫形參,以記錄它是AM還是PM。(該函式還有其他引數。)包含一個迴圈,讓使用者對新的輸入值一次又一次地重複這個計算,直到使用者說他想結束程式。

程式碼:

#include <iostream>

using namespace std;
int time_24_hour,time_24_minute,time_12_hour,time_12_minute;

void Input(){
    cout<<"請輸入時間(24小時制,小時和分鐘之間用空格區分):"<<endl;
    cin>>time_24_hour;
    cin>>time_24_minute;
    if(time_24_minute<0||time_24_hour<0||time_24_hour>24||time_24_minute>60){
        cout<<"輸入錯誤程式退出!"<<endl;
        exit(0);
    }
}

void Output(){
    char time_quanyum;
    if(time_24_hour>=12){
        time_quanyum='P';
    }
    else{
        time_quanyum='A';
    }
    if(time_12_minute<10){
        cout<<"轉換成12小時制之後的時間為 "<<time_12_hour<<":0"<<time_12_minute<<" "<<time_quanyum<<endl;
    }
    else{
        cout<<"轉換成12小時制之後的時間為 "<<time_12_hour<<":"<<time_12_minute<<" "<<time_quanyum<<endl;
    }
}

void Conversion(){
    if(time_24_hour<=12){
        time_12_hour=time_24_hour;
    }
    else{
        time_12_hour=time_24_hour-12;
    }
    time_12_minute=time_24_minute;
}


int main() {
    char choice;
    do{
        Input();
        Conversion();
        Output();
        cout<<"是否繼續轉換?(y或n)"<<endl;
        cin>>choice;
        if(choice!='y'&&choice!='n'){
            cout<<"輸入錯誤程式退出!"<<endl;
            exit(0);
        }
    }while(choice=='y');
    cout<<"退出成功!"<<endl;
    return 0;
}

相關文章