1、 1 本科生本科生 C 语言语言课程论文课程论文报告报告 课 程 名 称 C 语言课程设计 教 师 姓 名 本科生姓名 本科生学号 本科生专业 应用化学 所 在 院 系 材料与科学学院 类别: 本科生 日期: 2012 年 7 月 10 日 2 目目 录录 目 录 . 2 1课程论文题目 3 2程序设计思路 3 3功能模块图 4 4数据结构设计 12 5算法设计 17 6程序代码 29 7 程序运行结果 34 8、编程中遇到的困难及解决方法 41 9总结心得及良好建议 .41 10致谢41 3 1课程论文题目课程论文题目 (1)、题目名称、题目名称:手机通讯录手机通讯录管理系统管理系统 (2)
2、、题目要求、题目要求 录入人员的编号、姓名、个人邮箱、地址、联系电话。 显示所有人员的信息。 通过输入姓名查找人员信息。 通过输入姓名查找到要删除的人员信息,然后可以进行删除,回显当前通讯录 信息。 通过输入姓名查找到要修改的人员信息,然后依次进行信息修改。 添加人员信息。 2程序设计思路程序设计思路 分析整个系统,根据以上的需求分析及题目要求,可将整个系统的设计分为 以下五个模块:保存信息,信息输入、录入比赛结果、查询信息、退出.(每个 功能模块都标注函数名称,如图 1) A、需求分析、需求分析:根据题目要求应提供键盘式菜单实现功能选择,还应提供 信息的输入操作,由于在程序中提供查询功能所以
3、应有显示、查找等操作。 B、总体设计、总体设计:根据上面的需求分析,可以将这个系统的设计分为 1 添加 模块 2 显示模块 3 删除模块 4 查询模块 5 修改模块 6 保存模块。 C、 数据结构、 数据结构:数据结构采用结构体数组,包括姓名,归属地,电话号码, 邮箱四个结构 4 3功能模块图功能模块图 本系统设计的函数是由一个主函数几个子函数组成的。 首先构思大局编出一 个主函数,然后根据要实现的功能逐步细分设计,分别解决输入、显示、查找、 删除、修改,退出功能的子函数编程中遇到的问题。首先通过结构体的定义,确 定通讯录的项目和大小。首先通过输入函数添加信息,然后再逐步编写和验证其 它功能。
4、显示函数的设计利用 C 语言的循环功能依次输出信息。查找是用一个 字符串比较得出两个相同的字符串的方法找出用户要查找的人。 删除函数的设计 是通过指定位置以后的数组下标减一实现删除目的的,for 循环和 while 循环在 这此设计中也起了很大的作用。 1 概要设计 系统功能模块图如图 1 所示: 主菜单 增 加 记 录 显 示 记 录 查 询 记 录 删 除 记 录 添 加 保 存 退 出 系 统 修 改 记 录 图 1 系统功能模块图 5 2 系统流程图 输入错误,跳回主菜单 结束 menu()=7? menu()=2? menu()=1? menu()=3? m=1? menu()=6?
5、 menu()=5? menu()=4? 开始 int k=0 调用输入函数 调用显示函数 调用查询函数 调用退出函数 调用保存函数 调用删除函数 调用修改函数 图 2 主函数流程图 真 假 真 假 真 假 真 假 真 假 真 假 真 真 假 假 6 3 详细设计 (1) 菜单函数 菜单函数首先标出欢迎使用通讯录管理系,然后给出用户可选择的项目,用 户可以通过选择该项前的代码来实现想要实现的功能,其流程图如图 3 所示: int k K7 返回 k 结束 开始 输入选项 17 真 假 图 3 菜单函数流程图 7 (2) enter 函数 将结构体数组分成几个数组分别对每个数组赋值,用 for
6、循环对不同地址的 数组分别赋值。其流程图如图 4 所示: a=1 an-1 ch=1 return n 调用删除函数 是否重新输入 j=i+1 jn j+ n- j 位置数据存放位置前移 输出信息 结束 开始 真 真 假 假 12 (7) 退出通讯录 在使用完通讯录后,按 6 键便会退出系统,其流程图如图 11 所示: 4数据结构设计数据结构设计 #include #include #include #include struct contacks char name10; char workplace20; char tele20; char email20; con50; int k=0; void