도서 관리 시스템 소스 코드
/* 참고: 선택은 C IDE입니다 */
#include "stdio.h"
#include
#include "conio.h"
#include
#include
void main()
{void adm1(),adm2(),build(),huan(),borrow(),dele();
adm1();
}
void adm1()
{ FILE *fp,*p ;
char adp[20],password[20];
int i,n=0;
textBackground(2);
clrscr();
gotoxy(25,12);
fp=fopen("pass","r");
if(fp==NULL) { printf("exit 없음 ");getch();exit(0);}
printf("비밀번호를 입력하세요:");
for(;;)
{
window(42,12,53, 12);
textBackground(0);
clrscr();
gets(adp);
for(i=0 ;adp[i]!='\0';i++);
fgets(password,i+1,fp);
gotoxy(55,12);
if(strcmp(password,adp)==0) { window(55,12,70,12);clrscr();cprintf("YES");getch();adm2();getch() ;exit(0);}
else{ n++;
window(55,12,60,12);clrscr();gotoxy(55,12);cprintf(" 오류");
for(i=0;i<30;i++) 지연(8000);
if(n==2) { 창(55,12,70 ,12);clrscr();gotoxy(55,12);cprintf("다시 한 번");for(i=0;i<=30;i++) 지연(8000);}
if (n==3) { window(55,12,70,12);clrscr();gotoxy(55,12);cprintf("3초 출력");for(i=0;i<=30;i++ ) { 지연(8000);}
종료(0);
}
}
fclose(fp);clrscr( );
}
}
무효
adm2()
{ char a;
window(1,1,80,25);
clrscr();
for(;;)
{ clrscr();
gotoxy(30,8);printf("새 사용자 생성(B)");
gotoxy(30,10);printf("반납서(R)");
gotoxy(30,12);printf("책 대출(J)");
gotoxy(30,14);printf("사용자 삭제(D)");
a=getch();
if(a=='b') build( );
if(a=='r') huan();
if(a=='j') 차용();
if (a=='d') dele();
else continue;
}
}
void build()
{ FILE *f,*p;
char id[20],name[20],sex[2],age[3],grad[50];
window(1,1,80,25);
clrscr();
printf("ID 번호:");
scanf ("%s",id);
printf("이름:");
scanf("%s",name);
printf( "섹스:");
scanf("%s",sex);
printf("grad:");
scanf("%s ",grad);
p=fopen(id,"w+");
if(p==NULL) { printf("해당 사용자를 빌드할 수 없습니다."); getch();adm2();}
fprintf(p,"%s ",name);
fprintf(p,"%s ",id);
fprintf(p,"%s ",sex);
fprintf(p,"%s ",grad);
printf("성공 성공");
getch();
fclose(p);
}
void huan()
{
파일 *fp,*p,*f;
문자 ID[20],a[5][50],이름[20],c;
int i=0,m,k; clrscr();
printf("입력 ID 번호:");
scanf("%s",id);
p=fopen(id,"r");
if(p==NULL) { pri
ntf("error");getch();fclose(p);exit(0);}
fscanf(p,"%s",name);
fclose( p);
fp=fopen(name,"r");
do{ fscanf(fp,"%s",a[i++]) }while(!feof (fp));
for(k=0;k fclose(fp); f=fopen(name,"w+"); for(;;) { p> printf("\n\n반납하고 싶은 책 번호를 누르세요. \n\n모두 반납하려면 6을 누르세요. \n\n취소하려면 7을 누르세요.\n"); scanf("%d",&m); if(m==7) { for(k=0;k { fprintf(f,"%s\n",a[k]); } fclose(f); adm2(); } if(m==6) 제거(이름); if(m<6) for(k=0;k { if(k!=m-1) fprintf(f,"%s\n" ,a[k]); } printf("%d 책이 반환되었습니다.",m); printf("\n계속하시겠습니까? ( Y/N)"); c=getch(); if(c=='y') 계속; if(c== 'n') { fclose(f);adm2() } } } void rent() { 파일 *f,*m,*p; char id[20],book[5][50],name[20],c; int i=0, n=0,k; window(1,1,80,25);clrscr(); printf("사용자 ID를 입력하세요:"); scanf("%s",id); m=fopen(id,"r"); if(m==NULL) { printf(" 사용자 종료 없음"); getch();fclose(m);adm2();} fscanf(m,"%s",name); fclose(m) ; p=fopen(이름,"r "); if(p==NULL); else { while(!feof(p)) { fscanf(p,"%s",book[i]); i++; } i--; for(k=0;k } fclose(p); f=fopen(name,"w"); printf("\n몇 권의 책을 빌리고 싶으신가요?: "); do{printf("\ninput:");scanf("%d",&n); }while(i+n>=6); for (k=i;k { printf("\nbook %d :",k+1); scanf("%s", 책[k]); } for(k=0;k fputc('\0',f); printf("성공"); fclose(f); } void dele() { FILE *fp,*f; char id[20],a[4][20], c,b[5][50]; int i=0,j=0,k; window(1,1,80,25);clrscr(); printf("입력 ID 번호:"); scanf("%s",id); fp=fopen(id,"r" ); if(fp==NULL) { printf("\n사용자가 종료되지 않았습니다.");getch(); fclose(fp);adm2();} else while(!feof(fp)) { fscanf(fp,"%s",a[i++]);} printf("\n이름: %s", a[0]); printf("\nID: %s",a[1]); printf("\nsex: %s",a[2] ); printf("\ngrad: %s",a[3]); f=fopen(a[0],"r"); if(f==NULL); else { while(!feof(f)) { fscanf(f,"%s ",b[j++]);} for(k=0;k ) printf("\n책 %d: %s",k+1,b[k]); } printf("\n삭제하시겠습니까? (Y /N): "); c=getch(); fclose(fp); fclose(f); if(c=='y') { 제거(id);remove(a[0]);printf("\n성공");getch();adm2();} if( c=='n') adm2(); }