宋朝太监服饰:编程高手帮我做一下课程设计

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 03:03:10
有一道c++编程题:
1>学生通讯录系统
1.能查看所有成员的名单.
2.能增加,删除,修改一位成员的资料.
3.能查询成员资料.
4.能清空通讯录.
2>要求:界面友好,易于操作.
3>(运行界面参考)
学生通讯录管理系统
0:成员总名单查看;
1:增加一位成员资料;
2:删除一位成员资料;
3:修改一位成员资料;
4:查询成员资料;
5:清空通讯录;
6:安全退出;
请选择(0-6):

楼主你不会吧。。。要全部完全这样的功能。1000字不够吧。。。

我只说一下思想。。。这样的问题,为了高效,最好采用链表结构!并每增加一个成员的同时,都应该用二分法来排序!

最后,资料存到文件上时可采用两种方法。
第一种,用文件映射功能(这种方法最方便,同时效率也不错).

第二种,为了达到最高效率!首先,在某成员存到文件时,不管成员里的各项长度多少,都按最大长度存储,多出的空间可用某一指定的数值来补充! 并采用索引的方式存储! 也就是,一个文件用来存储所有成员的数据!在这里,不用排序!当有成员删除时,在这文件里,也只仅仅用某一标识符来告诉自己,这成员被删了!以后如果有新增的,可继续存放在这里。。。每二个文件作为对第一个文件所有成员的索引!(也就是每一个成员都用它所在的文件偏移的值来存放),如果要访问哪一个成员,就先从索引文件里所到相应的文件偏移后再读取。。。最后,还要有一个文件来指出,在第一个文件里,哪个地方是被删除的!它的目的,是为了尽可能不浪费磁盘空间!

第二种的存储方法,可以说,效率是最高的!按这种结构去存储,再利用二分法的高效搜素。理论上,不管数据量有多大,搜索并读取的速度都会是一瞬间的事!!! 但是,这样方法也最复杂,并也是最浪费磁盘空间的方法(当然,现在的磁盘这么大,这一点点的磁盘空间应该是可以忽略不算的)

楼主还是省省吧,谁会这么无聊替你做这种事。

其实这个程序很复杂,没有几百分是没有人帮你编的