C++ 程式將時間從 12 小時格式轉換為 24 小時格式


這是一個 C++ 程式,用於將時間從 12 小時格式轉換為 24 小時格式。

演算法

Begin
   In main(),
   If median = pm
      Check if entered hours is less than 12
         Then add 12 to hours and print the time in 24 hours format.
      Check if entered hours is equal to 12
         Then print “00” as hours and print the time in 24 hours format.
   Else If median=am
      Check if entered hours is less than 12
         Then print the time in 24 hours format.
      Check if entered hours is equal to 12
         Then print “12” as hours and print the time in 24 hours format.
   Else print wrong choice.
End

範例

#include<iostream>
#include<string.h>
#include <iomanip>
using namespace std;
int main() {
   int hours,minutes,seconds,h1,m1,s1;
   char median[10];
   cout<<"Enter hours, minutes, seconds:";
   cin>>hours;
   cin>>minutes;
   cin>>seconds;
   cout<<"Enter median:";
   cin>>median;
   cout<<"Time in 12 hour format:"<<setfill('0') << setw(2) <<hours<<":"<<setfill('0') << setw(2)
   <<minutes<<":"<<setfill('0') << setw(2) <<seconds<<median<<endl; //setw()=sets the field width,
   //setfill()=set character as the streams fill character.
   if(strcmp(median,"pm")==0) { //compare the strings "0" is for true "1" is for false.
      if (hours<12) {
         h1=hours+12;
         m1=minutes;
         s1=seconds;
         cout<<"Time in 24 hour format:" <<h1<<":"<<setfill('0') << setw(2) <<m1<<":"<<setfill('0') << setw(2) <<s1<<median;
      } else if(hours=12) {
         h1=12;
         m1=minutes;
         s1=seconds;
         cout<<"Time in 24 hour format:"<<h1<<":"<<setfill('0') << setw(2) <<m1<<":"<<setfill('0') << setw(2) <<s1<<median;
      }
   } else if(strcmp(median,"am")==0) {
      if (hours<12) {
         h1=hours;
         m1=minutes;
         s1=seconds;
         cout<<"Time in 24 hour format:"<<setfill('0') << setw(2) <<h1<<":"<<setfill('0') << setw(2) <<m1<<":"<<setfill('0') << setw(2) <<s1<<median;
      } else if(hours=12) {
         m1=minutes;
         s1=seconds;
         cout<<"Time in 24 hour format:"<<"00"<<":"<<setfill('0') << setw(2) <<m1<<":"<<setfill('0') << setw(2) <<s1<<median;
      }
   } else {
      printf("Wrong choice");
   }
}

輸出

Enter hours, minutes, seconds:12
07
06
Enter median:pm
Time in 12 hour format:12:07:06pm
Time in 24 hour format:12:07:06pm

Enter hours, minutes, seconds:01
02
30
Enter median:pm
Time in 12 hour format:01:02:30pm
Time in 24 hour format:13:2:30pm

Enter hours, minutes, seconds:10
10
03
Enter median:am
Time in 12 hour format:10:10:03am
Time in 24 hour format:10:10:03am

Enter hours, minutes, seconds:12
02
04
Enter median:am
Time in 12 hour format:12:02:04am
Time in 24 hour format:00:02:04am

更新於:2019 年 7 月 30 日

1K+ 瀏覽量

開啟您的 職業生涯

完成課程,獲得認證

開始
廣告