课程设计--通讯录管理的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计--通讯录管理的设计与实现
课程设计(大作业)报告
课程名称:数据结构课程设
计
设计题目:通讯录管理的设计与实
现
院系:信息技术学院
班级:10级计算机应用技术
班
设计者:李婷
学号:201011020120
指导教师:阿圆
设计时间:
2011-12-26~2011-12-30
信息技术学院
昆明学院课程设计(大作业)任务书
姓名:李婷院(系):信息技术学院
专业:计算机应用技术学号:201011020120
任务起止日期:2011-12-26~2011-12-30
课程设计题目:
通讯录管理的设计与实现
课程设计要求:
1)问题描述
通讯录管理系统一般包括通讯者结点信息的插入、查询、删除、输出功能,通讯者结点的信息一般包括编号、姓名、性别、电话、地址等项。
2) 基本功能
(1)通讯录的建立;
(2)通讯者信息的插入;
(3)通讯者信息的查询(按姓名或编号查询);
(4)通讯者信息的删除;
(5)通讯录信息的输出;
工作计划及安排:
1、问题分析和任务定义;(0.5天)
2、数据类型和结点结构设计;(0.5天)
3、算法设计与分析(1.5天)
4、编码实现和上机调试;(1.5天)
5、总结和整理课程设计报告。(1天)
指导教师签字
2011年12 月29 日
课程设计(大作业)成绩
学号:201011020120 姓名:李婷指导教师:阿圆
课程设计题目:
通讯录管理的设计与实现
总结:
我们经过一个星期的时间把我们的通讯录管理的设计与实现做了出来,时间有些赶,做出来的有点不是很好,我们主要做了菜单模块:显示通讯员信息的菜单,共用户选择所需功能;输出模块:添加删除功能:能根据通讯员人事的变动情况,添加删除记录,利用void Add(Link l)实现添加,利用void Del(Link l)实现删除;显示模块:把通讯员的信息显示出来,通过void Disp(Link l)来实现;查询功能:能根据编号和姓名进行查询通过void Qur(Link l)实现;编辑功能(高级):根据查询对相应的记录进行修改,并存储;保存功能:能对输入的数据进行相应的存储;而我主要的是完成主菜单,添加,删除,显示四个模块和其他的模块的完善,我们分工合作,而另一些部分,我虽然没写,但是组员是在一边写一边跟我讲解每条语句的意思是什么,而我写的时候,
组员也在一边听,所以我们都相当于写了全部的模块。
指导教师评语:
成绩:
填表时间:指导教师签名:
课程设计(大作业)报告
一、题目分析
根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加,删除,查询,编辑,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写;而我们使用的是单链表的形式,它的好处就是对于频繁进行插入与删除的线性表适用。二、总体设计思路
根据以上需求分析,将程序分成以下几个模块:
1.添加和删除
****添加人员信息并保存(1)
****按名称和编号查询与删除记录并保存(2)
2.查询与编辑
****按名称和编号查询
****重新编辑信息并保存
3.主菜单
4. 文件的导入
5. 文件的保存
6.信息的显示Y
三、实验环境根据N选者下列执行
添加删除查询修改插入显示保存
按职工号按姓
名号
按职
工号
按职
工号
是否创
是否继续
Y
N
结束
开始
Visual C++ 四、方案比较
无法运行的程序代码1.struct employee//定义一个employee的结构体
{
char num[10];//通讯员编号
char name[15];//通讯员姓名
char sex[15];//通讯员性别
long int telephone;//通讯员电话
char address[30];//通讯员地址
int age;//通讯员年龄
}
typedef struct node {
struct employee 正确运行的程序代码1.struct employee
{
char name[15]; /*通讯员姓名*/
char num[10];/* 工号*/
char sex[4]; //通讯员性别
long int telephone;//通讯员电话
char address[30];//通讯员地址
int age;//通讯员年龄
};
typedef struct node {
struct employee data;
data;
struct node *next;//建立一个链表
}Node;
错误点:意外的结构节点('struct' 'node')2.void Disp(Node * employee)//输出通讯员信息
{
Node *p;
p=employee->next; if(!p)
{
printf("\n>>>>>>>>>提示:没有资料可以显示!\n");
return;
}
struct node *next; }Node,*Link;
2. void Disp(Link l) //显示单链表l中存储的通讯员记录,内容为employee结构中定义的内容
{
int count=0;
Node *p;
p=l->next; // l存储的是单链表中头结点的指针,该头结点没有存储职工信息,指针域指向的后继结点才有职工信息
if(!p)
/*p==NULL,NUll在stdlib中定义为0*/ {