디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

프갤에 숙제 물어 보는 애들을 위해 내가 했던 과제들을 올려주지.

warota(221.150) 2011.09.23 23:57:34
조회 71 추천 0 댓글 3



 

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

#define BOOK_COUNT 100
#define NAME_NEN 20
#define AUTHOR_LNE 15

typedef struct book
{
 char name[NAME_NEN];
 char author[AUTHOR_LNE];
 int price;
 int cnt;
}BOOK;

typedef int INT;

int index=0;

void input(BOOK *p);
void output(BOOK *p);
void sort(BOOK *p);
void search(BOOK *p);
void fix(BOOK *p);
void del(BOOK *p);
void Save(BOOK *p);
void Open(BOOK *p);

 

 

int main()
{
 BOOK b[BOOK_COUNT]={0};
 int choice;
 
 while(1) 
 {
  printf(
   "\\n\\n\\t\\t** 도서관리 프로그램 **\\n\\n"
   "1.도서정보 입력\\n"
   "2.도서정보 출력\\n"
   "3.도서정보 정렬\\n"
   "4.도서정보 수정\\n"
   "5.도서정보 검색\\n"
   "6.도서정보 삭제\\n"
   "7.저         장\\n"
   "8.불 러   오 기\\n"
   "0.프로그램 종료\\n"
   "선택 : [ ]\\b\\b"
   );
  scanf("%d",&choice);
  
  switch(choice)
  {
  case 1: input(b); break;
  case 2: output(b); break;
  case 3: sort(b); break;
  case 4: fix(b); break;  
  case 5: search(b); break;
  case 6: del(b); break;
  case 7: Save(b); break;
  case 8: Open(b); break;
  case 0: 
   printf("\\n\\n\\t\\t프로그램을 종료합니다\\n");
   return 0;
  default :
   printf("잘못된 입력입니다\\a\\a\\n");
   continue;//  반복문의 선두로 이동
  }
 }
 return 0;
}

void input(BOOK *p)
{
 if(index==BOOK_COUNT)
 {
  printf("\\n\\n\\t\\t더이상 저장할수가 없습니다.");
  return;//함수 종료
 }

 printf("\\n\\n\\t\\t** 도서정보 입력 **\\n\\n");
 //for(i=0;i<BOOK_COUNT;i++)
 //{
 printf("\\n[%d번째 입력]\\n",index+1);
 printf("도서명 : ");
 fflush(stdin);
 gets((p+index)->name);
 printf("작가명 : ");
 fflush(stdin);
 gets((p+index)->author);
 printf("가  격 : ");
 scanf("%d",&(p+index)->price);
 printf("수  량 : ");
 scanf("%d",&(p+index)->cnt);
 
 
 ++index;
 }
}

 

 

 

void output(BOOK *p)
{
 int i; 
 printf("\\n\\n\\t\\t** 도서정보 출력 **\\n\\n");
 printf("==============================================================\\n");
 printf("%5s %-20s %-15s %6s %6s\\n","번호","도서명","작  가","가  격","수  량");
 
 for(i=0;i<index;i++)
 {
  printf("%05d %-20s %-15s %6d %6d\\n",i+1,(p+i)->name,(p+i)->author,(p+i)->price,(p+i)->cnt);
  
 }
}

 

 

void sort(BOOK *p)
{
 int i,j;
 for(i=0;i<index-1;i++)      //정렬대상
 {
  for(j=i+1;j<index;j++)  //비교대상
  {
   //if(p[i].name>p[j].name)  // 주소비교  //정렬>비교
   if(strcmp(p[i].name,p[j].name) > 0)
   {
    BOOK temp;
    temp=p[i];
    p[i]=p[j];
    p[j]=temp;
    /*값 교 환*/
   }
  }
 }
 printf("정렬이 완료되었습니다.\\n");
 output(p);

}

 

 

void search(BOOK *p)
{
 char book_name[NAME_NEN];
 int i; 
 
 printf("검색할 도서명을 입력하세요 : ");
 fflush(stdin);
 gets(book_name);
 
 for(i=0;i<index;i++)
 {
  if(strcmp(book_name,(p+i)->name)==0)
  {
   printf("\\n\\n\\t\\t** 검색 도서정보 출력 **\\n\\n");
   printf("==============================================================\\n");
   printf("%5s %-20s %-15s %6s %6s\\n","번호","도서명","작  가","가  격","수  량");
   printf("%05d %-20s %-15s %6d %6d\\n",i+1,(p+i)->name,(p+i)->author,(p+i)->price,(p+i)->cnt);
  }
  
 }
 
 
}

void fix(BOOK *p)
{
 char book_name[NAME_NEN];
 int i;


 printf("수정할 도서명을 입력하세요 : ");
 fflush(stdin);
 gets(book_name);
 
 for(i=0;i<index;i++)
 {
  if(strcmp(book_name,(p+i)->name)==0)
  {
   printf("\\n\\n\\t\\t** 도서정보 입력 **\\n\\n");
   
   

   printf("작가명 : ");
   fflush(stdin);
   gets((p+i)->author);
   printf("가  격 : ");
   scanf("%d",&(p+i)->price);
   printf("수  량 : ");
   scanf("%d",&(p+i)->cnt);
   printf("\\n\\n** 수정되었습니다. **\\n");
   break;
   
  }
  
 } 
}

 

 

void del(BOOK *p)
{
 char book_name[NAME_NEN];
 int i; 
 
 printf("삭제할 도서명을 입력하세요 : ");
 fflush(stdin);
 gets(book_name);
 
 for(i=0;i<index;i++)
 {
  if(strcmp(book_name,(p+i)->name)==0)
  {
  
   p[i]=p[index-1];
  
  
   printf("\\n\\n** 삭제되었습니다. **\\n");
   --index;
   break;

   
  } 
 } 
}

 

 

void Save(BOOK *p)
{
 FILE *fp=NULL;
 char i;
 
 fp=fopen("book.txt","wt");
 if(fp==NULL)
 {
  printf("file open fail!\\a\\a\\n");
  exit(0);
 }
 fprintf(fp,"%5s %-20s %-15s %6s %6s\\n","번호","도서명","작  가","가  격","수  량");
  fprintf(fp,"==============================================================\\n");

 for (i=0;i<index;i++)
 {
  fprintf(fp,"%05d %-20s %-15s %6d %6d\\n",i+1,(p+i)->name,(p+i)->author,(p+i)->price,(p+i)->cnt);
 }
 printf("\\n\\n** 저장되었습니다. **\\n");
 fclose(fp);

}

 

 

 


void Open(BOOK *p)
{
 FILE *fp=NULL;
 char ch;;
 
 fp=fopen("book.txt","rt");
 if(fp==NULL)
 {
  printf("file open fail!\\a\\a\\n");
  exit(0);
 }
 printf("\\n\\n** book.txt 불러오기 **\\n\\n\\n");
 while(1)
 {
  ch=fgetc(fp);
  
  if(ch==EOF) 
  {
   break;
  }
  
  
  printf("%c",ch);
 }
  
  
  
  fclose(fp);
  
 }


 도서관리 프로그램.

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45332 65
2870773 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 06:53 2 0
2870769 요즘 인터넷에서 자주 보이는 간첩 특징 정리.txt [1] 야옹아저씨갤로그로 이동합니다. 06:09 25 0
2870764 Skt 미친것들 전화기가 꺼져있어 넥도리아(175.196) 03:57 28 0
2870763 재구축 인터넷 망 넥도리아(175.196) 03:47 23 0
2870762 나 폰 2개 폰 액정분해하다가 깨졌어요. 넥도리아(175.196) 03:39 26 0
2870760 1인개발자할건데 뭐배우면 좋나요? [2] 프갤러(1.238) 03:32 34 0
2870758 윤석열 구속 확정 [2] 야옹아저씨갤로그로 이동합니다. 02:56 44 1
2870756 내일 휴가인 아스카 [2] 아스카영원히사랑해갤로그로 이동합니다. 02:37 37 0
2870750 경찰 왜 욕하는거임 뒷통수한방(1.213) 00:56 27 0
2870749 C# bool형 대소문자 [3] ㅇㅇ갤로그로 이동합니다. 07.09 50 0
2870748 ㅆㅇㅆ [1] 발명도둑잡기(39.7) 07.09 45 0
2870747 생일 끝나기 24분전 ㅆㅇㅆ(124.216) 07.09 36 0
2870746 일본거주 10년차 외노자 월급, 상여 프로외노자갤로그로 이동합니다. 07.09 41 1
2870745 패션 개발자인 나야 ㅇㅂㅇ [1] 익명의따당이갤로그로 이동합니다. 07.09 68 0
2870744 도스 GUI 모음 발명도둑잡기(39.7) 07.09 39 0
2870743 문내립니다 [6] 개멍청한유라갤로그로 이동합니다. 07.09 45 0
2870742 카카오톡에 있는 이상한 기능 [2] 발명도둑잡기(39.7) 07.09 45 0
2870741 ai성능 날이갈수록 개박살나는거같은데 공기역학갤로그로 이동합니다. 07.09 45 0
2870740 오늘 쓰레기버리는데 갑자기 공무원들이 잡아세우더라 뒷통수한방(1.213) 07.09 29 0
2870739 저거 슼유동 진짜 냥덩이 인갑네 말투 비슷해서 그런갑다했었는데 [2] ㅆㅇㅆ(124.216) 07.09 42 0
2870738 고용24에다가 구직 신청 넣었다 [2] ㅇㅇ(118.235) 07.09 55 0
2870737 다시 프갤 들어옴 [4] ㅇㅇ(118.235) 07.09 46 0
2870733 GPT 임마 이거 내 프로젝트는 완성못하고 남의 외주만 완성한다고 ㅆㅇㅆ(124.216) 07.09 38 0
2870732 아래 문구 gpt에게 붙여넣은 결과 [2] ㅆㅇㅆ(124.216) 07.09 66 0
2870731 gpt에 이거 복붙해봐 신세계임 [1] 프갤러(210.99) 07.09 66 0
2870730 지금 프로그래밍 언어 배우는거 어떻게 생각해? [2] 프갤러(119.192) 07.09 52 0
2870728 전문학교 나온사람잇음?? [2] 프갤러(211.235) 07.09 35 0
2870727 토스로 이직했어 [2] ㅇㅇ(118.235) 07.09 80 0
2870725 프갤 ㅈ망했규나 [5] 조루디(110.35) 07.09 84 0
2870724 더워 조루디(110.35) 07.09 26 0
2870722 자주국방 시작하는 이재명 [9] 야옹아저씨갤로그로 이동합니다. 07.09 99 5
2870720 외케 취업 어려움 [2] 무관갤로그로 이동합니다. 07.09 56 1
2870719 Nginx Proxy Manager 질문이요 ㅠ [3] 프갤러(1.236) 07.09 57 0
2870718 막장 아마추어 리죄명 끌어내리고 처벌해야 ♥냥덩이♥갤로그로 이동합니다. 07.09 28 1
2870717 코드주면 알아서 포트폴리오 짜주는 그런거 없나 ㅇㅇ(223.38) 07.09 33 0
2870715 모든소스 짜는걸 gpt한테 넘긴다.. [1] ㅇㅇ(175.197) 07.09 35 0
2870714 멍퀴벌레님 깝치지 마세양❤+ 나님 삼대 5백 출신이에양⭐+ [2] ♥냥덩이♥갤로그로 이동합니다. 07.09 40 0
2870713 민생지원쿠폰 스위치 1,2 또는 데이터복구 업체에 하드 스마트폰 맡기기 넥도리아(121.139) 07.09 21 0
2870712 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 07.09 28 0
2870711 아 ㄹㅇ 개피곤하넹 [1] ♥냥덩이♥갤로그로 이동합니다. 07.09 39 0
2870710 초Ai 스카이넷 냥덩❤ [1] ♥냥덩이♥갤로그로 이동합니다. 07.09 41 0
2870709 러스트로 소설 써볼까 [1] 루비갤로그로 이동합니다. 07.09 36 0
2870708 타자 하두 많이 쳐서 손가락이 다 아프네 루비갤로그로 이동합니다. 07.09 28 0
2870707 살면서 호구처럼 당하기 싫으면 알고있자 [1] ㅇㅇㅇㅇ(124.198) 07.09 38 0
2870706 오늘 생일인데 아직도 버그 수정중 [7] ㅆㅇㅆ(124.216) 07.09 53 0
2870705 솔직히 회사 밥 먹이는 개발자 몇이나 된다고 [3] 프갤러(106.101) 07.09 66 0
2870704 날씨 애미뒤졌네 [1] 류류(118.235) 07.09 32 0
2870703 나님 피궁피궁.. ♥냥덩이♥갤로그로 이동합니다. 07.09 27 0
2870702 근디 나 Vue는 공부 안했고 Solid는 공부했는데 왜 Solid는 [2] ㅆㅇㅆ(124.216) 07.09 52 0
뉴스 케이팝 데몬 헌터스 OST, 빌보드 차트 8위 기록하며 K팝 팬덤 사로잡다 디시트렌드 07.09
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2