通讯录项目模块开发说明书_通讯录说明书
通讯录项目模块开发说明书由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“通讯录说明书”。
模块开发
1标题
通讯录项目:tongxunlu1.c 模块名称和标识符:添加(input),查找(find),删除(delete)程序编制员签名:张永龙 修改完成日期 :2013.01.23 2模块开发情况表
通讯录 插入 查找排序删除保存
3功能说明
3.1、功能划分
总体来说可以分为两部分:基本功能和扩展功能 基本功能:通讯录的读取、通讯录的存储
扩展功能:通讯录的插入、删除联系人、查找联系人 3.2、功能描述通讯录的读取:要能实时且正确的读取通讯录文件的联系人信息。通讯录的存储:能够正确的按照用户的需求存储通讯录信息和及时更改和的通讯录信息。
通讯录的插入:在正确读取通讯录的情况下,根据用户的要求对通讯录实现按姓名、地址,电话,e-mail,QQ;从而能让用户更为方便的使用通讯录。
删除联系人:在正确读取的情况下,根据用户的需求对通讯录中的联系人进行删除操作,然后从新更新通讯录文件。
查找联系人:在正确读取通讯录的情况下,根据用户可根据姓名查找到所要找的联系人.4设计说明
本通讯录是一款具有基本通讯信息管理功能的系统。包括基本添加,修改,删除,查询和输出等功能。其中联系组是为了更好地管理联系人信息,如常用的组有亲戚,家人,朋友,同学等。
1、组信息管理模块:
◎ 添加新组信息:当用户添加一个新组时,这个新组将被添加到group.dat文件的末尾,如果添加的组已存在则返回出错信息。
◎ 修改已有组信息:用户首先输入所要修改的联系组,然后系统查询该联系组存不存在。若存在,则要求用户输入新的信息,并进行替换;若不存在,则返回错误信息。◎ 删除已有组:用户首先输入所要删除的组,然后系统查询该组存不存在。如果存在,则先删除该组下的所有联系人的信息,再删除该组;如果所要删除的信息不存在,则 ◎ 联系人查询功能: 按用户输入的查询条件,在file文件中查询相关信息。若存在符合条件的联系人,则输出相应的联系人信息;若不存在,则返回出错信息。
5原代码清单
主函数: 2 开始建立链表数据初始化Fp=fopen(“record.txt”,“wb”))!=NULLN建立一个文件Y导入内容显示要显示的菜单显示要实现的功能Swith(select())调用input实现添加调用find实现查找调用delete实现删除用exit(0);退出 存盘结束 代码: 3 int main(){ chainlist *head=NULL;int select,n=0;do{ printf(“n__________________________________________n”);printf(“1.添加了联系人n”);printf(“2.查找联系人n”);printf(“3.删除联系人n”);printf(“4.显示所有联系人n”);printf(“5.保存文件n”);printf(“6.下载文件n”);printf(“0.退出n”);printf(“n____________________________________________n”);printf(“请输入一个数(0-6):n”);scanf(“%d”,&select);switch(select){ case 1: printf(“n添加联系人n”);head=input(head);n++;printf(“联系人的个数:%d”,n);break;case 2: printf(“n查找联系人n”);find(head);break;case 3: printf(“n删除联系人n”);delete(head);break;case 4: printf(“n显示联系人n”);chainlistall(head);break;case 5: printf(“n保存文件n”);save(head);break;case 6: printf(“n下载文件n”);load(head);break;case 0: return 0;} } while(select!='0');return 0;}
添加(input): 开始数据初始化请输入联系人信息(node=(chainlist *))malloc(sizeof(chainlist))Node->data=data申请节点失败Node->next=headHead=node结束 代码: int chainlistdelete(chainlist *head,char *name)//删除节点 { chainlist *node,*h;//node保存删除节点的前一个节点
node=h=head;while(h){ if(strcmp(h->data.name,name)==0)//找到要删除的名字,执行删除操作 { node->next=h->next;//使前一个节点指向下一个节点
free(h);//释放空间
return 1;
} else { node=h;
h=h->next;
}
} return 0;} chainlist *input(chainlist *head)//输入节点 { people data;printf(“姓名:n”);scanf(“%s”,data.name);printf(“地址:n”);scanf(“%s”,data.addr);printf(“电话:n”);scanf(“%s”,data.tele);printf(“e-mail:n”);scanf(“%s”,data.e_mail);printf(“QQ:n”);scanf(“%s”,data.QQ);return chainlistaddfirst(head,data);//调用添加函数 }
查找(find): 6 开始数据初始化输入要查找的姓名while(h)(strcmp(h->data.name,name)!=0)没有此人 h=h->next;输出数据结束 代码: void find(chainlist *head)//查找 { chainlist *h,*k;people data;char name[30];k=head;printf(“请输入待查找的姓名:n”);scanf(“%s”,name);h=head;while(h){if(strcmp(h->data.name,name)==0)//比较要查找的人名,执行查找
break;
h=h->next;} if(h){printf(“成功查到此人n”);data=h->data;printf(“姓名:%sn”,data.name);printf(“地址:%sn”,data.addr);printf(“电话:%sn”,data.tele);printf(“e-mail:%sn”,data.e_mail);printf(“QQ:%sn”,data.QQ);
} } 删除(delete): 开始数据初始化输入要查找的姓名while(h)(strcmp(h->data.name,name)!=0)没有此人 h=h->next;输出数据结束
代码: int chainlistdelete(chainlist *head,char *name)//删除节点 { chainlist *node,*h;//node保存删除节点的前一个节点
node=h=head;while(h){ if(strcmp(h->data.name,name)==0)//找到要删除的名字,执行删除操作 { node->next=h->next;//使前一个节点指向下一个节点
free(h);//释放空间
return 1;
} else { node=h;
h=h->next;
}
} return 0;} void delete(chainlist *head)//删除功能 { int i;
chainlist *h=head;
char name[20];
printf(“请输入待删除的姓名:”);
scanf(“%s”,name);
i=chainlistdelete(head,name);//调用chainlistdelete删除节点
if(i==1){ printf(“删除成功n”);
save(h);
}
else
{printf(“删除失败n”);
save(h);
} } 9 6测试说明
__________________________________________ 1.添加了联系人 2.查找联系人 3.删除联系人 4.显示所有联系人 5.保存文件 6.下载文件 0.退出
____________________________________________ 请输入一个数(0-6): 1
添加联系人 姓名: 张永龙
地址: 贵州 电话: *** e-mail: 324354545 QQ: 34546576787 联系人的个数:1 __________________________________________ 1.添加了联系人 2.查找联系人 3.删除联系人 4.显示所有联系人 5.保存文件 6.下载文件 0.退出
____________________________________________ 请输入一个数(0-6): 1
添加联系人 姓名: 王明 地址: 山西 电话:
1234459354
e-mail: 34546777 QQ: 11 34546556 联系人的个数:2 __________________________________________ 1.添加了联系人 2.查找联系人 3.删除联系人 4.显示所有联系人 5.保存文件 6.下载文件 0.退出
____________________________________________ 请输入一个数(0-6): 2
查找联系人
请输入待查找的姓名: 张永龙 成功查到此人 姓名:张永龙 地址:贵州 电话:*** e-mail:324354545 QQ:34546576787 12
__________________________________________ 1.添加了联系人 2.查找联系人 3.删除联系人 4.显示所有联系人 5.保存文件 6.下载文件 0.退出
____________________________________________ 请输入一个数(0-6):
7复审的结论
经过把实际测试的结果,同软件需求说明书、系统设计说明书、程序设计说明书中规定的要求进行比较,该软件功能基本实现,但由于技术的原因,有些功能会有部分缺陷,敬请谅解.13