묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
c언어 질문이요..초보라서....
2004.09.22 00:46
#include <stdio.h>
int main(void)
{
double total, time2; //입력 될 실수를 total로 메모리를 할당
//time2는 분을 연산할때 실수형으로 나온 값을 저장하기 위해 실수
//메모리를 할당.
int date,hours,min; // 입력한 실수 형태의 상수를 요일,시간,분으로
//표현하기 위해 정수 선언문을 하고 메모리를 할당.
// day는 연산 된 요일의 값을 저장할 메모리를 할당.
printf("변환할 시간을 입력하십시요: ");//사용자 데이터 입력
scanf("%lf",&total);// 입력된 데이터 total로 저장
date=total/24; //total을 연산해 date에 정수 형태로 저장 <<===waring부분
hours=total%24; //total을 연산해 나머지 값에 정수만 hours에 저장 <<===waring부분
time2=total-(date*24+hours); //연산으로 인해 time2에는 실수로 저장
min=time2*60;//연산으로 인해 시간이 분으로 변환된 정수 저장 <<===waring부분
printf("%f Hours equals %d Day %d Hours and %d minutesn",total,date,hours,min);
//결과출력
return 0;
}
이걸 실행시키니깐
C:testtest3today.c(24) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
C:testtest3today.c(26) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
C:testtest3today.c(28) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
Linking...
test3.exe - 0 error(s), 3 warning(s)
이라는 말이 나오네여..대충은 무슨 말인지...더블에서 인트까지 데이터 손실이 있다는 말인거 같은데..
아시는분 리플 좀 빨리 달아주세여 급합니다. ㅜ,.ㅡ
어딜 수정해야할지...모르겠습니다. 도와주세여..
int main(void)
{
double total, time2; //입력 될 실수를 total로 메모리를 할당
//time2는 분을 연산할때 실수형으로 나온 값을 저장하기 위해 실수
//메모리를 할당.
int date,hours,min; // 입력한 실수 형태의 상수를 요일,시간,분으로
//표현하기 위해 정수 선언문을 하고 메모리를 할당.
// day는 연산 된 요일의 값을 저장할 메모리를 할당.
printf("변환할 시간을 입력하십시요: ");//사용자 데이터 입력
scanf("%lf",&total);// 입력된 데이터 total로 저장
date=total/24; //total을 연산해 date에 정수 형태로 저장 <<===waring부분
hours=total%24; //total을 연산해 나머지 값에 정수만 hours에 저장 <<===waring부분
time2=total-(date*24+hours); //연산으로 인해 time2에는 실수로 저장
min=time2*60;//연산으로 인해 시간이 분으로 변환된 정수 저장 <<===waring부분
printf("%f Hours equals %d Day %d Hours and %d minutesn",total,date,hours,min);
//결과출력
return 0;
}
이걸 실행시키니깐
C:testtest3today.c(24) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
C:testtest3today.c(26) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
C:testtest3today.c(28) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
Linking...
test3.exe - 0 error(s), 3 warning(s)
이라는 말이 나오네여..대충은 무슨 말인지...더블에서 인트까지 데이터 손실이 있다는 말인거 같은데..
아시는분 리플 좀 빨리 달아주세여 급합니다. ㅜ,.ㅡ
어딜 수정해야할지...모르겠습니다. 도와주세여..
//따라서 우측을 강제 형변환해주면 해결 될거 같네요.
date=(int)total/24; //total을 연산해 date에 정수 형태로 저장 <<===waring부분
hours=(int)total%24; //total을 연산해 나머지 값에 정수만 hours에 저장 <<===waring부분
time2=total-(date*24+hours); //연산으로 인해 time2에는 실수로 저장
min=(int)time2*60;//연산으로 인해 시간이 분으로 변환된 정수 저장 <<===waring부분