디시인사이드 갤러리

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

갤러리 본문 영역

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

warota(221.150) 2011.09.23 23:57:34
조회 73 추천 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/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
277588 요기횽들많네 꼬꼬마의 질문하나해결해줍쇼 [4] 와웅(112.187) 11.10.03 62 0
277587 오늘 쉬는날이었어?? [5] +어게인갤로그로 이동합니다. 11.10.03 71 0
277586 아나 R.java 패키지 변경 못함? game.nb로 만들었다가 [1] ?(124.199) 11.10.03 81 0
277585 구글 데스크탑 다운못받네 이거 진짜 서비스종료임? ₁⅜갤로그로 이동합니다. 11.10.03 98 0
277584 친구를 삭제하고 싶다 [1] Adelposs갤로그로 이동합니다. 11.10.03 80 0
277583 쿼터스2 11버전에 왜 시뮬(웨이브폼) 돌리는게 없어요?? 곤드레만두맛갤로그로 이동합니다. 11.10.03 197 0
277582 어제부터 링크드 리스트 묻던 횽 보셈 pdol(210.108) 11.10.03 66 0
277581 Direct3D11+Direct2D+DirectWrite(소스有) [2] 이문동쮸쮸바갤로그로 이동합니다. 11.10.03 203 0
277580 바쁘고 시간없고 초조하고 급박한 순간에 다시 출발점에 선 기분이다. 바보플머(119.207) 11.10.03 77 0
277579 형들c언어공부하다 지겨우면 [7] ㅇㅇㅇ(58.127) 11.10.03 133 0
277578 뭔가 굉장히 허탈하면서도 재미있구나. [4] 바보플머(119.207) 11.10.03 138 0
277577 왜 64비트 운영체제가 빠를까? [8] 마타버터갤로그로 이동합니다. 11.10.03 243 0
277576 오빠 집에 일주일만 있다가면 안되겟니?; [3] 일광면(119.198) 11.10.03 160 0
277575 한글로 프로그래밍 만들면 [3] 좋은아버지갤로그로 이동합니다. 11.10.03 115 0
277574 횽들 한글로 프로그래밍 언어 만들면 짱일거 같은데 [10] LazyGyu갤로그로 이동합니다. 11.10.03 165 0
277573 클라우드시스템이 [5] 三didas갤로그로 이동합니다. 11.10.03 114 0
277572 형들 D3D공개엔진이나 프레임워크좀 알려주세요 [2] 늅늅(115.23) 11.10.03 82 0
277571 매우 늦은 입갤 [3] y녀6디리(220.118) 11.10.03 67 0
277568 함수 이분법으로 구하는 VBA 소스 오류좀봐주세요ㅠ 티저영상갤로그로 이동합니다. 11.10.03 51 0
277567 작은누나 미친년이 ^0^갤로그로 이동합니다. 11.10.03 118 0
277566 보충역 it병특 준비하는 사람 없냐? [3] ^0^갤로그로 이동합니다. 11.10.03 117 0
277564 C언로 뭘해? [13] 리치흉(121.186) 11.10.03 213 0
277561 다들 컴퓨터 끄고 자라.jpg [4] warota(221.150) 11.10.03 222 0
277559 나 자살할래... [5] ^0^갤로그로 이동합니다. 11.10.03 95 0
277558 해일리 소환될까...? [1] 캐꼬꼬닭(121.88) 11.10.03 63 0
277557 아 형들 자바 int형 배열에서 공백을 만들고 싶은데 어떻하졍?.. [3] (116.121) 11.10.03 114 0
277556 불공평한 세상.jpg ㅇㅇ(222.107) 11.10.03 116 0
277554 외국 드라마에 한국 묘사한거 보면 [4] 로하로하알로하갤로그로 이동합니다. 11.10.03 112 0
277553 넉터횽 [4] 캐꼬꼬닭(121.88) 11.10.03 58 0
277552 수정아 헤헤 [4] ♥♡정수정♡♥갤로그로 이동합니다. 11.10.03 98 0
277551 아빡쳐 파이썬접음 Energy Drink갤로그로 이동합니다. 11.10.03 78 0
277550 형들 이제야입갤합니다 三didas갤로그로 이동합니다. 11.10.03 43 0
277548 영화에 나오는 멋진 해킹맨이 되고싶다 [2] 회전매니아갤로그로 이동합니다. 11.10.03 91 0
277547 객체지향(C++)듣는데.. c언어를 잘못합니다. 해결책은;;? [3] 미치겠어요;;(211.178) 11.10.03 105 0
277546 형들 신졸자가 뭐에요? 신졸자 gas(115.23) 11.10.02 70 0
277544 부스트 메모리 풀이 왜 빠른가 했더니 궁그미(121.129) 11.10.02 68 0
277542 내일 출근하시는 영혼들에게 심심한 위로를.. 전간디갤로그로 이동합니다. 11.10.02 49 0
277541 형들 쉐이더까지는 공부끝내야 할까요? gas(115.23) 11.10.02 53 0
277540 이 로리콘 들아!!!! [8] 로하로하알로하갤로그로 이동합니다. 11.10.02 120 0
277538 횽들 파이썬 좀 알어?? [14] 아헿햏갤로그로 이동합니다. 11.10.02 101 0
277537 야 ㅅㅂ 5년만에 안경하나 마출건데 예산 얼마나 책정해야되냐? [4] 흐헝(219.251) 11.10.02 56 0
277535 왠지 컴퓨터를 하면 프로그래밍 실력에 도움이 되지 않는 것 같다 [7] 치리(121.168) 11.10.02 119 0
277534 내 아이디처럼 모든 사람이 평화롭게 코딩을 했으면 좋겠다 [5] 전간디갤로그로 이동합니다. 11.10.02 121 0
277533 우이동에 살거나 둘레길걸으시는분? [4] 우이동호산가갤로그로 이동합니다. 11.10.02 80 0
277531 화석들 다 저리가셈 [3] SODMaster갤로그로 이동합니다. 11.10.02 64 1
277529 횽들 JAVA는 커피아니야? [6] 넉넉한턱갤로그로 이동합니다. 11.10.02 94 0
277528 횽들 근데 C언어는 왜 배우는 거야? [10] 해일리갤로그로 이동합니다. 11.10.02 255 0
277527 넉넉한터님 보셈 [9] 치리(121.168) 11.10.02 91 0
277526 중3도둑 손윤호(117.123) 11.10.02 68 0
277524 이거 누구인것 같아? [3] warota(221.150) 11.10.02 120 0
뉴스 중견배우 주진모, HB엔터테인먼트와 전속계약 체결! 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2