디시인사이드 갤러리

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

갤러리 본문 영역

도서관리 프로그램 질문요 ㅠㅠ 뭐가 잘못된건지;;

엠엠데쓰갤로그로 이동합니다. 2009.12.04 19:17:56
조회 75 추천 0 댓글 6

질문 요약 :   학교에서 이거로 기말 프로젝트를 하는데요;; STUDENT항목이 계속 에러가 나는데;;

<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"><BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">

그리고 도서 반납할때도 이상하게 돌아가 버려요 ㅠㅠ 뭐가 잘못된 걸까요?ㅠㅠ

</BLOCKQUOTE></BLOCKQUOTE>

 

 

질문 내용 :  

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>

#define MAX 20//최대 20권의 도서를 저장 할 수 있다.
#define Max 5//최대 5명의 회원을 저장 할 수 있다.

typedef struct BOOK //도서에 관련된 구조체 선언
{
 char name[20];//이름
 char number[20];//도서번호
 char author[20];//저자
 char publish[20];//출판사
 int flag;   // 0 또는 1 을 갖는다. (0은 대출가능, 1은 대출중)
 char borrow;//대출가능을 표시(flag로 O와 X를 출력 할 수 없으므로 [디자인상 보기 편하도록])
 
} BOOK;

typedef struct STUDENT //회원에 관한 구조체 선언
{
 char name[20];//이름
 char subject[20];//학과
 int number;//학번
 char phone[20];//연락처
 char address[50];//주소
 char email[20];//이메일
} STUDENT;

void Book_input(BOOK *, int *);
void Book_delete(BOOK *, int *);
void Book_borrow(BOOK *, int *);
void Book_return(BOOK * , int *);
void Stu_input(STUDENT * , int *);

int main()
{
 int choice;
 int Book_count=0;
 int *ptr_Bookcount = NULL;
 
 BOOK Book_list[MAX];
 BOOK *ptr_Book =NULL;

 ptr_Book = Book_list;
 ptr_Bookcount = &Book_count;

 int Stu_count=0;
 int *ptr_Stucount=NULL;

 STUDENT Stu_list[Max];
 STUDENT *ptr_Stu = NULL;

 ptr_Stu = Stu_list;
 ptr_Stucount = &Stu_count;

 

 while(1)
 {
  system("cls");

  printf("1.도서입력\\n");
  printf("2.도서삭제\\n");
  printf("3.도서대출\\n");
  printf("4.도서반납\\n");
  printf("5.회원등록\\n");
  printf("6.회원삭제\\n");
  printf("7.종료\\n");
  printf("=============\\n");

  scanf("%d",&choice);

  switch(choice)
  {
  case 1:
   Book_input(ptr_Book, ptr_Bookcount);
   break;
  case 2:
   Book_delete(ptr_Book, ptr_Bookcount);
   break;
  case 3:
   Book_borrow(ptr_Book, ptr_Bookcount);
   break;
  case 4:
   Book_return(ptr_Book, ptr_Bookcount);
   break;
  case 5:
   Stu_input(ptr_Stu, ptr_Stucount);
   break;
  case 6:
   break;
  case 7:
   exit(0);
  default :
   break;
  }
 }
 return 0;
}
void Book_input(BOOK *pBook, int *c)
{
 int N = *c;
 int i;
 int m;  // 새로 입력받은 도서의 갯수를 저장하는 변수

 system("cls");//전의 화면을 깨끗이 지움
 fflush(stdin);

 printf("입력하실 도서의 갯수는?   ");
 scanf("%d", &m);
 fflush(stdin);
 for(i=N;i<m+N;i++)
 {
  printf("도서명 : ");
  gets(pBook[i].name);
  printf("출판사 : ");
  gets(pBook[i].publish);
  printf("저자 : ");
  gets(pBook[i].author);
  printf("도서번호 : ");
  gets(pBook[i].number);

  pBook[i].flag = 0;
  fflush(stdin);  // 키보드의 버퍼를 없애주는
 }

 N += m;

 for(i=0;i<N;i++)
 {
  printf("%s\\n%s\\n%s\\n%s\\n",pBook[i].name,pBook[i].publish,pBook[i].author,pBook[i].number);
 }

 printf("\\n");

 getchar();
 fflush(stdin);

 *c = N;
}
void Book_delete(BOOK *pBook, int *c)
{
 int N = *c;
 int i, j;
 int index;

 system("cls");
 fflush(stdin);

 for(i=0;i<N;i++)
 {
  printf("%d ",i+1);
  puts(pBook[i].name);
  puts("");
 }

 printf("몇 번 도서를 지우시겠습니까? ");
 scanf("%d",&index);

 if( !(index > 0 && index <= N ) )
 {
  fflush(stdin);
  printf("입력에 오류가 있습니다.\\n");
  getchar();
  return;
 }

 for(i=0;i<N;i++)
 {
  if( i == index-1 )
  {
   for(j=i;j<N-1;j++)
   {
    pBook[j] = pBook[j+1];
   }
  }
 }

 N--;

 *c=N;
}
void Book_borrow(BOOK *pBook, int *c)
{
 int N = *c;
 int i;
 int index;

 system("cls");
 fflush(stdin);

 for(i=0;i<N;i++)//도서의 대출가능성을 알려준다(O,X)로
 {
  if(pBook[i].flag==0)
  { 
   pBook[i].borrow=\'O\';
   printf("%d : %s / %s / %s / %s / %c \\n",i+1,pBook[i].name,pBook[i].publish,pBook[i].author,pBook[i].number,pBook[i].borrow);//대출 가능시의 상태
  }
  else
  {
   pBook[i].borrow=\'X\';
   printf("%d : %s / %s / %s / %s / %c \\n",i+1,pBook[i].name,pBook[i].publish,pBook[i].author,pBook[i].number,pBook[i].borrow);//대출 불가능의 상태
  }
 }
 getchar();
 fflush(stdin);

 printf("몇 번 도서를 대출 하시겠습니까 : ");
 scanf("%d",&index);
 while(1)
 {
  if( !(index > 0 && index <= N ) )
  {
   fflush(stdin);
   printf("입력에 오류가 있습니다.\\n");
   getchar();
   
  }
  else
  {
   break;
  }
 

  for(i=0;i<N;i++)
  {
   if(i+1 == index)
   {
    if(pBook[i].flag==0)
    {
     pBook[i].flag = 1;
     printf("%d번 도서가 대출 되었습니다.\\n",index);

     break;
    }
    else
    {
     printf("%d번 도서는 이미 대출중 입니다.\\n",index);
     getchar();
     return;
    }
   }
  }
  getchar();
 }
}

void Book_return(BOOK *pBook , int *c)
{
 int N = *c;
 int i;
 int m;//반납할 권수를 입력하는 변수
 system("cls");
 fflush(stdin);


  fflush(stdin);
  printf("반납하실 도서의 권 수를 입력하세요\\n");
  scanf("%d", &m);

  if(m>20||m<=0)//권 수를 잘못 입력했을때 다시 입력을 받기위해
  {
   printf("잘못 입력하셨습니다.");
  }
  


 
 
 for(i=N;i<m+N;i++)
 {
  
    printf("반납하실 도서번호를 입력하세요 : \\n");//반납하는 도서의 번호 입력
    gets(pBook[i].number);

    if(pBook[i].flag!=1)
    {
     printf("잘못 입력하셨거나 이미 반납되었습니다.");
    }

    else if(pBook[i].flag==1)
    {
    pBook[i].flag = 0;//반납처리
    fflush(stdin);  // 키보드의 버퍼를 없애주는
    printf("반납되었습니다");
    }
    getchar();

 

 }
 return;

}
void Stu_input(STUDENT *pStu, int *d)
{
 int N = *d;
 int i;

 system("cls");//전의 화면을 깨끗이 지움
 fflush(stdin);

 printf("회원가입을 시작 하겠습니다.   ");
 getchar();
  printf("회원이름 : ");
  gets(pStu.name);
  printf("소속학과: ");
  gets(pStu.subject);
  printf("학번 : ");
  gets(pStu.number);
  printf("연락처 : ");
  gets(pStu.phone);
  printf("주소 : ");
  gets(pStu.address);
  printf("이메일 : ");
  gets(pStu.email);
   

  
  fflush(stdin);  // 키보드의 버퍼를 없애주는
 }


 for(i=0;i<N;i++)
 {
  printf("%s\\n%s\\n%s\\n%s\\n%s\\n%s",pStu[i].name,pStu[i].subject,pStu[i].number, pStu[i].phone, pStu[i].address, pStu[i].email);
 }

 printf("\\n");

 getchar();
 fflush(stdin);

 *d = N;

 return;
}
 

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
163317 나 지금 몹시 화가 나있어.. [1] sh(68.147) 09.12.19 142 0
163315 프갤 능력자횽들 opengl 질문이요 [5] 머임마(115.143) 09.12.19 133 0
163314 실무 횽들.. 인턴쉽했던거 회사가면 증명서 만들어줘? [2] 실직자(61.72) 09.12.19 89 0
163313 재귀호출에 대해서.. [15] yundream(203.130) 09.12.19 173 0
163312 생각해 보니까 언어 공부를 벗어나질 못하고 있네 [2] 양희철갤로그로 이동합니다. 09.12.19 115 0
163311 횽들 프로그래밍언어 배울려고하는 초짜인데 조언좀.. [6] ㅇㅁㄹㄴ(123.248) 09.12.19 102 0
163310 하고 싶은 일을 한다? [6] 고민남(221.151) 09.12.19 137 0
163306 [경력관리 질문] 프로그래밍 질문 [3] 고민남(221.151) 09.12.19 89 0
163305 야~ 너희들이 후로구래밍에 F 알아? 응?응?응? [3] 물속의다이아갤로그로 이동합니다. 09.12.19 96 0
163304 덕짤 올리는 놈들은 봐라 [8] 피로토스갤로그로 이동합니다. 09.12.19 152 0
163302 바탕화면 쓰시고 행복하시라능.jpg 숙신갤로그로 이동합니다. 09.12.19 104 0
163301 역시 자료구조 공부의 최고는 [1] 숙신갤로그로 이동합니다. 09.12.19 162 0
163300 STRUCT [16] (124.56) 09.12.19 149 0
163299 현위치 연신내 [6] Alkyl갤로그로 이동합니다. 09.12.19 114 0
163298 쉘 명령어의 출력 결과를 파일에 저장해줄 수 있나요? [3] 리눅스(211.237) 09.12.19 89 0
163297 다음 중 가장 노가다 성이 짙은 직업을 고른다면? [1] ㅎ3(112.222) 09.12.19 119 0
163296 MFC 쫌 가르쳐주세요 ~ [26] soul(180.64) 09.12.19 400 0
163294 재미있는 프로그래밍 동화 [완결] [10] 소설가(121.139) 09.12.19 181 0
163293 아침을 여는 JuEUS-U갤로그로 이동합니다. 09.12.19 74 0
163292 컴공과 가눈데.. [2] 박바람갤로그로 이동합니다. 09.12.19 146 0
163291 Monty python - Galaxy Song 좇문가갤로그로 이동합니다. 09.12.19 29 0
163290 [unix C] pthread 동작 방식??? [2] 위디안갤로그로 이동합니다. 09.12.19 128 0
163287 랜덤짤 투척후, 퇴갤 ㅂㅂ~~~ Rhea갤로그로 이동합니다. 09.12.19 115 0
163286 미국 감독하고 단편영화 찍을 뻔 했는데 오디션 떨어짐 T.T [3] 오사카(221.153) 09.12.19 184 0
163285 이렇게 추운날이면.... ChiChi갤로그로 이동합니다. 09.12.19 39 0
163284 더러운 규제가 이제야 좀 풀리려나 ㅋㅋ(211.223) 09.12.19 97 0
163283 ㅈ님 참고하세요.. [2] 야메떼♥갤로그로 이동합니다. 09.12.19 88 0
163282 자바 소켓에서 입력스트림받을때 [3] (121.138) 09.12.19 94 0
163281 새벽에 입개르.. [1] Rei@디씨갤로그로 이동합니다. 09.12.19 65 0
163278 서울버스 앱 접근제한 풀렸다 [7] 피로토스갤로그로 이동합니다. 09.12.19 137 0
163274 횽들 이것봐라~ [10] 어떡해갤로그로 이동합니다. 09.12.19 152 0
163273 이건 뭐 공부를 해도해도... [9] 까북갤로그로 이동합니다. 09.12.19 162 0
163271 좋은 밤이에요 cp(118.219) 09.12.19 24 0
163269 횽들 컴공대학원가려면 프로그래밍 어느수준이어야돼?? [11] 알코객(116.41) 09.12.19 449 0
163267 도메인부터 수상한 NaCl갤로그로 이동합니다. 09.12.19 52 0
163266 오늘도 술~ 내일도 술~ [3] Rhea갤로그로 이동합니다. 09.12.19 104 0
163265 아흠,,, 오늘도 열심히... JuEUS-U갤로그로 이동합니다. 09.12.19 51 0
163264 으흐흐흐 귀여워... [6] 세브(121.131) 09.12.19 149 0
163263 코갤 씹갤러의 위엄.JPG [4] Rhea갤로그로 이동합니다. 09.12.19 3025 0
163262 db-php-xml 연동중인데.. [8] 여행자(123.142) 09.12.19 170 0
163261 으잌ㅋㅋ 드디어 시험이 끝났다 ㅋㅋㅋㅋ [3] URA!갤로그로 이동합니다. 09.12.19 54 0
163259 국비학원질문 [2] 김국비(121.132) 09.12.18 125 0
163258 고딩으로써.. 님께 [5] 아..(119.70) 09.12.18 87 0
163256 진짜 한이 맺힌다 ㅡㅡ... [16] 아..(119.70) 09.12.18 251 0
163254 세브횽 사진은 혐짤인가여. [2] 컴공볍진갤로그로 이동합니다. 09.12.18 104 0
163253 으잌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [2] 세브(121.131) 09.12.18 92 0
163252 세브 [5] 유리한갤로그로 이동합니다. 09.12.18 106 0
163251 다이렉트x 를 이용하여 프로그래밍 하고 배포시 질문입니다. 제발.ㅠ_ㅠ [4] ㅠ_ㅠ(114.200) 09.12.18 100 0
163246 MSDN.. [4] CCC(203.237) 09.12.18 72 0
163244 컴터에 미친 횽들에게 질문 [20] AL갤로그로 이동합니다. 09.12.18 152 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2