1、 1 计算机与通信学院 2013 年春季学期 C 程序设计程序设计 课程设计课程设计 题 目:_ 专业班级:_ 姓 名:_ 学 号: 指导教师: 成 绩:_ 1 目目 录录 1 需求分析 2 2 总体设计 2 2.1 程序的总体设计 错误错误!未定义书签。未定义书签。 2.2 数据结构. 错误错误!未定义书签。未定义书签。 3 详细设计 3 3.1 主控模块设计 错误错误!未定义书签。未定义书签。 3.2 判断模块. 错误错误!未定义书签。未定义书签。 3.3 时间模块. 错误错误!未定义书签。未定义书签。 3.4 显示模块. 错误错误!未定义书签。未定义书签。 4 主要函数功能描述 . 1
2、4.1 保存数据函数 save() . 1 4.2 *函数 *() . 1 5 测试及调试 1 6 个人设计小结与心得体会 4 参考文献 5 附件 1 程序源代码 5 2 1 需求分析需求分析 (1)问题 根据需求,该系统所应包含的信息有以下一些: 通讯录的基本信息: 姓名、地址、电话 根据需求,该系统所应实现的功能有以下一些: 各种基本数据的录入。如:通讯录基本信息录入。 各种基本数据的修改。即:允许对已经录入的数据重新进行编辑、修改。例 如修改通讯录中张三的电话信息 各种基本数据的删除。例如将张三的信息从通讯录中删除 基于各种数据的查询。例如输入张三姓名,查询张三的电话和地址。 数据导出:
3、将通讯录中信息导出到指定文件。 数据导入:从指定文件导入通讯录信息到。 (2)系统 采用 C 语言实现, 开发环境为 VC, 可以运行在操作系统 windows98 及以上皆可。 (3)运行要求 能不受限制的录入通讯录信息 界面友好,操作方便,例如删除前需要提示用户是否删除 容错性强,例如数据导出时,如果文件不存在需要提示用户。 2 总体设计总体设计 .程序的总程序的总体设计体设计 3 图图1 1 图书管理系统功能模块图图书管理系统功能模块图 根据需求描述, 本人按照结构化程序设计的原则将整个系统划分若干个功能模 块。 系统各子模块的设计如下: (1)输入记录模块 输入记录模块主要功能描述 (
4、2)更新记录模块 更新记录模块主要功能描述 (3)查询记录模块 模块主要功能描述 (4)输出记录模块 模块主要功能描述 .数据结构数据结构 根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下: 数据项名称 数据项系统表示 数据类型 数据长度 备注 姓名 name 字符串 20 地址 address 字符串 100 电话 tele 字符串 20 为了能实现不受限制的增加通讯录信息,采用链表的结构保存通讯录的信息, 在增加通讯录的基本信息时,创建一个通讯录的节点,将其插入到链表中,示意 图如下。 通 讯 录 基 本 信 息 1通 讯 录 基 本 信 息 1通 讯 录 基 本 信 息 1
5、通 讯 录 基 本 信 息 1 学 生 通 讯 录 主 界 面 显 示 功 能 选 择 通 讯 录 信 息 录 入 通 讯 录 信 息 修 改 通 讯 录 信 息 查 询 通 讯 录 信 息 导 入 通 讯 录 信 息 导 出 通 讯 录 信 息 删 除 4 使用 C 语言创建的结构体如下: typedef struct /*定义数据结构*/ char name20; /*姓名*/ char address100; /*地址*/ char tele20; /*电话*/ typedef struct * next; ; 3 详细详细设计设计 3.1 主控模块设计主控模块设计 控制整个程序的运行,
6、通过主函数模块分别调用各个模块,实现各项功能, 流程如图 2 所示。 5 否 是 是 否 是 否 是 图图 2.主主模块模块流程流程图图 注释: 1. X=1 的判断是一个人 while 循环,用来判断是否有返回值,若无返回值(x=0) , 即说明已答对即说明已答对 2. 输入所猜数 guss 与系统随机生成数 index进行比对,根据大小进行提示,循环 进行,直至猜对 开始 X=1 guss=index 输入所猜数 guss gussindex gussindex 猜对所用时间及评语 结束 6 3.2 判断判断模块模块 输入所猜数值,与系统随机产生的数进行比较,并将比较结果输出,提示游 戏者重新猜数,流程如图 3 所示。 否 是 否 是 图图 判断模块流判断模块流程程图图 3.3 时间时间模块模块 建立一个时间模块,用 time 函数记录时间,time1 为起始