Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2526] 질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요..
로터스 [] 1239 읽음    2003-05-01 16:23
자꾸 질문만 하니까 염치 없긴 한데, 따로 여쭤볼 사람이 없어서 또 여기 이렇게
질문을 올리게 되었습니다... ㅜ_ㅜ

정보처리실기 준비하면서 예제를 풀고 있는데요..
우선 소스는 아래와 같습니다.

------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXLEN 256

struct RecForm {
char Field01[7]; // 거래번호(6 바이트)
long Field02; // 단가(5 바이트) * 판매량(3 바이트)
} rec[1000];

void main(int argc, char *argv[])
{
static char Line[MAXLEN]; // 한 라인 저장
int i, j, Cnt, Start, End; // 첨자(i,j,Cnt), 인수1, 인수2
FILE *Infp, *Outfp; // 파일 포인터

static char Temp3[4], Temp5[6]; // 숫자필드 임시저장
long Danga, Panme, Point; // 단가, 판매량, 이익포인트

static char ExTemp1[7]; // 거래번호 정렬시 사용
long ExTemp2; // (단가*판매량) 정렬시 사용

Start = atoi(argv[1]); // 첫번째 파라미터
End = atoi(argv[2]); // 두번째 파라미터

// 입력파일을 입력전용(텍스트 모드)으로 연다.
Infp = fopen("C:\\C_iT\\Data\\abc0010.txt", "rt");

Cnt = 0; // 구조체 위치변수 초기화
// 입력부분(조건에 맞는 자료 배열에 저장)
for(i = 1; i <= End; i++) {
fgets(Line, MAXLEN, Infp);
if(i >= Start) {
Point = atol(strncpy(Temp3, Line+24, 3)); // 이익포인트
Danga = atol(strncpy(Temp5, Line+16, 5)); // 단가
Panme = atol(strncpy(Temp3, Line+21, 3)); // 판매량

if(Point >= 30) { // 이익포인트 30 이상
Cnt++;
strncpy(rec[Cnt].Field01, Line+0, 6); // 거래번호
rec[Cnt].Field02 = Danga * Panme; // (단가*판매량)
}
}
}

// (단가*판매량)의 값에 따라 정렬
for(i = 1; i <= Cnt-1; i++)
for(j = i+1; j <= Cnt; j++)
// 오름차순 정렬, 같은경우 거래번호의 오름차순 정렬
if((rec[i].Field02 > rec[j].Field02) ||
((rec[i].Field02 == rec[j].Field02) &&
(strcmp(rec[i].Field01, rec[j].Field01) > 0))) {
strcpy(ExTemp1, rec[i].Field01); // 거래번호 교환
strcpy(rec[i].Field01, rec[j].Field01);
strcpy(rec[j].Field01, ExTemp1);

ExTemp2 = rec[i].Field02; // (단가*판매량) 교환
rec[i].Field02 = rec[j].Field02;
rec[j].Field02 = ExTemp2;
}

// 입력파일을 닫는다.
fclose(Infp);

// 출력파일을 출력전용(텍스트모드)으로 연다.
Outfp = fopen("C:\\C_iT\\Data\\ans1.txt", "wt");
// 출력파일에 결과값을 출력한다. - 5번째 거래번호
fprintf(Outfp, "%d %d %s\n", Start, End, rec[5].Field01);
// 출력파일을 닫는다.
fclose(Outfp);
}

-----------------------------------------------------------------------------------

여러분들의 도움을 받아, 이제 compile은 에러가 없이 잘 끝납니다.
build도 잘 되구요. 근데 문제는 이제 실행이 안되네요.
Visual C++로 했는데요(이걸로 시험보거든요), fgets 쯤에서 문제가 있다고
그러는것 같은데, 아무리 봐도 모르겠네요. abc0010.txt 파일에 문제가
있는 것 같진 않구요...(그건 인력공단 측에서 제공하는 파일이니깐요)
인수를 안넣어 줘서 그런가, 해서
도스 모드로 나가서 c:\C_iT\Data>p1.exe 1 10
이렇게 해봐도 똑같이 에러가 나구요....

이제 예제 첫번째꺼 하는데 너무 걸림돌이 많이 생기네요.
이부분만 넘어가면 이제 술술 잘 될것만 같은데...!!

그럼 도움 부탁드립니다.

아참, 아래는 abc0010.txt 파일의 내용입니다(길어서 일부만..)

--------------------------------------------------------------------

990001 4B 75002A 800 21 1Aaddx 38
990002 4A 75009C 800 52 28Bstch 24
990003 8B 75005B 1600 22 30Cgali 43
990004 7C 75010A 1400 10 1Amiat 31
990005 6C 75002B 1200 57 14Boran 88
99000610A 75005C 2000 56 30Csj24 76
990007 3B 75005C 600 29 20Akor2 70
990008 6A 75001B 1200 6 15Bvsky 39
990009 7B 75007A 1400 61 1Ckimd 81
990010 8C 75010A 1600 4 8Ablue 53
990011 6C 75001A 1200 44 26Bmoja 67
990012 9A 75002C 1800 9 29Cbleu 78
990013 8B 75010B 1600 78 31Alore 80
990014 8A 75003A 1600 10 24Boldn 94
990015 7B 75001B 1400 68 32Csire 55
990016 8C 75004C 1600 6 12Aklaa 81
990017 8C 75010C 1600 90 13Brsh1 43
990018 6A 75002B 1200 79 19Cvict 77
990019 7B 75005A 1400 82 19Apopy 63
990020 3A 75005A 600 50 25Bkbsu 1
990021 2B 75002A 400 76 2Cequi 8
990022 6C 75009C 1200 34 21Aschn 24
990023 4C 75004B 800 20 15Btess 45
990024 6A 75007A 1200 41 35Cmula 7
990025 3B 75006B 600 99 22Alyj2 49
99002610A 75004C 2000 66 1Bnetm 63
990027 4B 75010C 800100 20C21nj 98
990028 6C 75006B 1200 33 35Abrea 59
99002910C 75006A 2000 16 33Bminh 19
990030 7A 75002A 1400 36 32Cseac 23
990031 2B 75002A 400 15 26Asimo 32
990032 5A 75002C 1000 10 10Bsonn 15
990033 8B 75001B 1600 58 29Cmrsw 45
990034 3C 75004A 600 74 9Asoyo 43
990035 4C 75010B 800 99 18Blswp 32
990036 5A 75007C 1000 69 30Cbums 11
990037 5B 75010C 1000 29 26Agibb 51
990038 2A 75006B 400 57 9Bmaxp 67
990039 7B 75001A 1400 94 15Chuff 27
990040 6C 75008A 1200 94 35Asand 2
990041 1C 75005A 200 61 5Bblui 72
990042 2A 75007C 400 60 29Csd95 62
990043 8B 75002B 1600 98 28Aksg6 97
990044 7A 75003A 1400 12 24Blks5 83
99004510B 75009B 2000 51 12Cddae 9
990046 3C 75004C 600 70 30Apaco 93
990047 4C 75009C 800 71 6Bsgtj 1
990048 7A 75004B 1400 64 27Cbest 64
99004910B 75008A 2000 12 28Ahead 17
990050 7A 75006A 1400 25 25Byouo 31
990051 8B 75009A 1600 27 28Csoor 78
990052 7C 75009C 1400 15 18Aonta 30
99005310C 75005B 2000 80 17Bmiss 84
990054 1A 75005A 200 32 11Cfore 53
99005510B 75001B 2000100 35Akym3 89
990056 4A 75003C 800 54 35Bdrea 51
990057 3B 75010C 600 1 16Cmyiq 81
99005810C 75004B 2000 20 27Adawn 3
99005910C 75003A 2000 62 1Bgig2 32
990060 7A 75002A 1400 51 26Cnmrp 90
990061 9B 75004A 1800 40 8Agili 60
990062 2A 75004C 400 99 9Bdegu 58
990063 6B 75010B 1200 89 13Cbank 12
990064 4C 75004A 800 85 9Ascot 2
990065 2C 75005B 400 4 21Bdure 66
990066 7A 75008C 1400 28 17Csimo 70
990067 6B 75007C 1200 64 3Asaji 33
990068 3A 75007B 600 84 25Bbotd 70
990069 5B 75003A 1000 99 12Clyji 57
990070 4C 75008A 800 54 11Asara 66
990071 2C 75005A 400 82 28Bamee 76
990072 5A 75006C 1000100 35Ckcch 50
990073 5B 75004B 1000 5 6Aimno 89
990074 7A 75007A 1400 66 31Byang 78
99007510B 75005B 2000 60 29Ccyan 95
990076 9C 75008C 1800 18 7Ak606 30
990077 9C 75002C 1800 9 21Bpatr 47
990078 3A 75002B 600 50 6Cqwer 30
990079 2B 75002A 400 26 22Akiml 32
990080 7A 75010A 1400 18 7Boldb 82
990081 2B 75003A 400 5 20Cccom 51
990082 9C 75005C 1800 28 13Apolt 52
990083 8C 75003B 1600 8 7Bstud 42
990084 8A 75002A 1600 57 22Cwolf 99
990085 5B 75002B 1000 17 23Aille 9
990086 5A 75005C 1000 69 16Btimr 66
990087 9B 75009C 1800 2 3Cstyl 69
990088 8C 75001B 1600 93 3Afort 28
990089 6C 75007A 1200 58 17Bleen 11
990090 7A 75001A 1400 59 27Corfe 70
990091 6B 75007A 1200 16 5Aqhho 10
990092 9A 75004C 1800 42 13Bysk7 37
990093 6B 75005B 1200 45 28Cjooj 16
990094 8C 75010A 1600 82 35Apeti 65
990095 3C 75008B 600 26 17Bbiod 1
990096 4A 75001C 800 11 16Crome 2
990097 9B 75004C 1800 16 30Apcpr 35
990098 1A 75003B 200 22 11Bsted 54
990099 5B 75009A 1000 24 30Cmono 33
99010010C 75010A 2000 95 6Ayban 99
990101 5C 75006A 1000 3 6Bosh1 54
990102 6A 75001C 1200 96 25Cajan 90

--------------------------------------------------------------------------------

+ -

관련 글 리스트
2526 질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 로터스 1239 2003/05/01
4035     Re:질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 로터스 1056 2003/05/01
4034     Re:질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 정성훈.해미 1014 2003/05/01
4033     Re:질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 정성훈.해미 1054 2003/05/01
4032     Re:질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 정성훈.해미 1021 2003/05/01
4031     Re:질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 정성훈.해미 1020 2003/05/01
4030     Re:질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 정성훈.해미 985 2003/05/01
4029     Re:질문 드립니다.. 컴파일은 잘 되는데 실행에서 에러가 나요.. 정성훈.해미 1040 2003/05/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.