U E D R , A S I H C RSS

주민등록번호확인하기/김태훈zyint

-_- ;;;

;;
- ;; ;

- 팩토

~cpp 
#include <stdio.h> 
#include <string.h>

#define TRUE 1
#define FALSE 0


int is_int(char c);
void intval(char* from);


int main(int argc, char* argv[])
{
	int i;
	char jumin[13];
	int chk;

	while(1)
	{
		chk=TRUE;
		printf("호 13 (하픈 '-' ) : ");
		scanf("%s",jumin);
		
		//13
		if(strlen(jumin)!=13) chk=FALSE;

		//  
		for(i=0;i<13;i++)
		{
			if(!is_int(jumin[i]))
			{
				printf(" \n\n");
				chk=FALSE;
				break;
			}
		}

		//chk true  
		if(chk) break;
	}

	intval(jumin);


	chk = 0;
	for(i=0;i<=7;i++)  chk += jumin[i] * (i+2);
	for(i=8;i<=11;i++) chk += jumin[i] * (i-6);

	chk = 11-chk%11;
	
	if(jumin[12]==chk) 
		printf(" ~ ^^ !\n");
	else
		printf(" ???? -_-;; \n");


	return 0;
}


int is_int(char c)
{
	int int_c;
	int_c=(int)c;
	
	// 
	if(int_c>=48 && int_c<=57) return TRUE;
	return FALSE;
}

void intval(char* from)
{
	int i;
	for(i=0;i<13;i++)
	{
		*(from) = (int)*(from++) - 48;
	}

}

- 팩토

~cpp 
#include <stdio.h> 
#include <string.h>

#define TRUE 1
#define FALSE 0

int is_int(char* c);
void intval(char* from);
void chk_jumin(char* jumin);
int chk_input(char *jumin);


int main(int argc, char* argv[])
{
	char jumin[13];
	int chk;

	while(1)
	{
		printf("호 13 (하픈 '-' ) : ");
		scanf("%s",jumin);
		
		chk = chk_input(jumin); // 13,    TRUE
		if(chk) break;//TRUE  
	}

	
	intval(jumin); //  
	chk_jumin(jumin); //크 
	

	return 0;
}


int is_int(char* c)
{
	int int_c, i, chk=TRUE;
	int_c=(int)*(c++);
	
	// 
	for(i=0;i<13;i++)
	{
		if(!(int_c>=48 && int_c<=57)) chk=FALSE;	
	}

	return chk;
}

void intval(char* from)
{
	int i;
	for(i=0;i<13;i++)
	{
		*(from) = (int)*(from++) - 48;
	}

}

void chk_jumin(char* jumin)
{
	int i, chk=0;

	for(i=0;i<=7;i++)  chk += *(jumin++) * (i+2);
	for(i=8;i<=11;i++) chk += *(jumin++) * (i-6);

	chk = 11-chk%11;

	if(*jumin==chk)
		printf(" ~ ^^ !\n");
	else
		printf(" ???? -_-;; \n");

}

int chk_input(char *jumin)
{
	int chk=TRUE;

	if(strlen(jumin)!=13) //13 크
		chk=FALSE;
	else
		chk = is_int(jumin); //   크

	return chk;
}

한테 할

히 13 33 ..ㅎㅎㅎ !!^^
- -_-; 크 해큐 - 태훈


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