구조체로 파일 입력과 출력 질문
영미
질문 제목 : 구조체로 파일 입력과 출력질문구조체로 파일 입력과 출력질문질문 내용 :
#include stdio.h
#include string.h
#include time.h
struct menu{
char file[50];
char time[100];
};
typedef struct menu menu;
menu m[100];
void main()
{
int i = 0, count = 0, start =0;
int x, z, n = 0;
char result;
while(1)
{
printf(1.자료입출력관리 \n);
printf(2.종료 \n);
printf(해당 번호를 입력하세요 : );
scanf(%d, &x);
fflush(stdin);
if(x==1)
while(1)
{
printf(\n 1-1자료입력\n 1-2자료검색\n 1-3이전메뉴\n );
printf(해당 번호를 입력하세요 : );
scanf(%d, &z);
fflush(stdin);
if(z==1)
{
char tmp[10] = {0};//, tmp2[10] = {0}, tmp3[10] = {0};
for(i = start; i 1; i++)
{
do{
printf(\n자료를 입력하세요:);
fflush(stdin);
gets(tmp);
}while(strlen(tmp) = sizeof(m[i].file));
strcpy(m[i].file, tmp);
do{
printf(시간);
time_t ltime;
struct tm *today;
time(<ime);
today = localtime(<ime);
strcpy(m[i].time, asctime(today));
printf(%s\n, m[i].time);
//system(pause);
}while(0);
start= i+1;
}
}
if(z==2)
{
printf(검색 할 자료의 이름을 입력하세요 :);
scanf(%c, &result);
for(i=start;i1;i++)
{
result=strcmp(m[i].file,m[i].time);
if(result==0)
printf(%c\n,m[i].file);
printf(%s\n,m[i].time);
break;
}
}
if(z==3)
{
break;
}
}
if(x==2)
{
break;
}
}
}
메뉴를 만들고 거기에 어떤 파일 이름을 입력하면 이름과 시간이 저장되고 메뉴에서 다시 검색을하면 파일과 저장된 시간을
출력하는 프로그램입니다. 입력을 한개씩 받고 다시 입력받을때는 +1을 시켜 다음 배열에 저장될수 있게 만들어봤습니다.
근데 생각대로 입력과 출력이 되질않네요. 수정할 부분이나 힌트좀 주시면 감사하겠습니다.
iv
-
바름
아 ㄳ합니다 한번더 수정해보겠습니다.
-
김예쁨
for문이 사라짐으로 i값의변화가 없어지기 때문입니다.
m[i].~ 이런식으로 쓰셨던걸 m[start].~ 이런식으로 쓰셔야 재대로 저장됩니다 :) -
눈
입력부분에서 for문을 빼고 한개씩 자료를 입력하고 start를 입력받을때마다 한개씩 올려주면 다음에 다시 입력부분을 들어가서 입력할땐 자동으로 다음배열에 자료가 저장되야 되는데 저장이 안됩니다. for문을 이용해 갯수를 지정해주면 만약 5개를 지정해주게되면 5개자료를 다입력해야되는데 그걸 방지하기위해서 한개씩 입력받은 방법을 선택햇는데 자료가 배열에 차레대로 입력되질 않습니다. 어떻게 수정해야될까요?