프로그램이 돌아가지 않아요 ㅠㅠ
파도
질문 제목 : 프로그램이 돌아가지 않아요 ㅠㅠ 컴파일했을때는 성공했다고 나와서 돌렸더니
라고 떠요. 그리고 소수부분을 이진수 십진수로 서로 바꾸려고 하는데 맞는지 좀 봐주세요!
질문 내용 :
#include stdio.h
int square(int a, int b);
int binary[100];// 이진수로 저장할 것.
int main()
{
double s; // ten del, ten del, w를 나타내기 위한 변수
int i, j,n;// 이진수 표현할때 쓰는 변수
int k,decimal=0;
int w; // 나중에 2를 곱할때 생기는 정수값
double tendel; // tendel은 소수인 십진수
double tendelw = tendel-w; // w를 빼고 남은 소수값
printf(이진수-십진수 : 1 \n);
printf(십진수-이진수 : 2 \n);
printf(를 눌러주세요^^* :);
scanf_s(%d, &n);
if(n==1)
{
printf(종료하려면 0,1외의 아무양수나 입력하세요.\n);
printf(이진수를 입력하여주세요: );
while(1)
{
scanf_s(%d, &binary[i]);
if(binary[i]1)
break;
i++;
}
for(j=i-1;j=0;j--)
{
decimal=decimal+(binary[j]*square(1/2,k));
k++;
}
for(j=0;ji;j++)
{
printf(%d, binary[j]);
}
printf(은(는) %d입니다.\n, decimal);
}if(n==2)
{
printf( 소수인 십진수를 입력하세요);
scanf_s( %lf, &tendel);
printf( %lf은(는) , tendel);
while(tendelw0)
{
s=tendel*2.0;
s=w+tendelw;
binary[i]=w;
tendelw=tendel;
i++;
}
for(j=i-1;j=0;j--)
{
printf(%d, binary[j]);
}
printf( 입니다.\n);
}
}
int square(int a, int b)
{
int square=1,i;
if(b==0)
{
return 1;
}
for(i=0;ib;i++)
{
square=square*a;
}
return square;
}
-
미즈 2023-09-24
아마 에러 부분 보니
w를 초기화 시키지 않았다고 하네요,
w=XX 하여 초기화 하세요