2010년 4월 17일 토요일

좌표입력받아 박스 그리는 프로그램~

#include
#include

void gotoxy(int x, int y);
void draw(int,int,int,int);

void main(void)
{
int sx,ex,sy,ey; //좌표를 입력 받을 변수선언

/*좌표 입력 받기*/
while(1){

printf("sx좌표 입력(1~70) : ");
scanf("%d",&sx);

if( 1 <= sx && sx <= 70 ){ break;}
} //x시작좌표가 1~70사이를 넣을때 까지 반복

while(1){

printf("ex좌표 입력(%d~80) : ",sx);
scanf("%d",&ex);

if( sx <= ex && ex <= 80 ){ break;} //x끝좌표가 시작좌표보다 크고 80사이를 넣을때까지 반복
}

while(1){

printf("sy좌표 입력(1~20) : ");
scanf("%d",&sy);

if( 1 <= sy && sy <= 20 ){ break;} //y시작좌표가 1~20사이를 넣을때 까지 반복
}

while(1){

printf("ey좌표 입력(%d~20) : ",sy);
scanf("%d",&ey);

if( sy <= ey && ey <= 24 ){ break;} //y시작좌표가 1~20사이를 넣을때 까지 반복
}

system("cls");

draw(sx,ex,sy,ey);

}


void draw(int sx,int ex,int sy,int ey)
{
int i,j,k;

gotoxy(sx, sy);
for(i=1 ; i <= ex-sx+1; i++){ //사각형 윗줄 시작부터 끝까지
printf("*");
} //윗줄 출력

for(k=0 ; k <= ey-sy; k++){
gotoxy(sx,k+sy);
printf("*");
gotoxy(ex,k+sy);
printf("*");
} //왼쪽오른쪽 줄 출력
gotoxy(sx, ey);
for(j=1 ; j <= ex-sx+1; j++){
printf("*");
} //아랫줄 출력

printf("\n");

}

void gotoxy(int x, int y)
{
COORD Pos = {x - 1, y - 1};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}

댓글 없음:

댓글 쓰기