SSE2032: System Software Experiment 1 (Spring 2018)

[Programming Assignments]

  • hw1 score
  • hw2 score
  • hw2 결과가 수정되었습니다. (18.06.11 12:00pm)
  • hw3 score
  • hw3 감점 이유를 확인하고 싶은 분은 조교에게 메일로 연락주시기 바랍니다.

Average : 69.4

PA#1 (Due: 5/12(Sat.) 11:59pm / Last update: 5/6(Sun.), 12:00PM)

  • Skeleton code
  • 제출 기한이 변경되었습니다. (~5/12 11:59pm)
  • register_book과 register_user에서 잘못된 값을 입력하는 testcase는 수행하지 않습니다. 즉, register_book이나 register_user를 수행하게 되면 무조건 valid한 book 혹은 user가 추가되는 케이스만 테스트 하겠습니다.
  • print에서 같은 카테고리에 있는 책들끼리의 배열은, order에 상관없이 index 오름차순으로 배열해주세요.
  • query에서, 대소문자를 구분하지 않습니다. 즉, The로 검색을 할 때와 the로 검색을 할 때의 결과는 같아야 합니다.
  • print에서 borrowed_by로 검색을 할 시, 오름차순, 내림차순 상관없이, BORROW된 책들 부터 먼저 나와야합니다. 또한 모든 영문자로 시작하는 title들은 반드시 대문자로 시작합니다.
  • 책을 return한 후 wait list에 있는 대상(A)이 이미 책 4권을 소지하고 있는 경우, A는 wait list에서 제외하고, 그 다음에 기다리고 있는 user(B)에게 양도해주세요. 만약 B역시 이미 책 4권을 빌린 상태라면 C에게 양도해주세요.
  • Index로 query를 진행할 경우, 반드시 해당 index에 맞는 책만 출력해야 합니다. 예를 들어 1로 검색을 하였을 때 index no. 11, 10, 21과 같은 책들은 출력하면 안됩니다.

PA#2 (Due: 5/23(Wed.) 11:59pm / Last update: 5/14(Fri.), 04:00PM)

[Notice]

  • Skeleton code가 변경되었습니다. (초단위 실행 시간 측정 추가) (18.05.18 18:00pm)
  • Input text가 변경되었습니다. (18.05.14 04:00pm)
  • Answer text가 변경되었습니다. (18.05.14 04:00pm)
  • 단어 중간의 -와 '는 단어로 인정하되, 단어의 첫 글자는 알파벳이어야 합니다.
  • 단어 -와 ' 또한 아스키코드 순으로 정렬합니다. (': 39, -: 45)
  • 한 단어가 같은 줄에서 여러 번 사용된 경우, 줄 번호를 여러 번 기입합니다. (ex. abc: 2, 10, 10 / abc라는 단어가 10번 줄에서 2번 사용)
  • Diff 사용 방법: 아래와 같은 커맨드를 사용하면, diff.out에서 두 파일의 차이를 확인할 수 있습니다.
    $ diff answer.txt my_answer.txt > diff.out
  • 숫자가 하나라도 포함되어 있는 단어는 무시 바랍니다.
  • 프로그램 실행 시간 기준 (1분 이내 통과 / 초과하는 경우에는 전체 결과에 따라 약간씩 차등을 두겠습니다)
  • 제출 양식은 "학번.tar" 이며, 파일은 "hw2.c", "Word로 작성한 보고서(없을시 한글로 작성)" 두 개만 압축 바랍니다.

PA#3 (Due: 6/14(Thur.) 11:59pm / Last update 6/6 22:00 )

[Notice]

  • tar -xvzf HW3.tar.gz 로 압축 해제하시면 됩니다.
  • HW2와 마찬가지로 Diff를 통해 동작을 확인하시기 바랍니다.
  • string.h 사용하셔도 됩니다.
  • include 파트에서 " "로 헤더파일을 넣는 경우는 고려하지 않으셔도 됩니다.
  • function들에서 input으로 받는 parameter들은 최대 3개로 제한하겠습니다.
   ex) void welcome(int input1, int input2, int input3)
  • main.c에서 전역변수 사용하셔도 됩니다.
  • printf를 제외한 scanf등의 함수는 사용되지 않습니다.
  • num = - 20; 같은 input에 대해서도 고려하셔야 됩니다. (int가 음수로 들어오는 경우)
  • printf 내에 "..." 내부에서 \n을 제외한 역슬래쉬는 사용되지 않습니다.
  • (중요) input.txt의 마지막 for문에서 num2--가 붙어있는데 num2 -- 가 input으로 주어지는 것이 맞습니다.
  • 제출 양식은 "학번.tar" 이며, 파일은 "hw3.c", "Word로 작성한 보고서(없을시 한글로 작성)" 두 개만 압축 바랍니다.

p6