이 프로그램의 문제해결을 도와주세요(연결리스트, linked_list, 파일처리)
스콜피온
질문 제목 : 소스 구현중 힘든 부분을 도와주셨으면 합니다. 아래의 소스에서 어딜 바꿔야하는걸까요...질문 내용 :
제가 질문드리고 싶은 것은...
- 텍스트파일의 첫줄 내용때문에 다음 입력이 되지 않습니다.
- 아래의 소스에서 무엇이 문제인지 프로그램이 정상으로 작동하지 않습니다.
결론 : 정상적인 작동이 되지 않았던 이유와, 정상작동을 위해 어디를 어떻게 바꿔야할지 알려주셨으면 합니다.입력받은 파일 형식
3. 텍스트파일은 scr.txt 이고,
내용 형식은 아래와 같습니다.
3
숫자 문자 문자 문자
숫자 문자 문자 문자
숫자 문자 문자 문자여기서 맨 첫줄의 3때문에 문제가되어 읽지를 못하고 있는 것인지
아니면 그 외 추가적은 문제가 더 있는지는 저로선 찾을 수가 없었습니다.
-----------------------------------------------------소스----------------------------------------------------------
// 1202tump.cpp : defines the entry point for the console application.
//
#include stdafx.h
#include stdio.h
#include stdlib.h
#include string.h
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
struct pscore{
int num;
char *name;
char *sx;
char *adr;
struct pscore *next;
};
typedef struct pscore pscr;
typedef pscr * pst;
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
pst crtnode(int num, char *name, char *sx, char *adr);
pst append(pst, pst);
int prt(pst head);
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
file *fpt;
char fn[]= scr.txt;
int num=0;
char name[20];
char sx[5];
char adr[100];
pst head = null;
pst cur;
if((fpt = fopen(fn,r)) == null)
{
printf(생성불가\n);
exit(1);
}
while(!feof(fpt))
{
fscanf(fpt, %d%s%f%f\n, num, name, sx, adr);
cur = crtnode(num, name, sx, adr);
head = append(head, cur);
}
prt(head);
fclose(fpt);
return 0;
}
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
pst crtnode(int num, char *name, char *sx, char *adr)
{
pst cur;
cur = (pscr *) malloc( sizeof(pscr));
cur-name = (char *) malloc( sizeof(char) * (strlen(name)+1) );
cur-sx = (char *) malloc( sizeof(char) * (strlen(sx)+1) );
cur-adr = (char *) malloc( sizeof(char) * (strlen(adr)+1) );
strcpy(cur-name, name);
strcpy(cur-sx, sx);
strcpy(cur-adr, adr);
cur-num = num;
cur-next = null;
return cur;
}
pst append(pst head, pst cur)
{
pst nextnode = head;
if(head == null){
head = cur;
return head;
}
while (nextnode-next != null){
nextnode = nextnode-next;
}
nextnode-next = cur;
return head;
}
int prt(pst head)
{
int cnt=0;
pst nextnode = head;
while (nextnode != null)
{
printf(%d번째입력\n, ++cnt);
printf(%5d%10s%8.1f%8.1f\n, nextnode-num, nextnode-name, nextnode-sx, nextnode-adr);
nextnode = nextnode-next ;
}
return 0;
}
---------------------------------------------------------------------------------------------------------------------
여기까지가 일단 제가 구현한 소스입니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |