U E D R , A S I H C RSS

진법바꾸기/김영록

소 감


코딩시간이 매우 오래걸렸다.
함수를 만들어 쓰는데 익숙하지 않아 최대한 함수를 많이 이용하는쪽으로 하려다보니
매우 오래걸린것 같고 다분히 놀러갔다와서 ㅡ,.ㅡ 머리가 돌인된것 같기도
하는듯...

코 드

~cpp 
#include <stdio.h>
static int input_10,input_num;
int get_maxjarisu(int num1,int num2);
int get_jegob(int num,int count);
void behavior(int num1,int num2);
int get_count(int num1,int num2,int num3);

/*/////////////////////////////////////////
get_maxjarisu 최대 자리수 얻기 함수
기능 : 숫자,진법 값을 받아 최대 자리숫자를 얻는다 
최대자리숫자는 나중에 출력부분에서 for 문에 쓰이게 된다.
////////////////////////////////////////*/

int get_maxjarisu(int num1,int num2)// num1 = 숫자 num2 = 진법
{
int count=1;
int dividing; 
while(1)
{
	dividing = get_jegob(num2,count);
	if (num1>=dividing){
		count++;
		
	}
    else{
	break;    
	} 
}
return count;
}
/*////////////////////////////////////////
get_count  자리수의 값 얻기 함수
기능 : 각자리의 숫자의 값을 얻는다
return 값은 진법<--보다 항상 작다
응용 : 원하는 자리의 수의 값을 얻을수 있다.
////////////////////////////////////////*/
int get_count(int num1,int num2,int num3) //num1 = 숫자 ,num2 = 진법,num3 = 자리수
{
if (num3 ==1){
	return num1  % num2;
}
else{

 int temp;
 
 temp = num1 % get_jegob(num2,num3-1);
 
 num1 = num1 - temp; //나머지를 없앰으로서 소숫점을 남기지 않는다.
 
 
 return (num1 % get_jegob(num2,num3))/get_jegob(num2,num3-1);
}
}

/*////////////////////////////////////////
get_jegob 제곱함수
기능 : 단순이 제곱을 해주는 함수이다.

////////////////////////////////////////*/
int get_jegob(int num,int count) //num =제곱할수 num2 =제곱할횟수
{
	int i;
	int sum=1;
    for (i=0;i<count;i++)
	{
        sum=sum*num;
	}
	return sum;
}


/*////////////////////////////////////////
behavior  행동함수
기능 : for문으로 각자리숫자의 값을 output하는
기능을한다.
       
////////////////////////////////////////*/
void behavior(int num1,int num2) //num1 = 숫자 ,num2 = 나눌수
{   
	int i;
	int temp=0;

    for (i=get_maxjarisu(num1,num2);i>0;i--)
	{   
		temp = get_count(num1,num2,i);
		printf("%d ",temp);
		
		
		

	}

	printf("\n\n");
}
/*////////////////////////////////////////
main 말그대로 메인
////////////////////////////////////////*/

void main()
{


while(1)
{
printf("/////////////////////////\n");
printf("////////진법바꾸기///////\n");
printf("/////////////////////////\n");
printf("10진수 = ");
scanf("%d",&input_10);

if (input_10==0){
	break;
}


else{
printf("  진법 = ");
scanf("%d",&input_num);
if (input_num >=2 && input_num <=24){
printf("  결과 = "); 
behavior(input_10,input_num);
}

}



}
}

스크린샷

-_-./.사라졌네..

나한테 할 말


잘해야겟따.ㅠ

영록맨ㅋㅋ 스샷1.JPG 뭔가 잘못된듯? 혹시 스샷2.JPG 아니냐?ㅋㅋㅋ 큰수찾아 저장하기 예가 나온다. --아영
┗ 샒 정말이네 같은이름으로 저장해부렷다 ㅠ - 김영록
혹시 데블C++쓰니? 소스는 잘되 있는것 같은데..탭정렬이 영..;;ㅁ;;
알아보기 힘들다아아아아...OTL - 조현태
┗ 아 ;;; 아직까지 while(1){ <-- 요런식으로 쓰는게 익숙치 않아서
정렬이 안되네 ㅋ;; 지적고마우이 - 김영록

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:14
Processing time 0.0154 sec