Designing Questions

  • Q: Kind类中的setAuthors方法,接受的参数是否应该改成vector?

  • A: 参数是一个逗号分隔的字符串,中英文逗号都可能出现,要忽略空白,比如“呵呵,,哈哈,”应分析为两个作者,分别是“呵呵”、“哈哈”,又比如: "a b,c d" => "a b","c d" " a b, c d " => "a b","c d" 即内容中间的不忽略,逗号两边的或者整个字符串两端的空格要忽略。


  • Q: Library的searchByAuthor(wstring) 这个wstring是单个的author,还是逗号分隔的多个author?

  • A: 单个的author,这个从命名可以看出来。


  • Q: renew()是什么操作?

  • A: renew是续借,从当前操作日起可以再持有一段时间


  • Q: renew能renew几天? renew能renew几次? 超期之后还能renew吗?

  • A: 和初次借阅一样; 只能连续续借一次; 超期不能续借。


  • Q: 每个Teacher最多能预约几本书?

  • A: 预约数目没有限制


  • Q: ExpiredDays具体是怎么计算的?

  • A: 如果在2010.11.01预约生效,预约保留期限是10天,那么2010.11.11才能被其它非预约者借走。如果在2010.10.01借书,借书期限是30天,那么需要在2010.10.30还书,31日还书算超期一天。一般来说一个比较易于理解的说法可能是:动作开始算一天,动作结束算一天,区间长度里的区间都是闭区间。


  • Q: 如果有本书已经超期,但是还没还,getPenalty需不需要计算这本书的penalty?

  • A: 需要,实时计算penalty,不以借书还书等操作作为计算的时间点。


  • Q: Reader::getPenalty返回的应该是什么?

  • A: getPenalty返回超期天数(比如2010-12-9日超期,那么2010-12-10时getPenalty返回1)


  • Q: 如果删除Book后它所属的Kind一本书也没有了,是否连Kind也一起删除?

  • A: 不一起删除,仍保留该Kind


  • Q: 删用户的条件是什么?

  • A: 没有借书且没有预约


  • Q: 默认的admin能不能被其他管理员remove? 管理员能不能remove自己?

  • A: 可以被其他管理员remove;不能remove自己

个人工具