Първо домашно за упражнения
Изисквания за завършване
Бонус: реализирайте fixMessages() така, че възможно най-много съобщения да бъдат запазени, т.е. да не се налага преместването им в messages.txt.
Важно: моля качете ZIP файл, съдържащ всички файлове, необходими за решението си, дори архивът да се състои само от един .cpp файл.
Отворено: вторник, 8 ноември 2011, 13:00
До: понеделник, 21 ноември 2011, 21:00
- Да се реализира клас Message, който представя текстово съобщение, което се характеризира с име на подател (до 20 символа), текст (до 140 символа) и получател (№ на пощенска кутия). Номер на получател 0 означава празно съобщение.
- Да се реализира клас Mailboxes, който представя съвкупност от пощенски кутии, номерирани последователно то 1 до n, всяка от които може да съдържа максимум едно съобщение. Числото n се подава на конструктора на класа Mailboxes. Информацията за съобщенията, намиращи се в пощенските кутии се пази в двоичен файл с пряк достъп. За класа Mailboxes да се реализират следните методи:
- void printMessage(int i, ostream& out), който извежда в текстовия изходен поток out съобщението, което се намира в пощенската кутия с номер i, ако то не е празно. Не е от значение точният формат, в който ще бъде изведено съобщението, единственото условие е да се отпечата цялата информация за него;
- void sendMessage(Message const& m), който записва текстовото съобщение m в пощенската кутия, която е означено в нея. Ако в пощенската кутия вече има друго съобщение, то да се замести с новото, но преди това да бъде добавено в края текстовия файл messages.txt;
- void fixMessages(), който проверява дали всички пощенски кутии съдържат съобщение, което е адресирано до тях. В случай, че кутия съдържа съобщение, което не е адресирано до нея, то да бъде преместено в правилната пощенска кутия, спазвайки правилото, описано в горвана точка. След приключване на изпълнението на fixMessages(), всички пощенски кутии трябва или да са празни, или да съдържат адресирано до тях съобщение.
Бонус: реализирайте fixMessages() така, че възможно най-много съобщения да бъдат запазени, т.е. да не се налага преместването им в messages.txt.
Важно: моля качете ZIP файл, съдържащ всички файлове, необходими за решението си, дори архивът да се състои само от един .cpp файл.