C语言课程设计大作业文档推荐

上传人:粗**** 文档编号:135282023 上传时间:2020-06-14 格式:PDF 页数:21 大小:433.11KB
返回 下载 相关 举报
C语言课程设计大作业文档推荐_第1页
第1页 / 共21页
C语言课程设计大作业文档推荐_第2页
第2页 / 共21页
C语言课程设计大作业文档推荐_第3页
第3页 / 共21页
C语言课程设计大作业文档推荐_第4页
第4页 / 共21页
C语言课程设计大作业文档推荐_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《C语言课程设计大作业文档推荐》由会员分享,可在线阅读,更多相关《C语言课程设计大作业文档推荐(21页珍藏版)》请在金锄头文库上搜索。

1、郑 州 大 学 课程报告 课 程名 称 C语言程序设计 专 业 班 级 15 班 学 生 姓 名 谢 学号 任 课 教 师 赵 学期 2012 2013 2 课程报告任务书 题 目 通讯录管理系统 主要 内容 开发一个通讯录管理系统 基本信息包括 编号 姓名 性别 出生年月 固定电话 手 机号 电子邮件等基本信息 也可以根据自己情况进行扩充 使之能提供以下基本功能 1 通讯录等信息录入功能 注 数据等要求用文件保存 输入 2 通讯录信息的浏览功能 输出 3 查询功能 至少一种查询方式 排序功能 至少一种排序方式 按电话号码进行查询 按姓名查询等 按照年龄排序 按姓名排序等 4 通讯录条目的删除

2、与修改等 扩展功能 可以按照自己的程度进行扩展 比如 1 简单的权限处理 2 报表打印功 能 3 模糊查询 如姓张的人员等 或者给定电子邮件的部分进行查询等 4 给定指定 年龄范围之内的查询等等 总之 可以根据自己需求进行分析功能 成绩评定按照难度进行区分 任务 要求 一 提交材料应包括 1 系统源代码 2 课程报告 二 整个设计过程具体要求 1 需求分析要求学生对案例系统进行分析 设计出需要完成的功能 完善各个模 块的调用关系 2 设计过程要求学生进一步明确各模块调用关系 进一步完善模块函数细节 函数名 参数 返回值等 3 实现过程要求学生养成良好的编码习惯 完成各个模块并进行测试 最终完成

3、系统 整体测试 4 总结阶段按照要求完成系统设计和实现报告 并进行总结 答辩 成绩 评定 报告撰写情况 30 分 系统完成情况 30 分 答辩情况 40 分 总分 内容 20 分 规范程度 5 分 程序测试 5 分 基本功能 20 分 扩 展 功 能 10 分 自述情况 10 分 答辩情况 30 分 成绩评定教师 一 需求分析 1 具有数据的插入 修改 删除 显示和查询功能的电话簿管理程序 2 数据包括 人名 工作单位 电话号码和E MAIL地址 3 可对记录中的姓名和电话号码进行修改 4 可增加和删除记录 5 可显示所有的保存记录 6 可按人名或电话号码进行查询 分析 建议采用结构体数组和文

4、件系统实现 结构体成员包括人名 工作单位 电话号码和 E MAIL地址 根据题目的要求程序应该采用结构体数组和文件系统实现 应该有文件的操作功能 在程序 中应该包括输入 显示 删除 查询 添加 修改 保存 加载和退出的功能 二 概要设计 1 程序的模块组成及各个函数的功能 程序的模块组成 主函数 main 输出数据函数 printf 读取数据函数 scanf 显示记录函数 Display 删除记录函数 shanchu 查找记录函数 chaxun 自定义清屏函数 system cls 自定义输入函数 input 字符输入函数 getchar 修改数据函数 xiugai 保存数据函数 baocun

5、 排序数据函数 paixu 各函数的主要功能 输出数据函数 随时输出数据 读取数据函数 读取输入的数据信息 显示菜单函数 显示可供选择的主菜单 显示记录函数 显示通讯录所有输入的信息 删除记录函数 显示要删除的通讯录所有输入的信息 查找记录函数 显示要查询的通讯录所有输入的信息 自定义清屏函数 清除前面运行留下的信息 自定义输入函数 输入通讯录的成员 字符输入函数 从终端输入一个字符 遇回车键返回 修改数据函数 修改通讯录的成员信息 保存数据函数 保存通讯录的成员信息 排序数据函数 排序通讯录的成员信息 2 程序中的抽象数据类型的定义 用户的状态结构 用户 编号 姓名 电话 年龄 邮箱 地址

6、3 总体流程图 根据上面的分析 可以将程序系统的设计分为如下几个模块 插入 显示 删除 查询 修改 保存和退出 三 详细设计 1 主菜单 主菜单一般设计得比较简洁 只提供输入 处理和输出部分的函数调用 其中各功能模块用菜单方式选择 流程图 N Y 程序 Person pe 80 int menu select char c do system cls 添加记录 n printf t t t 2 显示记录 n printf t t t 3 删除记录 n printf t t t 4 查询记录 n printf t t t 5 修改记录 n 开始 显示一系列功能选项 通讯录管理系统 插入显示删除查

7、询保存修改退出 输入 n 判断是否是0 6 根据 n 的值调用各功能模块函数 结束 printf t t t 6 保存记录 n printf t t t 7 排序记录 n printf t t t 0 退出程序 n printf t t t n printf t t请您选择 0 7 c getchar while c 7 return c 0 2 显示模块 此模块为显示所有记录 流程图如下 void Display Person per int n Inti printf n core per i 1 name per i 1 age per i 1 num per i 1 adds per

8、i 1 email if i 1 printf t system pause printf t n printf n system pause 3 修改模块 此模块先调用查找函数查找到所要修改的信息 然后用户根据需要修改信息 流程图如下 选择显示功能 显 示 所 有 数 回主菜单 void xiugai Person per int n char s 20 int i 0 printf t请输入想修改的记录中的名字 scanf s s ame s 0 if i n printf t通讯录中没有此人 n return printf t编号 scanf t d printf t姓名 scanf t

9、 s per i name printf t年龄 scanf t s per i age printf t电话号码 scanf t s per i num printf t通讯住址 scanf t s per i adds printf t电子邮箱 scanf t s per i email printf t修改成功 4 插入模块 此模块为插入信息模块 插入后再调用保存函数来保存所插入的数据 支持多条信息的插 入 流程图 开始 输入要修改记录的 是 否 找 到 提 示 未 找 到显示要修改的 修改需要修改的条目 结束 N Y int Input Person per int n int i 0

10、 char sign x 10 while sign n scanf t d printf t姓名 scanf t s per n i name printf t年龄 scanf t s per n i age printf t电话号码 scanf t s per n i num printf t通讯住址 scanf t s per n i adds printf t电子邮箱 scanf t s per n i email gets x printf n t是否继续添加 Y N scanf t c i return n i 5 删除模块 开始 输入要插入的记录个数n i 从 0 到 n 1 调

11、用 Input 函数 i 0 吗 返回主菜单保存调用 baocun 函 结束 N Y 此模块先利用查找模块找到所要删除的信息 然后根据用户的选择来确定是否删除信息 此 种调用到 Save函数 其流程图如下 int shanchu Person per int n char s 20 int i 0 j printf t请输入想删除记录中的名字 scanf s s while strcmp per i name s 0 if i n printf t通讯录中没有此人 n return n for j i j n 1 j strcpy per j num per j 1 num strcpy pe

12、r j name per j 1 name strcpy per j age per j 1 age strcpy per j adds per j 1 adds strcpy per j email per j 1 email printf t t t已经成功删除 n return n 1 6 查询模块 void chaxun Person per int n 开始 输入要删除信息的名字 是否找到信息 提示没有找到信息 N Y 显示找到的信息 提示是否删除 N Y 提示未删除提示删除成功 结束 int m printf t n请选择查询方式 n printf t n printf t 1 姓

13、名查询 n printf t 2 电话查询 n printf t 3 地址查询 n printf t 4 返回 n printf t n printf 请选择 scanf d while m 1 scanf d if m 1 char s 20 int i 0 printf t请输入想查询的姓名 scanf t s s while strcmp per i name s 0 if i n printf t通讯录中没有此人 n return printf t此人编号 d n per i score ge printf t电话号码 s n per i num printf t通讯地址 s n pe

14、r i adds printf t电子邮箱 s n per i email if m 2 char s 20 int i 0 printf t请输入想查询的电话 scanf t s s while strcmp per i num s 0 if i n printf t通讯录中没有此人 n return printf t此人编号 d n per i score ame printf t此人年龄 s n per i age printf t通讯地址 s n per i adds printf t电子邮箱 s n per i email if m 3 char s 20 int i 0 print

15、f t请输入想查询的地址 scanf t s s while strcmp per i adds s 0 strcpy per name per j name strcpy per age per j age strcpy per adds per j adds strcpy per email per j email strcpy per j 1 num per num strcpy per j 1 name per name strcpy per j 1 age per age strcpy per j 1 adds per adds strcpy per j 1 email per em

16、ail printf 排序成功 n 五 测试结果 1 主菜单 2 显示所有信息 3 插入信息 查找模块 第一步 第二步 第三步 第四步 5 删除模块 6 修改模块 第一步 第二步 六 课程心得总结 刚开始学习 C 语言 总觉得很难理解 也很难学 在这之前 我们已经学习了一个学 期 对 C语言有了一定的了解 但是也仅仅是停留在学习了解的范围 对里面的好多东西还 是很陌生 并不是很熟练 有着许多欠缺 更多的在运用起来的时候还是感到很不好动手 这次的程序设计实验是对我们进入大学以来学习程序设计语言结果的一次大检验 自己动手 发现和解决问题 通过这 我发现了自己的许多不足 平时没有掌握好的知识在这次实验中 彻底暴露出来 经过不断思考 不断查阅资料和上机运行解决其中大部分问题 当然 还存 在一些问题没有解决 我相信在以后的学习能够解决好它们 课堂上许多关于C语言的语法规则 听起来十分枯燥无味 也不容易记住 死记硬背是不可 取的 然而要使用C语言这个工具解决实际问题 又必须掌握它 通过上机练习 对于语法 知识有了感性的认识 加深对它的理解 在理解的基础上就会自然而然地掌握C语言的语法 规定 对于一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号