Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ chuyển đổi giờ từ định dạng 12h sang 24h


Chương trình C++ này thực hiện chuyển đổi thời gian từ định dạng 12 giờ (có AM/PM) sang định dạng 24 giờ.

Thuật toán

Bắt đầu
  Trong hàm main():
  Nếu meridian = "pm"
    Kiểm tra nếu giờ nhập vào < 12
      Thì cộng 12 vào giờ và in ra định dạng 24h.
    Kiểm tra nếu giờ nhập vào = 12
      Thì in "00" làm giờ và in ra định dạng 24h.
  Ngược lại nếu meridian = "am"
    Kiểm tra nếu giờ nhập vào < 12
      Thì in trực tiếp định dạng 24h.
    Kiểm tra nếu giờ nhập vào = 12
      Thì in "12" làm giờ và in ra định dạng 24h.
  Ngược lại in "Lựa chọn sai".
Kết thúc

Ví dụ mã nguồn

#include <iostream>
#include <cstring>
#include <iomanip>
using namespace std;

int main() {
    int hours, minutes, seconds;
    char median[10];
    
    cout << "Nhap gio, phut, giay: ";
    cin >> hours >> minutes >> seconds;
    cout << "Nhap meridian (am/pm): ";
    cin >> median;
    
    cout << "Thoi gian 12h: "
         << setfill('0') << setw(2) << hours << ":"
         << setfill('0') << setw(2) << minutes << ":"
         << setfill('0') << setw(2) << seconds << median << endl;
    
    if (strcmp(median, "pm") == 0) {
        if (hours < 12) {
            cout << "Thoi gian 24h: "
                 << hours + 12 << ":"
                 << setfill('0') << setw(2) << minutes << ":"
                 << setfill('0') << setw(2) << seconds;
        } else if (hours == 12) {
            cout << "Thoi gian 24h: 12:"
                 << setfill('0') << setw(2) << minutes << ":"
                 << setfill('0') << setw(2) << seconds;
        }
    } else if (strcmp(median, "am") == 0) {
        if (hours < 12) {
            cout << "Thoi gian 24h: "
                 << setfill('0') << setw(2) << hours << ":"
                 << setfill('0') << setw(2) << minutes << ":"
                 << setfill('0') << setw(2) << seconds;
        } else if (hours == 12) {
            cout << "Thoi gian 24h: 00:"
                 << setfill('0') << setw(2) << minutes << ":"
                 << setfill('0') << setw(2) << seconds;
        }
    } else {
        cout << "Lua chon khong hop le";
    }
    return 0;
}

Đầu ra mẫu

Nhap gio, phut, giay: 12 07 06
Nhap meridian: pm
Thoi gian 12h: 12:07:06pm
Thoi gian 24h: 12:07:06

Nhap gio, phut, giay: 01 02 30
Nhap meridian: pm
Thoi gian 12h: 01:02:30pm
Thoi gian 24h: 13:02:30