다른 사람과 비교하니 구조가 너무 다르군... 나만 링크드 리스트로 짰나... ? : 문이 이렇게 좋은줄 이제서야 알다니. 아무튼 미완성. 생각도 안하고 소스 짜고... 컴파일러도 없어서 메모장에서 작업하고... 조금만 더 짜면 될테지만 미완성 부분 완성시켜도 메모장에서 소스 짜버려 제대로 돌아갈지도 의문이고... 그래서 나온 버그 잡을바에 새로 코딩하는게 나을테고 !@#!$$@#^%!^$!% 아무튼... 밥이나 먹자. 사랑스러운 나의 밥. {{{~cpp #include #include #include #include int check(int array[]); void print_card(); typedef struct _home { struct _home *next; struct _home *prev; int num; char name[20]; } HOME; HOME *head; head = (HOME *)malloc(sizeof(HOME)); main(int argc, char *argv[]){ FILE *fp; int i, j; HOME *buf = head; int array[52]; // 다음 체크할 배열. int count; // 총 몇 번 체크해야하는가? char itoa_buf[3]; if(argc != 2) fprintf(stderr, "Usage: %s input_file", argv[0]), exit(1); if((fp=fopen(argv[1], "ra") == NULL) fprintf(stderr, "fopen error(%s)", argv[1]), exit(1); strcpy(head->name, "2 of Clubs"); for(j=1; j<=4; j++){ for(i=1; i<=13; i++){ if(i==1 && j ==1) continue; buf->next = (HOME *)malloc(sizeof(HOME)); buf->next->prev = buf; buf = buf->next; itoa(itoa_buf, i+1, 10); // 카드 초기화. sprintf(buf->name, "%s of %s", i==10?"Jack":i==11?"Queen":i==12?"King":i==13?"Ace":itoa_buf, j==1?"Clubs":j==2?"Diamonds":j==3?"Hearts":"Spades"); } } // 52개의 순서 초기화. (따로 밖으로 내는게 편하다는 생각이 든다.) buf = head; for(i=0; i<52; i++){ buf.num = array[i]; buf = buf->next; } ############################################ // (count - 1) 번 체크 (미완성) // File에서 array로 바뀐 것을 읽어와 함수를 수행 하는 것을 count-1번 반복한다. for(i=1; iname); buf=buf->next; } } }}}