디시인사이드 갤러리

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

갤러리 본문 영역

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

warota(221.150) 2011.09.23 23:57:34
조회 69 추천 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 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
275413 와시발좆될뻔 [8] 三didas갤로그로 이동합니다. 11.09.24 185 0
275412 역시 프갤은 새벽에 더 활발한듯... [3] warota(221.150) 11.09.24 77 0
275409 김치로이드 훨씬 부드러워졌네 SODMaster갤로그로 이동합니다. 11.09.24 39 0
275408 제발 도와주셈 . 컴퓨터 파일 개 이상해짐 ㅡㅜ [1] 아ㅣ(123.212) 11.09.24 36 0
275407 봉숭아물이 많이 빠졌습니다. [2] 밤이네..갤로그로 이동합니다. 11.09.24 80 0
275406 이문동쮸쥬바횽있길래 질문 아까 디스어셈블러 [2] 일광면갤로그로 이동합니다. 11.09.24 48 0
275405 스프링좀 하는쉑이는 쳐봅니다. 쵸쵸(219.251) 11.09.24 47 0
275403 루프 횟수가 적은 경우라면 일광면갤로그로 이동합니다. 11.09.24 33 0
275402 이 씨발 내방인데 [1] 로하로하알로하갤로그로 이동합니다. 11.09.24 66 0
275401 형들 궁금한게 있는데요. 돼끼(112.165) 11.09.24 28 0
275400 남녀의 생각차이. [3] 밤이네..갤로그로 이동합니다. 11.09.24 83 0
275397 에공 오늘도 결국 못쉬네 ㅠ [1] 일광면갤로그로 이동합니다. 11.09.24 52 0
275396 리눅스 마지막 질문(변수) [4] ㅇㅇ(59.1) 11.09.24 44 0
275395 근데,,여자로 태어나면 뭐가 좋음? [4] 커피친설탕(59.3) 11.09.24 140 0
275394 슈스케 재밋지 나도좋아해 ㅎㅎ [5] SuCo갤로그로 이동합니다. 11.09.24 62 0
275393 아 배아파.. [1] zeroxy갤로그로 이동합니다. 11.09.24 40 0
275392 리눅스 관련 질문 한가지만 더 (계정관련) [4] ㅇㅇ(59.1) 11.09.24 55 0
275391 미안해요 알았음ㅋ 이힝(121.177) 11.09.24 37 0
275390 형들 C언어 공부중인데, 배열포인터를 함수의 매개변수로 전달할려면 [1] 시민큐(121.160) 11.09.24 138 0
275387 씨발럼들이 갤은 너덜한데 [2] 로하로하알로하갤로그로 이동합니다. 11.09.24 53 0
275386 for문 조건식에 이꼴넣으면 안되나여 씨팔 [5] 이힝(121.177) 11.09.24 71 0
275385 여기 혹시 룰더스카이 하는 사람있음? [6] abbey road갤로그로 이동합니다. 11.09.24 51 0
275384 너네는 한손으로 몇까지 셀수 있냐? [7] warota(221.150) 11.09.24 101 0
275383 캐꼬닭형 존나 소규모 정모 언제하는 건데? 얼빠진호랑이갤로그로 이동합니다. 11.09.24 89 0
275382 갤이 완전 너덜너덜하네... SODMaster갤로그로 이동합니다. 11.09.24 37 0
275381 횽들 랜덤프로그램에대해 아는거잇는횽 잇어?? [5] (61.77) 11.09.24 60 0
275380 슬픕니다. [2] 얼빠진호랑이갤로그로 이동합니다. 11.09.24 97 0
275379 갤러리 자동로그인주소 ㅋㅋ(124.54) 11.09.24 98 0
프갤에 숙제 물어 보는 애들을 위해 내가 했던 과제들을 올려주지. [3] warota(221.150) 11.09.23 69 0
275377 횽들 리눅스 질문좀..(변수관련) [10] ㅇㅇ(59.1) 11.09.23 62 0
275376 StackOverflow 완전 신세계네 [2] 폐인의세계갤로그로 이동합니다. 11.09.23 88 0
275375 ㅄ드라. 스프링하라. [1] 쵸쵸(219.251) 11.09.23 40 0
275374 요즘 심심해서 맹그는 팟캐스트 플레이어 [3] 시불라미갤로그로 이동합니다. 11.09.23 99 0
275372 자바 초보 질문이요. [3] ㅁㄴ(220.78) 11.09.23 58 0
275370 컴돌이새끼 명지대야 그리고 떡밥좀 그만줘 새끼들아 [4] 컴미(183.99) 11.09.23 58 0
275368 혹시 Alice 란 프로그래밍 잘다루시는 횽있어? 는너(128.210) 11.09.23 56 0
275367 쿄스케는 목동에서 헤메이고 있습니다 [4] 쿄스케갤로그로 이동합니다. 11.09.23 48 0
275366 정전인가.. [1] 커피친설탕(59.3) 11.09.23 25 0
275365 도미노피자 매우 맛난 메뉴 알려드림 [3] SuCo갤로그로 이동합니다. 11.09.23 82 0
275364 저기 님들 [3] 라시엘갤로그로 이동합니다. 11.09.23 50 0
275363 자바 날짜관련 진짜 씹쓰레기였넨 [2] 시불라미갤로그로 이동합니다. 11.09.23 92 0
275361 오늘 갤이 뭐 이리 병신같냐 [2] 땡칠도사갤로그로 이동합니다. 11.09.23 59 0
275360 갤러리 자동로그인주소 [2] ㅋㅋ(124.54) 11.09.23 32 0
275359 안녕하세요 언어공부하려는데 질문좀 여쭙겠습니다. ㅁㄴㄷ(121.130) 11.09.23 37 0
275356 ▣▣▣▣▣▣▣▣▣▣▣▣▣▣터줏대감 자리 여깁니다▣▣▣▣▣▣▣▣▣▣▣▣ [1] ㅁ1현이(125.137) 11.09.23 40 1
275355 오늘 슈스케 하는건 알고 겔질합니까? [4] SuCo갤로그로 이동합니다. 11.09.23 63 0
275353 대학생 때나 취업할 때 영어 많이 필요한가요??? [32] 컴돌이(211.60) 11.09.23 177 0
275352 솔직히 얼호 그만 빨어라 ㅂㅅ드라 [14] 로하로하알로하갤로그로 이동합니다. 11.09.23 113 0
275349 제갈공명 말은 [7] 곰곰곰(121.188) 11.09.23 93 0
275348 알고리즘 이해 잘하시는분ㅜㅜ [10] ㅋㅋ(124.54) 11.09.23 113 0
뉴스 주영훈, 제주 여행 중 찢어질 듯한 복통과 고열로 응급 수술 후 중환자실...현재 일반 병실서 회복 중 디시트렌드 07.05
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2