Я бы "капельку" изменил подход к написанию кода:
0)пароли должны вводится пользователем и остальное вытекает отсюда.
Возможно система будет генерировать стандартный пароль и предлагать пользователю его изменить, как обычно:
введите старый пароль, введите новый, подтвердите новый.
1)использовал типизированные файлы:
[code lang=pascal h=50]TUser=record
name:string[20];
pass:string[20];{задача шифрования пароля пока не актуальна}
rigth:TRights;{тут использовал бы строку, для каждого права доступа свое словосочитание}
end;[/code]
Лень вводить каждый раз одно и тоже.
2)использовал списки и динамическую память, с контролем изменялся ли элемент в памяти(новый юзер или пароль и т.д.), если хоть один элемент изменился, записывать в файл.
3)админ нарезает права пользователям самостоятельно.
4)соответсвенно структура кода будет такая:
загрузить файл пользователей
главный цикл команд:
-новый пользователь;
-сменить пароль;
-доступ к каким либо данным;
-утановить права пользователю(для админа);
-выход и запись данных пользователей в файл.
Каждая команда реализуется ввиде подпрограммы. Это позволит разширять проэкт в будущем.
ps:непонятно что есть объекты и зачем они нужны, если можно то само задание в студию.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.