디시인사이드 갤러리

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

갤러리 본문 영역

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

흐규흐규(210.125) 2012.12.10 15:58:02
조회 48 추천 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/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
339108 프로그래밍갤 성님덜은 컴퓨터 클린하게 사용하심? [3] ㄹㄹ(59.8) 12.11.28 103 0
339107 형 나 연애 상담좀 부탁드려요 [10] 플글맨(118.34) 12.11.28 93 0
339106 네이버 말고 뭐로 메인으로 두냐 [5] asd(59.11) 12.11.28 74 0
339105 c언어 다시 복습 좀 하려고 하는데 책 추천좀 [1] (125.177) 12.11.28 74 0
339104 아 레알 컴퓨터 프로그램개 빡치네 [3] 디시안에서살다갤로그로 이동합니다. 12.11.28 81 0
339103 형들 이 소스좀 봐줄래? [4] 그딴건없구염&#039;ㅡ&am.갤로그로 이동합니다. 12.11.28 70 0
339102 개발자들은 이것을 잊지 말자 jsp(182.211) 12.11.28 93 1
339101 형들은 코딩짤때 무슨 방법으로해 ? [7] 열정(1.250) 12.11.28 177 0
339100 한국 IT의 씹망은 정통부, 과기부 폐지만 봐도 알수 있지 않냐? jsp(182.211) 12.11.28 65 0
339099 연세디지털게임교육원 우짤까.. [2] 뿡빵뿡빵(14.43) 12.11.28 195 0
339098 쩐다. ☎2.51™갤로그로 이동합니다. 12.11.28 48 0
339096 네이버 이해진이 뭐라고 했냐면 [3] asd(59.11) 12.11.28 107 0
339095 한국 it 정말 씹망이네 [1] asd(59.11) 12.11.28 125 0
339093 대괄호를 밑에서 여는게 낳냐 옆에서 여는게 낳냐 [8] (211.246) 12.11.28 113 0
339092 이 소스코드 좀 봐줘 도와줘 ㅜㅜ [1] 개르개르(203.226) 12.11.28 72 0
339091 순위정하는 소스가 어떻게 될까? [3] 얼룩돼지갤로그로 이동합니다. 12.11.28 336 0
339090 성인 어플 모델 구하려면 개쉽게 구할 듯. [4] 영꼰이갤로그로 이동합니다. 12.11.28 123 0
339089 주인집 할아버지 손녀가 섹시한 눈빛으로 처다봄 [3] Kyle(220.244) 12.11.28 114 0
339088 책사려고ㅗ ㅋㅌㅊ(1.220) 12.11.28 48 0
339087 싱글 게임 제한좀 해제해주실분 [1] 징기스칸4(125.182) 12.11.28 46 0
339086 성인앱용 사진모델이나 사진 [1] 에어로홍갤로그로 이동합니다. 12.11.28 98 0
339085 안녕하세요 여기 첨오네요. 안드로이드 질문좀 받아주세요 [1] 곰곰팅팅갤로그로 이동합니다. 12.11.28 57 0
339084 코더와 프로그래머의 차이가 뭐예요?? [2] JSP(182.211) 12.11.28 151 0
339083 재수해서4년제대학vs전문대 [1] 언데드로드갤로그로 이동합니다. 12.11.28 109 0
339082 게임회사에서 코딩을 1년 했는데 [1] +어게인갤로그로 이동합니다. 12.11.28 134 0
339081 안녕하세요 c언어 컴파일러 질문요 ㅋ [3] 서현초등학생(125.177) 12.11.28 97 0
339080 프갤러들 안죽었으면 자바 좀..... P갤(203.226) 12.11.28 48 0
339079 컴퓨터로 여자 꼬시는 법 [3] JSP(182.211) 12.11.28 159 0
339078 C로 파일입출력및삭제 기능 소스짜주실분..사례비드립니다 [2] 입출력(1.214) 12.11.28 90 0
339077 바디랭귀지.jsp JSP(182.211) 12.11.28 77 0
339076 구피 새끼가 사라졌어 이모군(175.114) 12.11.28 44 0
339075 이쯤에서 적절한 빠이유 + 어승철 [1] JSP(182.211) 12.11.28 106 0
339074 성추문 검사 여자 사진.jsp [1] JSP(182.211) 12.11.28 1273 1
339073 리눅스 커널 분석해보고싶은데 어떤걸 봐야함 ? .JPG [4] aa7(123.108) 12.11.28 147 0
339072 리눅스 커널개발자 천재들이냐? .jpg [2] aa7(123.108) 12.11.28 251 0
339071 로또 조작은 가능할꺼 같지 않음??? [9] JSP(182.211) 12.11.28 230 0
339070 근데 이번에 성추문 검사 말인데 [2] ㅁㅁㅇ(211.244) 12.11.28 179 0
339069 싱글 게임 제한해제해주실 능력자분 ㅠㅠ 징기스칸4(125.182) 12.11.28 38 0
339068 성추문 검사 여자 사진이 실시간 1위던데 [2] JSP(182.211) 12.11.28 576 0
339067 자바와 자바스크립트의 공통점 [1] 비밀의계곡갤로그로 이동합니다. 12.11.28 105 0
339065 전화기형 근데 형 왜 안보임? [2] Adelposs갤로그로 이동합니다. 12.11.28 42 0
339064 모태쏠로라서 모르겠는데 [2] ktx(121.169) 12.11.28 71 0
339063 진지하게 성인어플 생각하고있다 [7] 얼룩돼지갤로그로 이동합니다. 12.11.28 593 0
339062 프갤러들아 비법전수좀 ㅋ [10] Adelposs갤로그로 이동합니다. 12.11.28 148 0
339061 C언어 과제중인데, 결과가 정확하게 왜 출력이 안될까요 ㅠ [4] 세렌티아s갤로그로 이동합니다. 12.11.28 93 0
339060 저 가드너(gardener) 됨 [6] Kyle(220.244) 12.11.28 148 0
339058 모비스 전산실 운영요원이 op지? [4] 노흑(202.68) 12.11.28 184 0
339057 진지하게 어셈블리어 공부해볼까 고민중이에연 [8] 멘탈붕괴_갤로그로 이동합니다. 12.11.28 155 0
339056 최고의 학벌테크 어떠냐 ? ㅇㅇ [1] ☎2.51™갤로그로 이동합니다. 12.11.28 139 0
339055 포항의봄 워홀이냐? 외국출장이라메 --;; [2] 얼룩돼지갤로그로 이동합니다. 12.11.28 65 0
뉴스 ‘이효리♥’ 이상순 12년 기다림 끝에…‘좋은 소식’ 전했다 디시트렌드 07.17
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2