printf("%s\t\t",txl->Tel);
printf("%s\n",txl->Address);
printf("----------------------------------------------\n");
}
主函数:
用switch语句进行功能选择的相应操作:
switch(num)
{
case 1:
{
char ch;
while(1)
{
do{
ch=getchar();
}
if(ch=='Y')
{
addPeople(&txl);
}
else
{
break;
}
}
break;
}
case 2:
{
displaySingle(result);
break;
}
case 3:
{
displayCharacter (txl);
break;
}
case 4:
{
delPeople(&txl, query);
break;
}
case 5:
{
displayCharacter(txl);
break;
}
case 6:
{
goto END;
}
}
}
END:
printf("退出程序\n");
3、系统实现
-遇到的问题及解决方法
一开始我是使用的用数组结构体指针进行代码操作,操作结束后发现了录入和打印函数可以运行,而查询修改删除有小问题,得到的不是自己想要的结果,很是纳闷,觉得strcmp()函数没有问题,思路是正确的,百度也没查出来了,就换了课本的链式储存,大概敲了两个下午才完整敲完代码,中间思考设计界面,函数逻辑设计,刚开始是边写边调试,运行了一下发现录入函数有问题,找了好久才发现开头定义少了一个字母,很不仔细,耽误了好久时间去查找调试去解决这个问题。后面的调试过程中一些标点括号啥的慢慢排除修改,最后就可以运行出来结果,程序总体上没有太大的错误,最终花时间设计打印的格式思考了下格数啥的完成了代码的敲写,编译,运行。
-算法复杂度分析
添加联系人:O(1);
查询联系人:O(n);
删除联系人:O(n);
修改联系人:O(n);
遍历联系人:O(n);
4、测试
-测试方法:
将代码敲完在VC6.0里进行编译,发现没有错误,运行调试对应的功能,检查是否成功。
总结及展望
本学习在网课中学习了数据结构这门算法课,期间学习了线性表,栈与队列,树与二叉树,图等知识点,在学习的过程中是枯燥的,可是自己反复敲代码把题目写出来,心里很开心,即使花费了大量时间在一个错误上纠结,但是最后可以通过自己的查询,思考解决了困难,对自己代码的学习很有帮助,增加了经验的积累,学习算法后,对解决问题扩展了思维,逻辑上有很大的提升。这次期末作业设计一个通讯录系统,明白程序的开发必须有自己的思路并且有强大的算法知识基础才能开发的出,本次实验中也遇到很多困难,翻开课本查找知识消化后可以逻辑思路以及基本的代码框架。言而总之,学习代码是一直不停的过程,同时思考问题解决问题也是很重要的,敲代码速度也必须平时多练加快自己的速度,未来的道路加强敲代码和做题的练习。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct TXL