Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Time Conversion C++: Given a time in -hour AM/PM format, convert it to military (24-hour) time. Note: Midnight is 12:00:00AM on a 12-hour clock, and

Time Conversion C++: Given a time in -hour AM/PM format, convert it to military (24-hour) time.

Note: Midnight is 12:00:00AM on a 12-hour clock, and 00:00:00 on a 24-hour clock. Noon is 12:00:00PM on a 12-hour clock, and 12:00:00 on a 24-hour clock.

Input Format

A single string containing a time in -hour clock format (i.e.: or ), where and .

Output Format

Convert and print the given time in -hour format, where .

Sample Input

07:05:45PM 

Sample Output

19:05:45

Note: Midnight is 12:00:00AM on a 12-hour clock, and 00:00:00 on a 24-hour clock. Noon is 12:00:00PM on a 12-hour clock, and 12:00:00 on a 24-hour clock.

Input Format

A single string containing a time in -hour clock format (i.e.: or ), where and .

Output Format

Convert and print the given time in -hour format, where .

Sample Input

07:05:45PM 

Sample Output

19:05:45

Explanation::

Code in C++ is given below.

Please read all the comments for better understanding of the code.

Screenshots of the output are provided at the end of the code.

Code in C++::

#include #include #include #include using namespace std;

string timeConversion(string s){ /** * Following two strings are declared named d and c respectively. * String c will be storing the converted format time and we will return * c as the answer. */ string d,c="";

/** * String d stores "PM" or "AM" */ d=s.substr(8,2);

/** * An integer named hr is declared below and it stores * the hh part of string hh:mm:ssPM in integer format. */ int hr=atoi(s.substr(0,2).c_str());

if(hr==12 && d=="AM"){ /** * Now suppose hr is 12 and its AM then we know that it's * midnight and so hr must be 0. */ hr=0; } if(d=="PM" && hr!=12){ /** * Suppose d is "PM" and hr is not 12 then we add 12 into hr. */ hr+=12; } if(hr

/** * Now we convert hr back to string using stringstream. * A variable named hour is declared and we convert hr to string as follows. */ stringstream hour; hour

} int main(){ /** * A string named s is declared and using cin we scan the string. */ string s; cin>>s; /** * Below we call the function and pass string s as parameter. * Whatever function returns, it is printed. */ cout

OUTPUT::

Test Case 1::

image text in transcribed

Could you please give another example of the atoi method? Also, please explain the following line of source code:

int hr=atoi(s.substr(0,2).c_str());

What is c_str()?

Is there a simpler way to convert the int variable hr to a string type? Why use stringstream in the first place?

stringstream hour; hour

Why do we need to type .str after the variable name "hour"? Does s.substr(2,6) "capture" or gets the 2nd to the 6th element of the string s? Why did the string s get shorter? Initially, the string has a length of 10 elements and now the string s is only needed from the 2nd element to the 8th element? What happened to "AM" or "PM"?

c=c+hour.str()+s.substr(2,6);

CAChegg\Clock.exe 07:05:45PM 19:05:45 Process returned ? (0x0) execution time : 28.842 s Press any key to continue

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Datacasting How To Stream Databases Over The Internet

Authors: Jessica Keyes

1st Edition

007034678X, 978-0070346789

More Books

Students also viewed these Databases questions