注册 登录
编程论坛 C++教室

新手上路,请求帮助!

tymstill 发布于 2008-02-26 15:12, 738 次点击
//这是一个把秒转化显示为天,小时,分钟,秒的过程.如何写其中的转化过程,要求用const
#include <iostream>
const int HOUR_PER_DAY=24;
const int MINS_PER_HOUR=60;
const int SECS_PER_MINS=60;

int main()
{
    using namespace std;
    long seconds;
   
    cout<<"Enter the number of seconds: ";
    cin>>seconds;
    int day=seconds/SECS_PER_MINS/MINS_PER_HOUR/HOUR_PER_DAY; //本人的是笨人的实现过程,请高手指点更好的转化过程
    int hour=(seconds-day*24*60*60)/60/60;                    //这样写用const太长了,用了数字
    int minute=(seconds-day*24*60*60-hour*60*60)/60;
    int second=(seconds-day*24*60*60-hour*60*60-minute*60);
    cout<<seconds<<" seconds = "
        <<day<<" days,"
        <<hour<<" hours,"
        <<minute<<" minutes,"
        <<second<<" seconds";
    return 0;   
}

[[it] 本帖最后由 tymstill 于 2008-2-26 15:19 编辑 [/it]]
3 回复
#2
xfcyjhb2008-02-26 15:37
头痛啊
#3
lonmaor2008-02-26 16:40
这样会否好些?
程序代码:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    long seconds;
    int day,hour,minute,second;
   
    cout<<"Enter the number of seconds: ";
    cin>>seconds;
    second = seconds%60; seconds = (seconds-second)/60;
    minute = seconds%60; seconds = (seconds-minute)/60;
    hour   = seconds%24; day = (seconds-hour)/24;
    cout<<seconds<<" seconds = "
        <<day<<" days,"
        <<hour<<" hours,"
        <<minute<<" minutes,"
        <<second<<" seconds";
    system("PAUSE");
    return EXIT_SUCCESS;
}
#4
tymstill2008-02-27 08:44
你好,谢谢给我的解答!但是有点疑问?最后cout<<seconds的时候seconds已经不是输入时的值了?
1