Если захотите делать в программе более одного файла, очень рекомендую не пытаться его собирать ручками, выполняя каждый раз по несколько команд, а использовать утилиту make. Вы можете использовать ее в чистом виле или использовать autotools:
http://www-128.ibm.com/developerworks/ru/l...ry/multiunix-i/
Последний вариант снимает с ваших плеч намногобольше работы, но в условиях данного задания все-таки небоольшой оверкил.
Интернационализация. Это касается не только того, что ваша программа будет адаптироваться под язык, которым владеет пользователь, но и различных кодировок. Я не знаю, какая кодировка в машзале, у меня utf8, там может быть koi8-r, на виндовых машинах cp1251. Каждый раз конвертить исходник с помощью iconv не круто. Очень рекомендую использовать утилиту gettext. Если поймете, как оно работает, все просто:
http://os2.in.ru/rdm2/articles/fish2.html
Для полноэкранного режима используйте ncurses:
http://www.opennet.ru/docs/HOWTO/NCURSES-P...OWTO/index.html
Но не злоупотребляйте им. ИМХО пригодится только для пункта "полноэкранный просмотр текста...". Остальная часть программы у меня скорее всего будет работать в обычном режиме. Русские описаловки есть, просто мне пока они не нужны, буду искать, выложу.