下面是小编为大家整理的手机通讯录设计报告【完整版】,供大家参考。
C 语言程序设计报告 1:
设计目 的 模拟手机通讯录, 能简单的实现分类查看功能, 增加功能, 拨号功能, 查找功能, 修改功能, 删除功能。
2:
总体设计
3:
详细设计 共有六个大模块, 即是六个函数实现上述六新建函数分类查看删除函数修改函数查找函数拨号函数struct phone_list{ char name[30]; char telephone[13]; char FenLei [20]; char email[20]; char QQ[10];};
个功能。
void new_phone (struct phone_list phones[]);新建函数参数是 phones[];
void search_phone (struct phone_list phones[] ,char*name);查询函数。
参数是 name,通过输入的name,进到这个函数中, 实现查询;
void Dial_phone (struct phone_list phones[],char*name );拨号函数, 参数的作用和上面是一样的
void show_dial_name(struct phone_list phones[]);这个是显示所有联系人的名字的函数, 也许这个函数可以不用, 但我们就设计这个比较符合要求的
void FenLei_phone (struct phone_list phones[],char *sort);分类查询函数; 通过输入的类别 sort 进入到子函数中;
void correct_phone (struct phone_list phones[],char *name );修改信息函数; 通过参数 name 进到子函数中
void delete_phone (struct phone_list phones[],char *name);删除函数; 通过参数 name 进到子函数中 4:
调试与测试 由于这是一个模块化的程序设计, 所以我们采用的是一个函数一个函数去测试和调试。
有时遇到的是忘了加; 或者是忘了定义某个变量这样的小错误, 直接改过来就行。
有时候遇到的就是一些写法上的错误, 这时候就需要我们去改代码例如:
switch (choice)
case 1:
char
m[20];
printf("请输入新的姓名:\n");
scanf("%s",&m[20]);
strcpy(phones[i].name,m[20]);break;} 由于我们小组成员 c 语言学的不怎么好, 所以犯了 这样的低级错误不过经过讨论都一一改正了。
还有的就是语法错误, 编译链接都没错就是不能运行或者运行后输出错误的语句。
这时候我们小组就共同讨论, 分析
可能哪里存在逻辑错误, 语法错误。
总之就是细心耐心的去检查每一个函数, 有的不完善的的地方, 我们就一起设计。
5:
源程序清单和执行结果: 6:我们小组就两个人, 没有分组长。
不过具体分工是这样的:
先是我们两个人共同讨论出这个程序的总体设计, 共同把模块设计出来。
总共是先定义了手机通讯录的结构, 然后紧接着定义了六个函数。
由于各个函数都是独立的我们就各写三个函数, 先各自调试后, 再互相交流一起调试, 这样可以减轻工作量。
需要修改的地方在去修改。
经过各种测试与修改最后得出可以运行的实现上述所说的六个功能。
7:
心得体会。
刚开是接到这个题目 时, 觉得一头雾水, 不知从何下手, 毕竟上学期写的都是比较短的简单的代码, 我们几乎都要崩溃了。
可是经过两个周的思考与讨论, 终于有了一点眉目 ,于是就尝试着去写, 可在写的过程中还是遇到了很多的困难, 例如在写删除的函数时就不知道怎么去删除。
以前在学那个动态内存分布是知道有一个 free()可以实现删除, 可在这里也不能用, 学指针的时候也有涉及到删除的操作, 可是这里基本上没有用到指针,也不知怎么用, 经过多次讨论得出直接把要删除的人的后一个人的信息写道他里面, 依次类推, 就可以实现删除并排序。
所以, 我们得出:
1:要把复杂的问题分成一个一个小的问题来
解决。
2:
团队合作很重要, 毕竟一个人的力量是微弱的。
3:要有耐心,要不厌其烦的去测试去修改。