구조체 파일입출력좀 도와주세요 ㅠ
해지개
질문 제목 :
텍스트파일에 있는 값들을 구조체 변수에 각각 저장해주려고하는데 안되요ㅠ
for(i=0;i5;++i) /////////////////// 이 부분에서 텍스트내용 가지고 올려는데 안되네요.
{
fgets(d[i].cd_name,40,out);
fgets(d[i].name,25,out);
fscanf(out,%d,d[i].since);
fscanf(out,%d,d[i].won);
fscanf(out,%d,d[i].stay);
}
질문 내용 :
------------------------------소스-----------------------------------------
#includestdio.h
#includestdlib.hstruct abc
{
char cd_name[40];
char name[25];
int since;
int won;
int stay;
};int menu_display(struct abc *d);
void jaego(struct abc *d);
void sold(struct abc *d);
void ban(struct abc *d);
void end(struct abc *d);
void presskey(struct abc *d);int main(void)
{
int c,i;
struct abc d[5]={ {0},
{0},
{0},
{0},
{0}};
file *out;
out=fopen(sex.txt,r);
if(out==null)
{
printf(file open에 오류 발생);
exit(1);
}
for(i=0;i5;++i) /////////////////// 이 부분에서 텍스트내용 가지고 올려는데 안되네요.
{
fgets(d[i].cd_name,40,out);
fgets(d[i].name,25,out);
fscanf(out,%d,d[i].since);
fscanf(out,%d,d[i].won);
fscanf(out,%d,d[i].stay);
}
while((c=menu_display(d)))
{
switch(c)
{
case 1 : jaego(d);
break;
case 2 : sold(d);
break;
case 3 : ban(d);
break;
case 4 : end(d);
}
}
return 0;
}
int menu_display(struct abc *d)
{
int select;
system(cls);
printf(재고관리 program \n\n);
printf(1. 재고현황\n);
printf(2. 판매\n);
printf(3. 반품\n);
printf(4. 종료\n\n);
printf(번호를 입력하고 enter);
scanf(%d, &select);
return select;
}void jaego(struct abc *d)
{
int i;
system(cls);
printf(재고현황\n\n);
printf(no. 제목\t\t 가수/그룹\t 년도 가격 재고\n);
printf(------------------------------------------------------------------------\n);
printf(%d %s\t\t %s %d %d %d,0,d[0].cd_name,d[0].name,d[0].since,d[0].won,d[0].stay);
printf(\n);
printf(%d %s\t\t %s %d %d %d,1,d[1].cd_name,d[1].name,d[1].since,d[1].won,d[1].stay);
printf(\n);
printf(%d %s %s %d %d %d,2,d[2].cd_name,d[2].name,d[2].since,d[2].won,d[2].stay);
printf(\n);
printf(%d %s %s %d %d %d,3,d[3].cd_name,d[3].name,d[3].since,d[3].won,d[3].stay);
printf(\n);
printf(%d %s %s \t %d %d %d,4,d[4].cd_name,d[4].name,d[4].since,d[4].won,d[4].stay);
printf(\n);
printf(\n아무키나 누르면 main으로 return ...);
getch();
}
void sold(struct abc *d)
{
int no,stay;
jaego(d);
printf(판매할 cd번호를 입력하고 enter);
scanf(%d,&no);
printf(판매할 cd의 수량을 입력하고 enter);
scanf(%d,&stay);
d[no].stay-=stay;
printf(\n아무키나 누르면 main으로 return ...);
getch();
}
void ban(struct abc *d)
{
int no,stay;
jaego(d);
printf(반품된 cd번호를 입력하고 ent하고 enter);
scanf(%d,&no);
printf(반품된 cd의 수량을 입력하고 enter);
scanf(%d,&stay);
d[no].stay+=stay;
printf(\n아무키나 누르면 main으로 return ...);
getch();
}
void end(struct abc *d)
{
int i;
file *in;
in=fopen(sex.txt,w);
if(in==null)
{
printf(file open에 오류 발생);
exit(1);
} for(i=0;i5;++i)
{
fprintf(in,%s\n%s\n%d\n%d\n%d\n,d[i].cd_name,d[i].name,d[i].since,d[i].won,d[i].stay);
}
fclose(in);
}
void presskey(struct abc *d)
{
}----------------------------- 텍스트파일 내용--------------------------------------
meteora
linkin park
2003
13000
27
true
l`arc∼en∼ciel
2004
12700
15
cost to coast
westlife
2000
17000
17
shine/ride on
東方神起
2007
8400
28
eternal essence of music
휘성
2007
13500
30
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690627 | c 변수 선언후 변수값 저장안하고 출력 | 방방 | 2025-04-06 |
2690600 | 릴리즈 모드로 컴파일해서 다른 컴퓨터에서도 실행파일을 실행할수 있는 방법 알려주세요 (5) | 제나 | 2025-04-06 |
2690576 | bin파일 저장 | 다올 | 2025-04-06 |
2690547 | C언어 뒷부분이라 너무 어려워서요;; 프로그래밍 하나만 부탁드립니다 (4) | 그루터기 | 2025-04-05 |
2690517 | cygwin에서요.. (1) | 엘보어 | 2025-04-05 |
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |