코드에 오류가 있어서 그냥 수정해봤습니다.
살펴보세요...
#include <stdio.h>
#include <conio.h>
#define YES 1
#define MAX 2
int ctr = 0;
int month[MAX];
int day[MAX];
int year[MAX];
main()
{
do{
printf("\nEnter information for Person %d.", ctr+1);
printf("\n\tEnter Birthday:");
do{
printf("\n\tMoth (0-12):");
scanf("%d",&month[ctr]);
}while (month[ctr] < 0 || month[ctr] > 12);
/* 바로 이부분!! month[ctr]<0 에서요 0 대신 1이상의수를 집어너차나요.. 그럼 컴파일후에 입력할때 문자"y,n,t.."등을 치면 그냥 무한루프가돼요.. 0을입력하면 2번돌다가 마는데요.. 미테꺼도 다 마찬가지예요
암만 책이 뚫어져라.. 모니터라 뚫어져라 쳐다봐도 이해가안가요.. 진짜 이해안가요 ㅠㅠ 도와주세요.. */
do{
printf("\n\nDay (0-31):");
scanf("%d",&day[ctr]);
}while(day[ctr]<0 || day[ctr]>31);
/* 바로 이부분!! day[ctr]<0 에서요 0 대신 1이상의 수.. 여기 */
printf("\nYear (1990-2000):");
scanf("%d",&year[ctr]);
}while(year[ctr]<0 || year[ctr]>2003);
/* 바로 이부분!! year[ctr]<0 에서요 0 대신 1이상의수.. 여기 */
getch();
}
김도진 님이 쓰신 글 :
: 우와 이거 진짜이해 안가요..
: 진짜 안가요 진짜..
: 진짜로 안가네요 ㅠ.ㅠ
:
: #include
: #define YES 1
: #define MAX 2
:
: int ctr,count;
: int month[MAX];
: int day[MAX];
: int year[MAX];
:
: main()
: {
:
: for(count=YES, ctr=0; ctr {
: printf("\nEnter information for Person %d.", ctr+1);
: printf("\n\tEnter Birthday:");
:
: do{
: printf("\n\tMoth (0-12):");
: scanf("%d",&month[ctr]);
: }while (month[ctr] < 0 || month[ctr] > 12);
:
: /* 바로 이부분!! month[ctr]<0 에서요 0 대신 1이상의수를 집어너차나요.. 그럼 컴파일후에 입력할때 문자"y,n,t.."등을 치면 그냥 무한루프가돼요.. 0을입력하면 2번돌다가 마는데요.. 미테꺼도 다 마찬가지예요
: 암만 책이 뚫어져라.. 모니터라 뚫어져라 쳐다봐도 이해가안가요.. 진짜 이해안가요 ㅠㅠ 도와주세요.. */
:
: do{
: printf("\n\nDay (0-31):");
: scanf("%d",&day[ctr]);
: }while(day[ctr]<0 || day[ctr]>31);
:
: /* 바로 이부분!! day[ctr]<0 에서요 0 대신 1이상의 수.. 여기 */
:
: printf("\nYear (1990-2000):");
: scanf("%d",&year[ctr]);
: }while(year[ctr]<0 || year[ctr]>2003);
:
: /* 바로 이부분!! year[ctr]<0 에서요 0 대신 1이상의수.. 여기 */
:
: }
: }
:
: 실행은 돼는데요 왜 0이 아니면 무한이돼는지 진짜로 알켜주쪠요.. ㅠ.ㅠ
|