디시인사이드 갤러리

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

갤러리 본문 영역

형님들~도서대여관리프로그램만드는중인데 간단한질문하나만요~!

흐규흐규(210.125) 2012.12.10 15:58:02
조회 49 추천 0 댓글 0

#include "bookmanage.h"
int i,j;
book::book()
{
 rent = -1; // 책을 대출할경우 맴버의 번호를 저장 합니다. -1이면 빌려가지 않은책
}
void book::bookchange()  // 도서 번호 이름 저자명 입력
{
 cout << "책 번호를 입력하세요 : ";
 cin >> number;
          if(cin.fail())           // 도서번호에 int값에 정수가 아닌 값이 들어올때 오류 메시지를 띄우고 다시 입력
  {
            cin.clear();
            cin.ignore(512,'\n');
            cout<<"잘못된 입력 "<<endl;
            cout<<"올바른 숫자로 다시 입력"<<endl;
            cin>>number;    
    }
 cout << "책 이름을 입력하세요 : ";
 cin >> bookname;
 cout << "저자를 입력하세요 : ";
 cin >> bookwriter;
 rent = -1;    // 도서 등록시 대여가능 으로 -1을 rent값에 입력
}
void book::rentbook(int _rent)
{
 rent = _rent;
}
void book::returnbook()   // 도서 반납시 -1로 빌려가지 않은책
{
 rent = -1;
}
void book::setbook(int _number, string _name, string _writer)  // 매개변수로 도서명 저자명 도서번호를 전달 받음
{
 number = _number;
 bookname = _name;
 bookwriter = _writer;
}
string book::getbook()
{
 return bookname;
}
string book::getwriter()
{
 return bookwriter;
}
int book::getnumber()
{
 return number;
}
void book::booklist() //도서 번호 이름 저자명 출력
{
 cout << "번호 : " << number << "\t" << "책이름 : " << bookname << "\t" << " 저자 : " << bookwriter;
 cout << "\t";
 if(rent == -1)//책을 빌려갔는지 검사후 출력
  cout << "대여가능" << endl;
 else
  cout << "대여중" << endl;
}
library::library() //count를 0으로 초기화 한다.
{
 count = 0;
 mcount =0;
}
void library::addbook()  //책을 추가시킬때마라 count1증가
{
 book[count].bookchange();
 count++;
}
void library::listbook()    //모든도서목록을 출력
{
 for(i = 0 ; i < count ; i++)
 {
  book[i].booklist();
 }
}
void library::booksearch()  // 책 제목으로 도서정보 찾기
{
 string bname;
 cout << "책 제목 입력 : ";
 cin >> bname;
 for(i = 0 ; i < count ; i++)
 {
  if(book[i].getbook() == bname)
  {
   book[i].booklist();
  }
 }
}
void library::booksearch2()  // 책 저자명으로 도서정보 찾기
{
 string bwriter;

 cout << "책 저자 입력 : ";
 cin >> bwriter;

 for(i = 0 ; i < count ; i++)
 {
  if(book[i].getwriter() == bwriter)
  {
   book[i].booklist();
  }
 }
}
void library::booksearch3(int asd)   //int asd 값이 0일때 책 번호로 도서정보 찾기
{
 int bnum;
 cout << "책 번호 입력 : ";
 cin >> bnum;
 for(int i = 0 ; i < count ; i++)
 {
  if(book[i].getnumber() == bnum)
  {
   book[i].booklist(); 
      if(asd==1)                        // int asd 값이 1일때 도서삭제 실행
   {
    cout<<"삭제합니다."<<endl;
    for(int j=i;j<count;j++)
     book[j]=book[j+1];
    count-=1;
   }
  }
 }
}
void library::rentbook()  // 도서 대여 함수
{
 string a, b;
 int chk = 0;
 cout << "회원이름 :";
 cin >> a;
 cout << "책 이름:";
 cin >> b;
 for(i=0;i < mcount;i++)
 {
  if(member[i].getmmember() == a)
  {
   chk++;
   break;
  }
 }
 if(chk == 0)
 {
  cout << "회원을 찾을 수 없습니다." << endl;
  return;
 }
 chk = 0;
 for(j=0;j < mcount;j++)
 {
  //책이있고 않빌려 갔다면
  if(book[j].getbook() == b && !book[j].isRent())
  {
   chk++;
   break;
  }
 }
 if(chk == 0)
 {
  cout << "책을 찾을 수 없습니다." << endl;
  return;
 }
 book[j].rentbook(member[i].getmnumber());
 cout << "도서 대여 OK" << endl;
}
void library::returnbook()  // 도서 반납 함수
{
 string b;
 int chk = 0;
 cout << "반납할 책 이름:";
 cin >> b;
 for(i=0;i < count;i++)
 {
  //책이있고 빌려간 책이라면
  if(book[i].getbook() == b && book[i].isRent())
  {
   chk++;
   break;
  }
 }
 if(chk == 0)
 {
  cout << "책을 찾을 수 없습니다." << endl;
  return;
 }
 book[i].returnbook();
 cout << "도서 반납 OK" << endl;
}
 

void library::loaddata()   // 정보 로드
{
 ifstream fp("member.txt");
 ifstream fp2("book.txt");
 string bbname, mmname, mmphone, bbwriter;
 int  bbnumber=0;
 int mmnumber=0;
 
 if(fp == NULL) return;
 if(fp2 == NULL) return;
 while(1)
 {
  fp >> mmnumber;
  if(fp.eof()) break;
  fp >> mmname;
  fp >> mmphone;
  member[mcount].setmember(mmnumber,mmname,mmphone);//파일에서 읽어온 데이타를 입력
  mcount++;//멤버의 수를 증가
 }
 while(1)
 {
  fp2 >> bbnumber;
  if(fp2.eof()) break;
  fp2 >> bbname;
  fp2 >> bbwriter;
 
  book[count].setbook(bbnumber,bbname, bbwriter);
  count++;//책의 갯수를 증가
 }
 fp.close();
 fp2.close();
}

void library::savedata()  // 정보 세이브
{
 ofstream fp("member.txt");
 ofstream fp2("book.txt");
 for(i=0;i < mcount;i++)//멤버의 수만큼 파일에 저장
 {
  fp << member[i].getmnumber() << endl;
  fp << member[i].getmmember() << endl;
  fp << member[i].getmphone() << endl;
 }
 for(i=0;i < count;i++)//책의 갯수 만큼 파일에 저장
 {
  fp2 << book[i].getnumber() << endl;
  fp2 << book[i].getbook() << endl;
  fp2 << book[i].getwriter() << endl;  
 }
 fp.close();
 fp2.close();
}

위에 소스는 전체소스중에 책 class 부분인데여

여기서 책등록할때 마지막에 "책을 등록하시겠습니까? 등록=1/취소=2" 이뜨면서

1을 누르면 등록되고, 2를 누르면 메뉴로 돌아고도록 추가하고 싶은데어떻게 하졍 ㅠ.ㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
341123 횽들 Cocos2d에서 텍스트 파일 읽는거 도와줭 ㅠㅠ [1] 코코스씨1발(14.55) 12.12.19 85 0
341122 클라우드 서버에 바이러스 감염되면 얼마나 좆이냐? asdasd(119.82) 12.12.19 56 0
341121 클라우드 컴퓨팅? 옛날부터 터미널이라고 불리던거 아님? [8] (118.176) 12.12.19 219 0
341120 간신히 성공했다 12(59.12) 12.12.19 126 0
341119 인공지능 알고리즘 책 춫천좀 asdasd(119.82) 12.12.19 78 0
341117 컴공 대학원 분야가 뭐뭐있냐? asdasd(119.82) 12.12.19 98 0
341116 aovltmxh@naver.com 이놈 예의가 없네. [4] 그나저나(121.167) 12.12.18 139 0
341115 수학기호에서 연산기호가 먼지 알 수 없을때 어떻게 표기 하나요? [1] 11(220.79) 12.12.18 70 0
341113 연말연초에는 구직이 어렵겠지? [1] ㅁㅁ(49.1) 12.12.18 122 0
341111 프로그램 개발의뢰 했다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [7] 햄톨(222.96) 12.12.18 285 0
341109 횽들아 이거 무슨 영상이야??? 무한 동력이야??? [7] 멍청닭(182.211) 12.12.18 194 0
341108 내 아는사람이 이렇게 조언을 해줬는데... 복잡하다 ㅠㅠ [4] 나의 아는사(222.96) 12.12.18 150 0
341107 mac용 이클립스 질문좀횽들 [10] Ping_2_U갤로그로 이동합니다. 12.12.18 114 0
341106 삼성 소프트웨어 멤버십 [2] a(175.192) 12.12.18 367 0
341105 ㅇㅇ sexer1갤로그로 이동합니다. 12.12.18 34 0
341104 삼성 소프트웨어 멤버쉽 하지마라 [4] sexer1갤로그로 이동합니다. 12.12.18 554 0
341102 솔직히 컴공나오면 그냥 대학교중퇴해라 [25] 소크락텍스(211.112) 12.12.18 470 0
341101 근데 대학에서 다클라우드쓰는거아니였냐? (211.234) 12.12.18 54 0
341100 개발자 형님들 좀 돠주세요 JSP 팝업존 자바스크립트(jquery)! [1] 궁금한게많으갤로그로 이동합니다. 12.12.18 161 0
341098 NIO vs IO Kyle(220.244) 12.12.18 128 0
341096 아 도배하려고 도배한게 아니라 오류나서 안올려지는줄 알고 계속했는데 다 123(116.120) 12.12.18 28 0
341095 이제 자바 배우는데 처음부터 막혔어요 HELP!!! [5] ㄹㄷ(116.120) 12.12.18 123 0
341094 이제 자바 배우는데 처음부터 막혔어요 HELP!!! fe(116.120) 12.12.18 37 0
341093 내일은 투표일입니당~ 멍청닭(182.211) 12.12.18 30 0
341092 형들 이거 무슨파일인지 좀 봐줘 ㅠㅠ 햄톨(222.96) 12.12.18 58 0
341091 이제 자바 배우는데 처음부터 막혔어요 HELP!!! ㄹㄷ(116.120) 12.12.18 47 0
341089 컴공 비전 없다고 말하는데.. 멀리보면 있다. [8] 형이다(14.45) 12.12.18 411 1
341088 진로 질문좀.. 펌웨어 vs 외국계 회사 웹, 어플 개발 [2] 잉잉잉갤로그로 이동합니다. 12.12.18 160 0
341087 기독교에서 말하는 삼위일체는 배열변수 아니냐? [4] ㅇㅇ(175.199) 12.12.18 76 0
341086 지방4년제 겜공과 다니다가 현재는 대기업 생산직.. [3] 겜프..(58.236) 12.12.18 244 0
341085 우리학교 클라우드 컴퓨터다. 본체가 없다. [6] ㅇㅇㅇ(1.209) 12.12.18 248 0
341083 헤헤 꼬꼬마가 다시한번만 질문할게여 ㅎ [7] (1.242) 12.12.18 91 0
341082 25 고졸 -> 직장&방통대 -> 대학원 가능할까요?? [2] ㅋㅋ(121.167) 12.12.18 331 0
341080 안드로이드 스레드 질문합니다. 질문(218.158) 12.12.18 54 0
341078 꼬마가 형님들에게 질문점 ㅎㅎ [2] (1.242) 12.12.18 58 0
341077 안드로이드앱개발앤 자바가 적절하나요? [4] 날개샀지예갤로그로 이동합니다. 12.12.18 168 0
341075 1학년 수업 들엇는데 후배보다 못함 질문받는다 [2] ssapo갤로그로 이동합니다. 12.12.18 89 0
341074 형들 리눅스 에서 fsck 명령을 쳤는데 [2] ddd(121.169) 12.12.18 75 0
341073 다른 SQL 질문 [2] 543543갤로그로 이동합니다. 12.12.18 69 0
341072 ㄴㅇㄹ야 과제 다했다. [9] WannaParty갤로그로 이동합니다. 12.12.18 142 0
341070 c언어 배열의 이름을 어떻게 바꾸죠? [7] urban(121.151) 12.12.18 143 0
341067 sts라고 안드로이드하는거 잇는데 그걸로 이용한 간단한 게임 및 프로젝트 [1] 자노짱갤로그로 이동합니다. 12.12.18 57 0
341066 jquery ajax json 이거 세기술을 쓰는데 [14] 천국거지갤로그로 이동합니다. 12.12.18 171 0
341065 형들 멀티프로세스좀 도와주세연.. WannaParty갤로그로 이동합니다. 12.12.18 33 0
341063 형들 내일 뽑기하러가연! WannaParty갤로그로 이동합니다. 12.12.18 53 0
341059 비전공자 진지하게 진로 고민 [7] 비전공자(1.228) 12.12.18 341 0
341058 xp는 32비트 닌깐 한번 연산할때 32비트고.. 윈7은 64비트니깐 [10] 상상(175.123) 12.12.18 161 0
341057 [조공있음 뒤조심] 형들 나 어플개발중인데.. [3] sdf(125.131) 12.12.18 250 0
341056 api사각형 그리기가 안되요..WM_CREATE에서.. [3] 이힝(1.254) 12.12.18 62 0
341055 프갤 애들이 그렇게 똑똑하다며? 조언 좀 해봐라 [6] 프갤(175.192) 12.12.18 175 0
뉴스 ‘열애설♥’ 미주 “한화이글스 경기, 빠짐없이 보고 있어” 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2