[em1]  
  假设你是一个居民小区的信息员,需要经常将一些消息分发、投递给小区内不同身份的住户:有时候是一个人,有时候是一组人,有时候是全部人。为了避免重复而单调的工作,以及减少出错的机会,你决定编写一个程序来替你完成此项工作,并为这个程序取名为:小区广播系统。
这个程序的运作参考模式是
整个系统只有一个EXE执行文件,用户启动系统后,可以以不同的身份登录,模式有分为管理员模式(程序必须预设一个管理员)和普通用户模式两种;也可以注册为新的普通用户,注册时必须注册至一个已经存在的用户组(系统初始化时默认必须存在一个组,以免普通用户无法注册)。成功登录后,功能要求如下:

◎ 管理员模式功能要求
(1)    以三种方式(针对某一用户、针对某一用户组、针对全部用户)进行消息发布。消息可以不带标题,但必须附上发布时间和发布者姓名。
(2)    创建用户组;(可选)删除用户组。
(3)    查看用户的阅读回执(没有具体的格式要求)。
(4)    更改管理员密码。
(5)    (可选)更改用户组属性,删除用户。

◎ 普通用户模式功能要求
(1)    按一定的规则显示已接收消息列表,如按发布时间顺序,(可选)按是否已读条件,(可选)或是两者的综合,(可选)或是其他顺序排列。
注意:主界面列表不能显示消息全文,必须以缩略字串的形式格式化显示。
(2)    用户根据程序提示,输入对应指令后可以阅读、删除某一条特定消息,并选择是否发送回执(即“发布”给管理员的消息)。对于阅读后的消息,自动将“未读”标记为“已读”。
(3)    提供一项或多项查询功能:如,搜索包含有某关键字的所有消息,(可选)搜索最近三天之内发布的所有消息,等等,多多益善。可以以简化方式显示查询结果。
(4)    更改用户密码。
四、试题细节要求及提示
1、每个用户有自己独立的文件存储自己的数据,并且需要一定的措施防止数据被恶意调包。(可选)如果有了加密手段,则是锦上添花。
2、(可选)在尽量保证程序的高执行效率同时,实现数据的无冗余存储。

五、试题程序技术要求
1、完全使用ASNI C语言编写(严禁调用现成的、非标准C库函数或MFC或其他任何第三方库,一旦发现,取消比赛资格)。
2、程序必须至少实现链表和堆栈两种数据结构,不管用在什么地方。如有更好,更高级的数据结构,则欢迎采用。


[color=800000]    帮忙看看这个程序该有怎么样的想法???? 

   谢谢了 [/color]