收藏 分享(赏)

2012级计算机专业《C语言程序设计》实践课程第一阶段任务书new.doc

上传人:dreamzhangning 文档编号:2285049 上传时间:2018-09-09 格式:DOC 页数:15 大小:466KB
下载 相关 举报
2012级计算机专业《C语言程序设计》实践课程第一阶段任务书new.doc_第1页
第1页 / 共15页
2012级计算机专业《C语言程序设计》实践课程第一阶段任务书new.doc_第2页
第2页 / 共15页
2012级计算机专业《C语言程序设计》实践课程第一阶段任务书new.doc_第3页
第3页 / 共15页
2012级计算机专业《C语言程序设计》实践课程第一阶段任务书new.doc_第4页
第4页 / 共15页
2012级计算机专业《C语言程序设计》实践课程第一阶段任务书new.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、12012 级计算机专业C 语言程序设计实践课程第一阶段任务:仿造一个电话簿管理系统,实现一个“商品信息管理系统”(12 学时,3 次课)一、目的通过仿照理论串讲课上介绍过的电话簿管理系统样例来实现一个小型的“商品信息管理系统” ,了解用 C 语言开发一个小型管理系统的方法和步骤,理解利用结构体类型数组以及文件实现信息管理的原理,全面复习和巩固所学过的包括函数、结构体数组、指针、文件等在内的 C语言的常用知识点及查找、排序等经典算法,进一步提高程序调试的能力,为第二阶段的实训以及后续课程数据结构的学习打下良好的基础。二、对样例系统-“电话簿管理系统”设计方法、步骤的分析和介绍(一) 功能需求分

2、析“电话簿管理系统”主要功能是管理学生电话号码等相关信息,要求能实现电话簿记录的添加、删除、修改、查询、排序、输出、保存等功能。主要利用结构体数组、函数、指针和文件来实现。具体功能要求如下:1、输入记录模块:主要完成将数据存入结构体数组中。数据可以从文件中读入,可以直接从键盘输入。2、查询记录模块:主要完成在结构体数组中查找满足相关条件的记录,如可以按照联系人的姓名、联系人的电话号码等项目进行查询,查到了,将相关信息显示在屏幕上,否则显示没找到。3、更新记录模块:主要完成对记录的维护,主要包括对记录的修改、删除、插入和排序。系统进行以上更新操作后,需要提醒用户是否要将这些修改的数据存入文件。4

3、、输出记录模块:1) 将相关记录存盘,保存到文件2) 将相关记录输出到屏幕上,如:编号 姓名 电话 宿舍1 李四 13560909999 H 栋-3332 王五 18911203325 A 栋-2018 赵六 18604545447 A 栋-110(二) 总体设计1、系统功能模块划分根据系统功能需求分析, “电话簿管理系统”总体功能模块划分如下:22、功能模块设计 主函数 main()的执行流程程序运行后,首先打开存放电话簿的文件(如果该文件不存在,则创建该文件) ,读取文件中的记录,并报告记录的个数;然后显现出如下图所示的系统主菜单:电话簿管理系统输入记录 查询记录 更新记录 输出记录从键盘

4、读入从文件读入 按姓名查 按电话查 修改记录 删除记录 插入记录 排序记录 输出至文件 输出至屏幕以 可 读 写 的 方 式 打开 一 个 数 据 文 件 开 始 读 取 数 据 文 件 的 内容 存 入 一 个 结 构 体数 组 中 待 处 理 调 用 menu()显 示 系统 主 菜 单 进 入 while(1)主 循环 输 入 08中 的 一 个数 , 选 择 相 应 操 作 输 入 是 否 为 0 判 断 键 值 , 调 用 相应 函 数 是 否 对 修 改 进行 了 存 盘 调 用 save函 数 将 数据 写 入 数 据 文 件 结 束 是 是 否 否 3根据用户输入的功能选项编号

5、(08) ,分别调用不同功能模块(通过各个自定义函数)来实现相应的功能。若输入为 08 之外的值,则调用一个 Wrong()函数给出输入错误的提示。功能编号与函数调用的对应关系如下:编号 调用的函数 嵌套调用的主要函数1 Add() Disp、stringinput2 Disp() printheader、printdata3 Del() Disp、stringinput、Locate、Nofind4 Qur() stringinput、Locate、printheader、printdata、Nofind、Wrong()5 Modify() Disp、stringinput、Locate、N

6、ofind6 Insert() Disp、stringinput、Locate、Nofind7 SelectSort() Disp、Wrong()8 Save()0 Save() (当需要保存修改时才调用)非 08 Wrong()各功能模块的设计根据前面给出的各个功能模块的具体要求并结合下面给出的源代码,自行分析各功能模块的工作流程并设计。3、核心数据结构设计电话簿中联系人的基本信息至少应该包括编号、姓名、电话号码、地址等,因此需定义一个能至少包含以上四项信息的结构体。typedef struct telebook char num4; /*编号*/char name10; /*姓名*/cha

7、r phonenum15; /*电话号码*/char address20; /*住址*/ TELEBOOK;在具体设计时,可以根据需要自行扩展相关字段。4、函数功能描述(略)4根据前面给出的具体功能要求,并结合下面给出的源代码进行理解和设计。(三) 电话簿管理系统的代码实现以下给出的是电话簿管理系统样例的源代码截图。在全面读懂源代码的基础上,根据后面关于“商品信息管理系统”的功能和要求,设计并实现一个小型商品信息管理系统的基本功能。在此基础上对系统代码进行必要的优化、完善,对功能进行必要的扩充。 (注意:用红色标注的是在完成基本功能后,需完善的功能或必须修改的代码)1、预处理命令及相关类型声明

8、代码(为打印表头设置了几个符号常量)2、几个辅助性的函数各二级子菜单也仿照此主菜单设计53、主函数64、其他主要功能函数改写 Disp 函数,用指针代替原来的数组形参78修改 Qur 函数:一旦查询,先显示一个查询子菜单,查询方式可以精确查,也可模糊查91011完善修改功能:找到需修改的那条记录后,凡该条记录中不需要修改的字段值,不必重新输入一遍,直接按回车或选择序号进行相应项目的修改1213完善修改功能:(以下方案三选一)1、提供排序子菜单(类似主菜单形式,按”0”返回主菜单) ,且增加排序方式2、用指针替换函数原来的数组形参14三、 “商品信息管理系统”的设计要求1、功能需求及模块划分在原

9、电话簿管理系统的基础上增加一个“统计信息”功能,将统计的结果保存到相应的文件中。具体功能模块划分如下图。商品信息管理系统输入信息 查询信息 更新信息 输出信息从键盘读入从文件读入 按名称查 按单价查 修改记录 删除记录 插入记录 排序记录 输出至文件 输出至屏幕按数量查统计信息按名称统计 按单价统计 按数量统计152、系统主菜单商品信息管理系统主菜单3、核心数据结构商品的基本信息至少应该包括商品编号、商品名称、商品单价、商品数量、同一商品总金额等,因此需定义一个能至少包含以上五项信息的结构体。typedef struct commdity char num10; /商品编号char name1

10、5; /商品名称double price; /商品单价double amount; /商品数量double total; /同一商品的总金额(通过单价*数量获得!) COMMDITY;在具体设计时,可以根据需要自行扩展结构体成员(供多种查询、排序等) 。4、设计目标及评价标准 参照样例代码实现了“商品信息管理系统”的基本功能,程序能够正确运行(基本分) ; 根据要求,对原样例代码中的不足进行必要的修改调整(加分项) ; 对功能进行适当扩充和完善(提供必要的二级菜单,加分项) ; 操作合理、方便、友好(加分项) 对代码熟悉(加分项)主菜单中增加“统计信息”1、要求提供“统计信息”子菜单(功能项参照模块划分) ,按“0”返回主菜单;2、统计功能对应的函数名统一定义为 count(),类型及参数自行设定3、统计的结果要保存到相应的磁盘文件中(可能不止一个文件)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报