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

上传人:kms****20 文档编号:41494952 上传时间:2018-05-29 格式:DOC 页数:14 大小:466KB
返回 下载 相关 举报
2012级计算机专业《c语言程序设计》实践课程第一阶段任务书_第1页
第1页 / 共14页
2012级计算机专业《c语言程序设计》实践课程第一阶段任务书_第2页
第2页 / 共14页
2012级计算机专业《c语言程序设计》实践课程第一阶段任务书_第3页
第3页 / 共14页
2012级计算机专业《c语言程序设计》实践课程第一阶段任务书_第4页
第4页 / 共14页
2012级计算机专业《c语言程序设计》实践课程第一阶段任务书_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《2012级计算机专业《c语言程序设计》实践课程第一阶段任务书》由会员分享,可在线阅读,更多相关《2012级计算机专业《c语言程序设计》实践课程第一阶段任务书(14页珍藏版)》请在金锄头文库上搜索。

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

2、据结构的学习打下良好的基础。二、对样例系统-“电话簿管理系统”设计方法、步骤的分析和介绍 (一) 功能需求分析“电话簿管理系统”主要功能是管理学生电话号码等相关信息,要求能实现电话簿记录的添加、删除、修改、查询、排序、输出、保存等功能。主要利用结构体数组、函数、指针和文件来实现。具体功能要求如下:1、输入记录模块:主要完成将数据存入结构体数组中。数据可以从文件中读入,可以直接从键盘输入。2、查询记录模块:主要完成在结构体数组中查找满足相关条件的记录,如可以按照联系人的姓名、联系人的电话号码等项目进行查询,查到了,将相关信息显示在屏幕上,否则显示没找到。3、更新记录模块:主要完成对记录的维护,主

3、要包括对记录的修改、删除、插入和排序。系统进行以上更新操作后,需要提醒用户是否要将这些修改的数据存入文件。4、输出记录模块:1) 将相关记录存盘,保存到文件2) 将相关记录输出到屏幕上,如:编号 姓名 电话 宿舍1 李四 13560909999 H 栋-3332 王五 18911203325 A 栋-2018 赵六 18604545447 A 栋-110(二) 总体设计1、系统功能模块划分根据系统功能需求分析, “电话簿管理系统”总体功能模块划分如下:22、功能模块设计 主函数 main()的执行流程程序运行后,首先打开存放电话簿的文件(如果该文件不存在,则创建该文件) ,读取文件中的记录,并

4、报告记录的个数;然后显现出如下图所示的系统主菜单:电话簿管理系统输入记录查询记录更新记录输出记录从键盘读入从文件读入按姓名查按电话查修改记录删除记录插入记录排序记录输出至文件输出至屏幕以可读写的方式打 开一个数据文件 开始 读取数据文件的内 容存入一个结构体 数组中待处理 调用menu()显示系 统主菜单 进入while(1)主循 环 输入08中的一个 数,选择相应操作 输入是否为0 判断键值,调用相 应函数 是否对修改进 行了存盘 调用save函数将数 据写入数据文件 结束 是 是 否 否 3根据用户输入的功能选项编号(08) ,分别调用不同功能模块(通过各个自定义函数)来实现相 应的功能。

5、若输入为 08 之外的值,则调用一个 Wrong()函数给出输入错误的提示。功能编号与函数调用的对应关系如下:编号调用的函数嵌套调用的主要函数1Add()Disp、stringinput2Disp()printheader、printdata3Del()Disp、stringinput、Locate、Nofind4Qur()stringinput、Locate、printheader、printdata、Nofind、Wrong()5Modify()Disp、stringinput、Locate、Nofind6Insert()Disp、stringinput、Locate、Nofind7Sel

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

7、OK;在具体设计时,可以根据需要自行扩展相关字段。4、函数功能描述(略)4根据前面给出的具体功能要求,并结合下面给出的源代码进行理解和设计。(三) 电话簿管理系统的代码实现以下给出的是电话簿管理系统样例的源代码截图。在全面读懂源代码的基础上,根据后面关于“商品信息管理系统”的功能和要求,设计并实现一个小型商品信息管理系统的基本功能。在此基础上对系统代码进行必要的优化、完善,对功能进行必要的扩充。 (注意:用红色标注的是在完成基本功能后,需完善的功能或必须修改的代码) 1、预处理命令及相关类型声明代码(为打印表头设置了几个符号常量)2、几个辅助性的函数各二级子菜单也仿照此主菜单设计53、主函数6

8、4、其他主要功能函数改写 Disp 函数,用指针代替原来的数组形参78修改 Qur 函数:一旦查询,先显示一个查询子 菜单,查询方式可以精确查,也可模糊查91011完善修改功能:找到需修改的那条记录后,凡 该条记录中不需要修改的字段值,不必重新输 入一遍,直接按回车或选择序号进行相应项目 的修改1213完善修改功能:(以下方案三选一) 1、提供排序子菜单(类似主菜单形式,按”0” 返回主菜单) ,且增加排序方式 2、用指针替换函数原来的数组形参14三、 “商品信息管理系统”的设计要求 1、功能需求及模块划分在原电话簿管理系统的基础上增加一个“统计信息”功能,将统计的结果保存到相应的文件中。具体

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

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

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

当前位置:首页 > 生活休闲 > 科普知识

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