2016-06-16 2 views
-3

나이를 초 단위로 변환하는 데 문제가 있습니다. 그것은 잘못된 번호와 부정적인 것으로 나타납니다. 누군가 제발 도와 줄 수 있니?나이를 일,시, 분, 초로 변환

#include <iostream> 

using namespace std; 

int main() 

{ 
    int years; 

    years = years; 

    cout << "How many years have you lived: " ; 

    cin >> years; 

    cout << "You have lived: " << years; cout << " years:" << endl; 

    int days = 0.5 + (years * 365.25); 

    cout << days; cout << " days" << endl; 

    int hours = days * 24; 

    cout << hours; cout << " hours" << endl; 

    int minutes = hours * 60; 

    cout << minutes; cout << " minutes" << endl; 

    int seconds = minutes * 60; 

    cout << seconds; cout << " seconds" << endl; 

    return 0; 
} 
+1

'년 = 년 행을 제거하는 것을 잊지 마세요, 오래 오래 분오래 오래 초 대신 INT

그리고를 사용합니다'입니다 자동 저장 기간을 갖는 기본 초기화 변수에서 불확정 값이 사용되기 때문에 무의미하고 위험합니다. 그것을 제거하십시오. – MikeCAT

+1

문제는 구토에 넘칠 수 있습니다. 더 정밀도가 높은 유형을 사용해보십시오. – MikeCAT

+1

"잘못된 번호와 부정적 숫자가 나타납니다"는 유용한 문제 설명이 아닙니다. "여보세요? 마이크의 자동차 수리? 내 차가 작동하지 않아, 왜 그런 생각이 드나요?" –

답변

1

오버플로 문제로 인해 잘못된/네거티브 초가 표시됩니다. 은 큰 숫자 (초)를 유지할 수 없습니다.

그래서,

years = years; 
+1

'long long'이 알려지지 않았다면'long'으로 설정해도됩니다. –

관련 문제