c가 잘안됩니다
#include
#include
#include
#include
#define MAX 25
#define START_NO 1
typedef struct study{
int num;
char name[MAX];
int phone;
char color[MAX];
} school;
int main()
{
int sel;
while(1) {
printf("1)help 2)insert 3)print 4)search 5)quit \n");
scanf("%d" ,&sel);
if (sel == 1)
help();
else if(sel == 2)
insert();
else if (sel == 3)
print();
else if (sel == 4)
search();
else if (sel == 5)
break;
}
return 0;
}
int help()
{
printf("-Help : 이화면을 출력\n");
printf ("-Insert : 자기학번으로 된 파일 생성,그곳에 append 한다");
printf(" -Print : 자기학번으로 된 파일을 출력한다.\n");
printf(" -Search : 값을 찾아서 출력해준다\n");
printf(" -Quit : 나가는 부분\n");
return ;
}
int insert()
{
int fd;
school stu;
fd = open("20161667.txt", O_WRONLY|O_CREAT, 0640);
printf("stunum stuname stuphone stucolor\n");
printf("------------------------------------------\n");
while (scanf("%d %s %d %s", &stu.num, stu.name, &stu.phone, stu.color) == 4) {
lseek(fd, (stu.num - START_NO) * sizeof(stu), SEEK_SET);
write(fd, &stu, sizeof(stu));
}
close(fd);
return;
}
int print()
{
int fd,n;
school stu;
fd = open("20161667.txt", O_RDONLY, 0640);
printf("------------------------");
printf("stunum stuname stuphone stucolor");
printf("-----------------------------------------");
while (n = read(fd,&stu, sizeof(stu)) > 0) {
if (stu.num != 0)
printf("%-5d\t%-15s\t%-5d\t\t%s\n",stu.num,stu.name,stu.phone,stu.color);
}
printf("-------------------------------------\n");
close (fd);
return;
}
int search()
{
int fd,num;
school stu;
fd = open("20161667.txt",O_RDONLY);
printf("result :");
if (scanf("%d",&num) == 1){
lseek(fd, (num - START_NO) *sizeof(stu), SEEK_SET);
if ((read(fd,(char *) &stu, sizeof(stu)) > 0) &&(stu.num !=0)){
printf("stunum stuname stuphone stucolor\n");
printf("-------------------------------------------\n");
printf("%-5d\t%-15s\t%-5d\t\t%s\n", stu.num , stu.name, stu.phone, stu.color);
printf("---------------------------------------------\n");
}
}
close(fd);
return;
}
소스코드는 code 태그 안에 넣어 주세요. 안
소스코드는 code 태그 안에 넣어 주세요. 안 그러면 들여쓰기가 다 망가집니다.
세벌 https://sebuls.blogspot.kr/
댓글 달기