Answer to Question #4841 in C++ for Matt

Question #4841
write a program that ask the user to enter a number of seconds.
There are 60 seconds in a min. if the number of seconds entered by the user is greater than or equal to 60, the program should display the number of minutes in that many seconds.
There are 3,600 seconds in an hour. If the number of seconds entered by the user is greater than or equal to 3,600, the program should display the number of hours in that many seconds.
There are 86,400 seconds in a day. If the number entered by the user is greater than or equal to 86,400, the program should display that number of day in that many seconds.
1
Expert's answer
2011-10-25T12:32:26-0400
#include <iostream>
using namespace std;

long InSeconds; // why is this external?

const int HOURS_IN_DAY = 24; // it's good form to make
const int MINUTES_IN_HOUR = 60; // symbolic constants all caps
const int SECONDS_IN_MINUTE = 60;

int seconds; // why are all these external?
int minutes;
int hours;
int days;


int main()
{
long InMinutes, InHours ;

cout << "This program will turn your seconds into days,"
<< " hours, minutes and seconds." << endl;
cout << "Enter the amount of seconds:__________";
cin >> InSeconds;
/*
Compute seconds, minutes, hours, days in that order.
Trying to do it in reverse order is causing your problem
*/

// compute seconds
seconds = InSeconds % SECONDS_IN_MINUTE ;

// throw away seconds used in previous statement and convert to minutes
InMinutes = InSeconds / SECONDS_IN_MINUTE ;

// compute minutes
minutes = InMinutes % MINUTES_IN_HOUR ;

// throw away minutes used in previous statement and convert to hours
InHours = InMinutes / MINUTES_IN_HOUR ;

// compute hours
hours = InHours % HOURS_IN_DAY ;

// throw away hours used in previous statement and convert to days
days = InHours / HOURS_IN_DAY ;


cout << "That's " ;
if (days > 0)
cout << days << " days " ;
if (hours > 0)
cout << hours << " hours " ;
if (minutes > 0)
cout << minutes << " minutes " ;
if (seconds >0)
cout << seconds << " seconds " ;
cout << endl ;


return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS