c语言个人通信录管理系统课程设计报告材料

上传人:ni****g 文档编号:465837737 上传时间:2023-10-17 格式:DOC 页数:24 大小:2.02MB
返回 下载 相关 举报
c语言个人通信录管理系统课程设计报告材料_第1页
第1页 / 共24页
c语言个人通信录管理系统课程设计报告材料_第2页
第2页 / 共24页
c语言个人通信录管理系统课程设计报告材料_第3页
第3页 / 共24页
c语言个人通信录管理系统课程设计报告材料_第4页
第4页 / 共24页
c语言个人通信录管理系统课程设计报告材料_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《c语言个人通信录管理系统课程设计报告材料》由会员分享,可在线阅读,更多相关《c语言个人通信录管理系统课程设计报告材料(24页珍藏版)》请在金锄头文库上搜索。

1、word高级语言程序设计报告个人通信录管理系统院 系: 通信与信息工程学院 班 级: 通信工程1104班 成 员: 杨文刚1107020420 李 岩1107020421 王皓升1107020417 罗 洋1107020418 沈 洋1107020419 王志旭1107020422 时间:2012年7月2日基于链表的个人通信录管理系统课程设计任务书课程设计情况课程设计名称基于链表的个人通信录管理系统指导教师某某职称需学生数6人组长杨文刚成员李岩、王皓升、罗洋、王志旭、沈洋各成员主要负责内容杨文刚 负责主体函数框架建立和函数模块整合李 岩 负责程序的添加模块王皓升 负责程序的删除模块王志旭 负责

2、程序的查找模块罗 洋 负责程序的输出模块沈 洋 负责程序的输入模块程序的调试和测试由小组成员共同参与完成课程设计的报告撰写由杨文刚、李岩完成 / 目 录1234.程序调试与测试 55.程序清单与执行结果 6 5.1 程序清单6 5.2 程序执行结果14201.1 问题描述编写一C语言程序,其功能是建立一个基于链表的个人通信录管理系统,个 人通信录进展建立、输出、添加、查找与删除运行结果进展打印等相关操作。1.2 问题分析首先,选择适宜的存储结构构造个人通信录,对该程序可以分为几个模块进展分析,每个模块在该程序中的作用进展了解。最后用设计连接图将各模块之间的联系连接起来,以方便我们更容易理解。然

3、后,该程序需要一个详细的设计流程图来表示各个步骤所完成的先后顺序,如,对个人通信录进展添加,查找输出打印结果。最后,按流程图进展编写个人通信录的程序,输出结果,并将打印的结果显示出。1.3 设计分析本次实验设计主要是建立个人通信录,要实现个人通信录的建立,个人通信录的查找,个人通信录的添加与个人通信录的删除功能。.设计需求上我们需要掌握以下几点:(1).设计局部1. 写出本次实验的详细设计方案。2. 画出该次程序的流程图。3. 分析该次程序的程序清单,进展程序测试并输出运行结果。4. 对该次程序中个函数的功能分析结果。5. 对该次实验完成后有总结。(2).设计大纲1. 了解, 分析这次实验的主

4、要问题。2. 讨论解决问题的方案。3. 分配组员的个人任务。4. 进展各局部的整合、修改、完善。5. 进展这次实验的总体报告实验总结。2.1 程序设计组成框图个人通信录主函数模块个人通信录查找模块个人通信录删除模块个人通信录添加模块个人通信录输出模块个人通信录建立模块 图12.2 流程图开始菜单项选择择建立输出添加查找删除信息输入信息删除信息查找信息添加信息输出按某某号查找完毕否否否否否是是是是是3.1 模块功能说明3.1.1 通信录建立模块创建链表,并返回表头指针 创建新节点;while (判断读入编号)读入联系人信息;保存到指定的域;指针指向下一新节点;按指定格式输出通讯录表头信息;if(

5、头指针不为空) 按指定格式输出联系人信息;记录联系人数;else通信录为空;3.1.3 通信录添加模块新建节点;屏幕提示输入要添加的联系人信息;读入联系人信息;按联系人编号升序排序;3.1.4 通信录删除模块提示输入要删除的联系人编号;读入编号信息;if找到输出找到的联系人信息;询问是否删除该联系人;else提示没有该联系人;3.1.5 通信录查找模块提示输入要查找的联系人某某号;读入某某号信息;If(找到)显示查找到的联系人信息;else 提示没有该联系人;参照教材编写完程序的各个模块后,我们将各个模块和主函数整合,运行之后主要存在以下几个问题:1. 程序输出信息局部不正确运行程序,输入通信

6、录中联系人信息后,程序输出的和某某号信息错误,有时还会出现负数。经过查找发现在读入联系人信息时,这两项采用了长整型数据类型,但是长整型最大支持的值仍然小于和某某号的值。我们换用字符串类型读入信息后为问题解决。2. 完毕联系人信息的输入以数字0完毕存在问题运行程序,我们在输入联系人信息完毕后是用数字0完毕的,但是当我们输入完信息后,得将下一个联系人的所有信息全部输入为数字0时,程序才会完毕输入。针对这个问题我们修改了输入模块的循环体顺序,让程序先判断输入的联系人编号是否为0,是0时完毕输入,不是0时继续读入联系人信息。这样在我们完毕输入时只需按一次0即可完毕输入。3. 联系人的查找存在问题我们在

7、查找用某某号联系人时,当我们输入通信录中存在的联系人的某某号时,程序能准确查找到该联系人;但当我们输入的某某号信息在通信录中不存在时,程序会非法完毕。为此,我们请教了教师,修改了if语句中的判断条件,程序能够在我们输入的某某号信息不存在时正常提示“通信录中没有该联系人,问题解决。因为我们的程序是根据教材中的程序编写的,所以在调试过程中,程序没有出现大的错误,在模块连接上也没有问题,只是有一些输入输出以与一些循环体上的错误。5.1 程序清单/*主控菜单程序*/#include stdio.h#include stdlib.h#include string.hstruct per /*定义结构体类

8、型*/long int num;char name20;char tel12;char mail30;char add50;long int mnum;char id18;struct per *next;struct per *jianli(); /*声明建立通信录函数*/void shuchu(struct per *head); /*声明输出通信录函数*/struct per *tianjia(struct per *head); /*声明添加联系人函数*/struct per *shanchu(struct per *head); /*声明删除联系人函数*/struct per *ch

9、azhao(struct per *head); /*声明查找联系人函数*/struct per *head=NULL;void main() /*主函数*/ int select;int pass1;int pass=123456;printf(n欢迎使用个人通信录管理系统,请输入登录密码:);scanf(%d,&pass1);if(pass=pass1)printf(n登录成功!nn);doprintf(nt* 欢迎进入个人通信录管理系统 *n); /*主控菜单*/printf(nt - 1: 建 立 通 信 录 2: 输 出 通 信 录 3: 添 加 联 系 人 4: 删 除 联 系 人

10、 5: 查 找 联 系 人 0: 退 出 系 统 -n);printf(nt*n); printf(nt请选择0-5:);scanf(%d,&select);printf(n);switch(select) /*对应模块函数*/case 1:head=jianli();break;case 2:shuchu(head);break;case 3:head=tianjia(head);break;case 4:head=shanchu(head);break;case 5:head=chazhao(head);break;case 0:break;default:printf(您的输入有误,请重

11、新输入0-5:n);while(select!=0);elseprintf(n对不起,您输入的密码不正确,请按任意键退出程序!nn);/*建立通信录函数*/struct per *jianli() /*创建链表,并返回表头指针*/struct per *head; /*表头*/struct per *p1; /*新建节点*/struct per *p2; /*表尾节点*/long int num1;char name120;char tel112;char mail130;char add150;long int mnum1;char id118;head=NULL; /*无任何节点,表头指向空*/printf(请输入联系人编号、某某、某某号、地址与 用空格分隔,用0完毕n);scanf(%d,&num1);wh

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号