1、3删除记录 可以按“姓名”或“电话”方式删除记录并更新内存链表内容; 能给出被删除的信息,输出没有找到的信息; 如果已经是空表,上出时应给出信息并返回主菜单; 如果没有要删除的信息,输出没有找到的信息;删除操作仅限于内存,只有执行记录时,才能覆盖原记录;4查询记录 可以按“姓名”或“电话”或“宿舍”方式查询记录 能给出查询记录的信息;如果查询的信息不存在,输出没有找到的信息;5 整体功能 a可以随时检索、删除、或增加新记录,保存或取消新的记录 b使姓名可由16位字符和数字的混合编码组成 c使电话号码可由18位字符和数字组成d将输出信息加上输出信息信息栏,例如 姓名 电话 性别 年龄 生日 宿舍
2、 李四 1234 男 21 7月1日 东二333 e使用菜单实现功能的正确的选择 f 所有节点信息都是动态生成。6测试程序 应列出测试大纲对程序进行测试; 应保证测试用例测试到程序的各种边缘情况二总体设计系统包括的函数有Main.c:整个系统的主函数Menu.c:系统的主界面Creat.c:创建链表Add.c:追加记录Del.c:删除记录Modify.c:修改记录Read.c:从外部文件读取记录Save.c:保存记录到外部文件Search.c:查找记录Skim.c:浏览记录Headyy.h:头文件系统功能模块结构图:MainmenuCreat.c Add.c Del.c Modify.c Re
3、ad.c Save.c Search.c Skim.c三详细设计 程序清单:headyy.h#ifndef NULL #define NULL 0 #endif #includemalloc.hconio.hstring.hstdlib.h#define LEN sizeof(struct addbok)#define PR printf(%-12s%-12s%-12s%-10s%-10s%-10s%-12sn,Num.NameTel.SexAgeBirtdayDormitory);struct addbok /*声明结构体类型*/ long num; char nam16; /*储存编号*/
4、 char tel18; /*储存电话*/ char sex4; /*学生性别*/ int age; /*学生年龄*/ char bir10; /*学生生日*/ char dor13; /*学生宿舍*/ struct addbok * next; ;void print(struct addbok *);具体实现:创建了结构体变量addbokmain.c#include extern int n=0;void main() int c,color,i=0; struct addbok *head; head=NULL; for(color=0;colornum); if(p1-num=0) printf(nWritten overn return(head);Name:%s,p1-nam);Tel.:tel);Sex:sex);Age:age);Birthday:bir);Dormitory:dor); while(p1-num!=0) n=n+1; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(struct addbok *)malloc(LEN);NO.%d:,i); i=i+1; p2-next=NULL;nam)