C 语言课程设计报告 1 C 语 言 课 程 设 计 题 目:通讯录管理系统 设 计 者: 院 系:数理学院 专 业:信息与计算科学 班 号:123111 学 号:*********** 指导教师:*** 2012 年 6 月 29 日 C 语言课程设计报告 2 1 . 题目要求 通讯录管理系统是具有数据插入、更新、删除、显示和查询功能的电话簿管理程序。 (1)数据包括姓名、工作单位、电话号码和 E-M AIL 地址等。 (2)可对记录中的姓名和电话号码进行更新。 (3)可增加和删除记录。 (4)可显示所有的保存的记录。 (5)可按姓名或电话号码进行查询。 2 . 需求分析 1.信息记录要存放到文件中,要实现文件的输入、输出功能; 2.实现数据的添加、删除、更新和显示,要提供输入、删除、更新和显示功能; 3.要实现按人名或电话号码进行查询,因而要提供查找功能; 4.应该提供键盘式选择菜单以实现功能选择。 5.采用模块化,由上到下的设计方法,通过数字选择菜单功能,上级菜单可进入下级菜单,下级菜单可返回上级菜单。 3 . 总体设计 根据上面得需求分析,系统有菜单选择、数据输入、数据查找、数据更新、数据的存储等功能。 可以将系统设计分为四大模块,即显示、查找、更新(包括增加和删除)和退出,如图 1 所示。其中,主要功能是显示、查询和更新三个模块。 图 1 系统功能模块图 通讯录管理系统 显示 查询 更新 退出 C 语言课程设计报告 3 图2 主函数流程图 显示一系列功能选开始 输入n,判断n是否是1~4 根据n的值调用各功能模块函数 结束 4 . 详细设计 4 .1 主函数 主函数设计比较简洁,只提供输入、功能处理和输出部分得函数调用。其中各功能模块采用菜单方式选择。另外,菜单部分也可以写出函数。具体流程图如图2 所示。 【程序】 main() { int n,w; do { puts("***************通讯录管理系统***************\n"); puts("********************菜单********************\n"); puts("1.显示通讯录\n"); puts("2.查找\n"); puts("3.更新\n"); puts("4.退出\n"); puts("********************************************\n"); C 语言课程设计报告 4 printf("选择功能(1-4):"); scanf("%d",&n); if(n<1||n>4) { w=1; getchar(); } else {w=0;} } while(w==1); switch(n) /*选择功能*/ { case 1:list();break; /*列出通讯录*/ case 2:find();break; /*查找*...