subject

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<10){
/**
* Now suppose hr is less then 10 then we know that in final answer
* if hr is 7 then we need "07".
* So if hr < 10 then we add extra 0 at start of c string.
*/
c+="0";
}

/**
* 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< /**
* Finally we update the c string as required and return it at the end.
*/
c=c+hour. str()+s. substr(2,6);
return c;

}
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< return 0;
}

OUTPUT::

Test Case 1::

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

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);

ansver
Answers: 2

Another question on Computers and Technology

question
Computers and Technology, 21.06.2019 17:20
The thickness of a part is to have an upper specification of 0.925 and a lower specification of 0.870 mm. the average of the process is currently 0.917 with a standard deviation of 0.005. determine the percentage of product above 0.93 mm.
Answers: 3
question
Computers and Technology, 23.06.2019 13:30
Drag the tiles to the correct boxes to complete the pairs. match the errors with their definitions. #name #value #ref when a formula produces output that is too lengthy to fit in the spreadsheet cell arrowright when you enter an invalid cell reference in a formula arrowright when you type text in cells that accept numeric data arrowright when you type in a cell reference that doesn’t exist arrowright reset next
Answers: 1
question
Computers and Technology, 23.06.2019 18:30
Report all segments of identity by descent longer than 20 polymorphisms between pairs of individuals in the following cohort of 15 individuals across 49 polymorphisms: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 numeric input 2 points possible (graded) you have 2 attempts to complete the assignment below. for example if the sequence is "bcd", which occurs in "abcdef" , the starting point would be 2 (b), and the finishing point would be 4(d). individuals 7,10 between positions
Answers: 1
question
Computers and Technology, 23.06.2019 20:40
On nba 2k 19, every time i try to join a my park game, it leads ro a website telling my dad that he needs ps plus. i already have ps plus though. how do i fix this?
Answers: 2
You know the right answer?
Time Conversion C++: Given a time in -hour AM/PM format, convert it to military (24-hour) time.
Questions
Questions on the website: 13722363