디시인사이드 갤러리

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

갤러리 본문 영역

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

흐규흐규(210.125) 2012.12.10 15:58:02
조회 45 추천 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/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
340760 Bomb lab좀 도와주세요 arw(125.176) 12.12.15 281 0
340758 백인들 이름 웃기지않음? [1] Kyle(220.244) 12.12.15 94 0
340757 랄라라 토요일인데 뭐하냐 바보들아 랄라라 Kyle(220.244) 12.12.15 40 0
340756 C++은 위대한거같다 [6] ㅇㅇㅇ(110.15) 12.12.15 294 0
340755 타아ㅓ뉴ㅠㄴ chodadoo갤로그로 이동합니다. 12.12.15 38 0
340752 형들 이게 뭐야? 내 웹사이트를 9만달러에 산다는 소리여? [14] 어셈블리시발(59.14) 12.12.15 343 0
340751 리눅스 scim이나 ibus에서 [2] ㅁㄴㅇ(59.25) 12.12.15 47 0
340750 OECD가입국중 한국만 ITU 인터넷 발언권 규제조약 찬성 우엠다(24.52) 12.12.15 68 0
340749 삼성 소프트웨어 멤버십에서 기획성도 보나?? [1] 캡퍼(1.210) 12.12.15 206 0
340747 게임 서버 프로그래밍 해보려고 하는데 질문좀. 허접(110.70) 12.12.15 108 0
340746 자바 MP3 만드는데 Player 말고 또 뭐 있음? [9] DDD(202.31) 12.12.15 153 0
340745 매트랩 LPF 코드인데요 이거 3차를 4차로 변환하고 싶은데 좀 가르쳐주 매트랩(119.195) 12.12.15 170 0
340744 종나 개미흰듯한 사업아이템. 사업종자(222.237) 12.12.15 2536 0
340742 난 진짜 야근못하겠더라. 저녁7시만되도 미칠거 같음 [2] ggg(222.237) 12.12.15 153 0
340741 장난으로 친구집 컴터 조작할려면 뭘 배워야 할까? [7] chobo.js(1.224) 12.12.15 221 0
340740 JSP 책 마치고 게시판을 이쁘게 꾸미는 중인데. [2] JSP(182.211) 12.12.15 146 0
340739 192.168.0.0 [22] 악스악스(175.113) 12.12.15 375 0
340737 입사 한달만에 파견갔는데 벌써부터 그만두고 싶다 [5] 노흑(125.132) 12.12.14 278 0
340736 TTS 음성팩은 어떻게 만들어? 호석갤로그로 이동합니다. 12.12.14 92 0
340735 이거 재밌네 ㅋㅋ [1] 흥가(59.14) 12.12.14 115 0
340734 네이버 검색어순위 주작한다는 자바스크립트 코드인데 한가지 질문좀 [7] chobo.js(1.224) 12.12.14 289 0
340733 자바 GUI 에 홈페이지 어떻게 띄우나요?? 해당 프레임 사진추가 ㅠㅠ [15] 열심성실(211.210) 12.12.14 165 0
340732 윈 8앱 만들때 질문입니다.~ [2] 윈앱(182.213) 12.12.14 70 0
340731 군대말이야. [2] ㅇㅁ(211.236) 12.12.14 111 0
340730 Hex 추가하는법아는분좀 있으면 알려주세요 흑흑 [6] 윌슨(116.41) 12.12.14 65 0
340729 형들! IT특기병(SW관리병/정보보호기술병/사이버수사병)관련 자격증좀;; [4] HBCL42갤로그로 이동합니다. 12.12.14 493 0
340728 급여 최대한 많이 올리는 것이 언제나 옳은가 [4] 근육친구(112.171) 12.12.14 125 0
340727 자료구조 진짜로많이쓰임? [6] asdas(220.120) 12.12.14 379 1
340726 자바 중급책 추천해줘. [8] AngryVGN갤로그로 이동합니다. 12.12.14 221 0
340725 C++막 배우는 뉴빈데 질문 하나만요^^ [3] 잇힝(14.53) 12.12.14 136 0
340724 십알단이 양심 선언 했네..... 빼도 박도 못하네........ [2] JSP(182.211) 12.12.14 718 3
340722 머리 안돌아가 화나서 키보드 던졌는데 [6] 육군야전출신(223.62) 12.12.14 214 0
340721 모바일하드  2 ΤB   를 구입해 보았다. [4] 때릴꺼야?(116.40) 12.12.14 162 0
340720 개발자 고액 맞지 [1] ㅁㄴㅇ(59.11) 12.12.14 174 0
340719 형들 쿼리인젝션할려고하는데 조언좀해줘 마크.. [8] 쿼리인젝션(211.112) 12.12.14 156 0
340717 유식대장 모바일 웹 개발자 공지 올렸네 [3] dot(116.124) 12.12.14 160 0
340716 SQLITE3 쿼리 질문좀 할게 ㅜ.ㅜ [1] 홍설갤로그로 이동합니다. 12.12.14 74 0
340713 꼬리자르기 over - 박근혜 후보, SNS 여론전략 보고 직접 받았다 [1] s(183.99) 12.12.14 83 0
340711 사람들이 VC6.0 쓰지말고 VC2010 쓰라고 하자나... [1] ssonacy갤로그로 이동합니다. 12.12.14 156 0
340710 프로그래밍 입문 질문 합니다 많은 조언부탁드려요 [12] dened(123.248) 12.12.14 213 0
340708 아까마크쿼리인젝션질문한놈인데 쿼리인젝션(211.112) 12.12.14 60 0
340707 대체할 무료 소프트웨어 있는데 유료 소프트웨어 왜 쓰냐고 물어보는 분께 [4] ㅁㄴㅇ(119.202) 12.12.14 198 0
340706 이거 선택정렬인데 왜 안될까?? [6] 카페라떼(202.30) 12.12.14 119 0
340704 내가 정치는 잘 몰랐는데ㅡ ㅋㄱ(183.96) 12.12.14 60 0
340703 Bomb lab 어셈블리어 해석좀 해주세요 [3] 민구리(125.176) 12.12.14 1995 1
340702 우리나라 근로자 상위 25% [9] ☎2.52™갤로그로 이동합니다. 12.12.14 325 0
340701 자바와 c언어랑 크게 차이 많이 남?? [10] ㅁㅁ(218.37) 12.12.14 267 0
340700 취업하면 월 200만 받아도좋겠다. [3] ......(182.218) 12.12.14 190 0
340699 마인크래프트서버 ..쿼리인젝션 [2] 쿼리인젝션(211.112) 12.12.14 228 0
340698 간만에 C로 프로그래밍 할려니깐 하나도 모르겠다 ㅎㅎㅎㅎ 안티푸라면갤로그로 이동합니다. 12.12.14 76 0
뉴스 "재벌도 요거트 뚜껑 핥아먹어요?"…'신세계 3세' 애니 답변은? 디시트렌드 07.10
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2