1、 C 语言课程设计实训报告 题 目: 通讯录程序设计 班 级: 学生学号: 学生姓名: 指导老师: 提交时间: 2016 年 1 月 7 号 成 绩: 1系统分析系统分析 1.1 问题描述问题描述 设计一个通讯录程序,该程序具有以下功能: 录入通讯信息; 根据姓名修改通讯录成员信息; 根据姓名删除通讯录里的成员; 根据输入的人名或姓,显示查找到的相应通讯信息;根据姓 名查找通讯录成员,并显示相关信息; 1.2 系统功能分析系统功能分析 1,能够先创建一个通讯录,能够先创建一个通讯录 2,增加通讯录成员记录,增加通讯录成员记录 3,显示通讯录成员记录,显示通讯录成员记录 4,能够根据姓名查找通讯
2、录成员,能够根据姓名查找通讯录成员 5,能够修改指定通讯录成员,能够修改指定通讯录成员 6,能够删除指定通讯录成员,能够删除指定通讯录成员 2系统设计系统设计 2.1 系统总体结构设计系统总体结构设计 3.程序功能的实现:程序功能的实现: 主菜单主菜单 添 加 模 块 搜 索 模 块 删 除 模 块 修 改 模 块 显 示 模 块 1.通讯录的创建: no YES 相关代码相关代码 void creat() struct person one; fp=fopen(filename,“at+“); if(fp=NULL) printf(“ncannot open this file“); exi
3、t(0); fprintf(fp,“%-10s%-20s%-50sn“,“姓名姓名“,“电话号码电话号码“,“住址住址“); 打开文件打开文件 fp=NULL 结束程序 向文件中输入信息 One.name=”0”? 键入文件信息 结束程序 关闭文件 结束程序 printf(“n 请输入姓名、电话号码及住址(以请输入姓名、电话号码及住址(以 0 结束)结束)n“); scanf(“%s“,one.name); while(strcmp(one.name,“0“) scanf(“%s%s“,one.tel,one.addr); fprintf(fp,“%-10s%-20s%-50sn“,one.n
4、ame,one.tel,one.addr); scanf(“%s“,one.name); fclose(fp); 2.通讯录的输出:通讯录的输出: Yes No No yes No 打开文件打开文件 fp=NULL 结束程序 One.name=”0”? 结束程序 文件是否结束? 关闭文件 输出文件信息 相关代码:相关代码: void output() struct person one; fp=fopen(filename,“at+“); if(fp=NULL) printf(“ncannot open this file“); exit(0); printf(“nn%20sn“,“通通 讯讯 录录“); while(!feof(fp) fscanf(fp,“%s%s%sn“,one.name,one.tel,one.addr); printf(“%-10s%-20s%-50s“,one.name,one.tel,one.addr