KimGyeongLock / Lab13

0 stars 1 forks source link

함수구현파일 만들기 #5

Open KimGyeongLock opened 4 years ago

KimGyeongLock commented 4 years ago

2020/05/02 book.c 생성 selectMenu() 함수 구현

suminyoo commented 4 years ago

검색기능은 제외하고 구현해야하니 일단 제가 검색기능 말고 메인함수 구현하겠습니다.

구현하는 함수들은 crud있는 파일 말고 따로 만들어서 올리겠습니다. 헤더파일도 분리하시는게 좋을것 같으면 그렇게 할게요. 헤더는 놔둘까요 분리할까요?

KimGyeongLock commented 4 years ago

분리하는 것도 보기 편할거 같아요!

KimGyeongLock commented 4 years ago

2020/05/06 book.c 업데이트 CRUD 구현

KimGyeongLock commented 4 years ago

main 함수 만드시고 테스트 해보실 때 버그 있으시면 말씀해주세요!

suminyoo commented 4 years ago

제가 파일 실행될 수 있게 임의로 book.c 파일을 조금 고쳤습니다. 메뉴 보여주는 함수 리턴 타입을 조금 고쳤는데 실행은 되지만 책 정보 문자열들이 입력이 안되길래 문자열을 입력받는 부분의 [^\n] 부분도 고쳐서 테스트 해봤는데 안되더라구요. 아마 [^\n] 이부분이 정보 입력할 때 잘 안되는거 같기도 한데 %s 랑 getchar로 입력버퍼 해결해보셔서 되는지 안되는지 한번 확인해주셔도 될거 같아요!

그거 외에는 그 반납여부 변수를 어디에 활용할 수 있는지 얘기해보면 좋을것 같네요. 일단 삭제하는 곳에는 포함 되어있지 않더라구요

KimGyeongLock commented 4 years ago

일단 말씀하신 부분은 getchar를 이용하여 고쳤구요 반납여부 변수는 char로 바꾸어 OX로 구분해보았습니다. 대출을 하였을 때 X로 바꾸고 반납을 하게되면 O로 다시 바꾸는 식으로 하였고 이렇게 하여 후에 검색을 하는 과정에서 조금 더 업그레이드 하여 대출중인 X인 책을 검색할 경우에는 "이 책은 대출중입니다"라는 문구를 띄우고 아예 없는 책을 입력할 경우에는 "이 책은 없는 책입니다"라는 방식으로 하면 더 좋을 거 같아요

KimGyeongLock commented 4 years ago

아 그리고 gitignore 파일 만들어 목적파일과 실행파일 넣어줬습니다.

suminyoo commented 4 years ago

그럼 대출기능(삭제기능)을 구현할때 책이 리스트에서 삭제된 것이 아닌 그저 대출 중인것이기 때문에 모든 책 리스트를 다 저장하면 되는건가요? 지금은 대출하면 리스트에서 없어지게 구현이 되어있는데 어떻게 할까요? 그리고 검색기능을 구현할때 책 이름으로 검색하지만 리스트에서 x로 되어있으면 대출중입니다 문구를 띄우고요. 맞나요?

suminyoo commented 4 years ago

지금 확인해보니까 조회할때 대출중인 도서 정보는 뜨지 않게 하고 저장은 되게 구현되기만 하면 될 것 같네요. 검색할때만 대출중인 도서는 대출중임을 알리도록하겠습니다.

suminyoo commented 4 years ago

검색함수 메인에 추가했고 파일은 실행이 잘됩니다. 도서목록을 불러온 후에도 대출중인 도서는 표시가 안되기에 번호가 건너뛰어서 조회가 되는데 여기서 하나 문제가 있는게 건너 뛴 번호를 골라도 도서정보 수정이 가능한 점입니다. 대출중이어서 보이지 않는 도서는 수정할 수 없도록 하는게 맞을까요 아니면 이대로 둘까요

KimGyeongLock commented 4 years ago

아무래도 대출중인거는 수정할 수 없도록 해주는게 나을 거 같아요!!

KimGyeongLock commented 4 years ago

확인중에 대출중인거는 delete에서도 선택을 못해야 된다고 생각해서 booknumber에서 선택하면 다른 번호를 누를수 있게 해주었습니다. 그리고 search에서 문장인 책의 이름을 넣어주게 되면 버그가 생기는 것을 발견했습니다. %[^/n]s 식으로 바꾸어보았지만 고쳐지지 않아서 한번 봐주실 수 있나요? 그리고 sort라는 함수를 생각해봤는데 저희가 지금 만든 번호가 대출된 책들을 뛰어넘고 번호가 매겨지다 보니 정렬을 할 필요가 있나 생각이 들더라구요 혹시 어떻게 생각하시나요?

suminyoo commented 4 years ago

검색하는 버그는 고쳤습니다. 이제 문장도 입력 될거에요. 정렬함수는 굳이 필요는 없지만 만약 기능을 넣고 싶다면 사람들이 책을 조회할 때 정렬된 리스트를 볼 수 있게 할 수도 있고, 아니면 어차피 대출된 책 정보가 사라지는것은 아니니 저장할때 정렬해도 상관없을것 같은데 굳이 해야한다고 생각하지는 않아요

KimGyeongLock commented 4 years ago

sort함수를 list에 넣어서 1번 조회를 하게 되면 대출 가능한 것과 불가능 한 것 둘다 나오게 만들었고 만약에 대출가능한 책들만 보고 싶을 때를 만들어 대출 가능한 것만 순서를 정렬하여 만들게 하였습니다. 그런데 지금 버그를 발견한게 저장된 파일을 불러와서 읽을 때 author이 띄어쓰기가 있는 사람일경우 문제가 생기긴 하더라구요 한국사람이라면 상관없긴 한데 ㅎㅎ.. 이부분만 한번 생각해보시면 코드 완성된거 같습니다. 혹시 테스트해보시고 문제없으시면 screenshot 찍어주실수 있나요? 저는 wiki 정리 하겠습니다!!

suminyoo commented 4 years ago

알려주신 버그 고쳤습니다. 그 대출가능한 책들만 보여주는 부분에서 y나 Y가 아닌 다른 것 문자를 실수로 입력하면 다시 묻는 부분이 있어야할 것 같아요. 잘못입력했을때 수정하는 기능으로 들어가는 경우도 있고 반납하는 기능으로 들어가는 경우가 있어서요. 혹시 스크린샷 어떻게 push하는지 아시나요

KimGyeongLock commented 4 years ago

y이나 Y가 아닌 문자가 입력될 시에는 아마 n처럼 아무 발생없이 넘어가게 만들었습니다. 테스트해본 결과 k이나 q같은 문자가 들어와도 그냥 종료될겁니다

KimGyeongLock commented 4 years ago

스크린샷 같은 경우에는 저도 잘 모르지만 github 메인에 file upload나 filezilla 이용해도 될거 같아요

KimGyeongLock commented 4 years ago

스크린샷 올려놓았습니다! 확인하시고 제출하세요!!

KimGyeongLock commented 4 years ago

수고하셨습니다!!