文档介绍:数据结构课程设计报告
学生姓名: 孔令周
指导老师: 陈占龙
班 级: 116102
学生学号: 021
实习题目一
需求规格说明书
设停车场是一个可
【改进设想】
用类的思想, 本题我还是沿用的过程思想, 对各个过程处理好就出了结果, 尽管结果没有错,
但是和面向对象的思想不是太符合,所以希望可以用个停车场这一个类来处理问题。
【体会】
有时候在调试的时候的很小的一个结果和预想的不符就是很大的思想问题, 比如我调试的时
候最后一步有时候钱算的不对,就是添加删除时的时间没有处理正确,所以,错误不在小。
要知道为什么会出这个错。编程的时候重要的是提前把思路理好。
附录
class Car
{
public:
int carno; arno=i;
}*/
while (true)
{
cout<<" 进站还是出站: ";
cin>>situa;
if (situa!='A' && situa!='D' && situa!='E')
{
cout<<" 错误状态!请输入 A , D 或者 E !"<<endl;
cout<<" 进站还是出站: ";
cin>>situa;
}
if (situa=='A')
{
cout<<" 车牌号: ";
cin>>no;
cout<<" 进 / 出 站时间: ";
cin>>tim;
if (index<=2)
{
cout<<" 位置: "<<index<<endl;
}
else
{
cout<<" 车道上 "<<endl;
}
car[no].intime=tim;
car[no].carno=no;
index++;
ntime)<<endl;
cout<<" 应缴费用: "<<(tim-(car[no].intime))*2<<" 元 "<<endl;
index--;
preindex--;
求规格说明书
人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简
单 的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。
总体分析与设计
【设计思想】
本题要求的是做一个通讯录, 由于所需要的数据量比较大, 所以考虑在外存中进行处理,
这里用的是 txt 文件。当然本来想用数据库的,但是水平不到家。 所以放弃了。新建一个数
据类型,包括姓名,固定电话,移动电话,电子邮箱。为了实现对电话号码的快速查询,可
以将上述结构数组排序,以便应用折半查找,但是, 在数组中实现插入和删除操作的代价
较高。如果记录需频繁进行插入或删除操作,可以考虑采用二叉搜索树组织电话号码信息,
则查找和维护都能获得较高的时间性能。
【设计表示】
开始
添加 删除 插入 退出
【详细设计表示】
设置四个选项, 0、1、 2、 3 分别代表退出、查询、插入、删除。根据所需要的功能做
出操作。 初始数据储存在 txt 文本中。 如果选择退出则退出系统, 如果选择插入则需填写姓
名,电话,手机,邮箱信息。根据名字按照二叉搜索树的形式组织插入,如果选择删除,根
据名字的次序在搜索树中删除。如果是查询也根据二叉搜索树的形式删除。
编码
名字的判断大小, 因为组织二叉搜索树的时候需要对插入和删除做优化, 所以需要对名字的大小问题作出比较。 解决的时候是通过操作符重载完成的。 开始的时候不知道汉字怎
么比较大小。 后来通过请教了解到汉字可以直接比较大小。 大于号的重载就是这个人的名字大于另外一个人的名字。
二叉树的插入,我拷的是以前的代码 其实自己重写一遍话的时间还少一些,因为 pp 和 p 搞反了。后来问了张唯老师才在讲的时候发