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

上传人:b****9 文档编号:25667709 上传时间:2023-06-11 格式:DOCX 页数:17 大小:466.39KB
下载 相关 举报
级计算机专业《C语言程序设计》实践课程第一阶段任务书.docx_第1页
第1页 / 共17页
级计算机专业《C语言程序设计》实践课程第一阶段任务书.docx_第2页
第2页 / 共17页
级计算机专业《C语言程序设计》实践课程第一阶段任务书.docx_第3页
第3页 / 共17页
级计算机专业《C语言程序设计》实践课程第一阶段任务书.docx_第4页
第4页 / 共17页
级计算机专业《C语言程序设计》实践课程第一阶段任务书.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

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

《级计算机专业《C语言程序设计》实践课程第一阶段任务书.docx》由会员分享,可在线阅读,更多相关《级计算机专业《C语言程序设计》实践课程第一阶段任务书.docx(17页珍藏版)》请在冰豆网上搜索。

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

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

2012级计算机专业《C语言程序设计》实践课程

第一阶段任务:

仿造一个电话簿管理系统,实现一个“商品信息管理系统”

(12学时,3次课)

一、目的

通过仿照理论串讲课上介绍过的《电话簿管理系统》样例来实现一个小型的“商品信息管理系统”,了解用C语言开发一个小型管理系统的方法和步骤,理解利用结构体类型数组以及文件实现信息管理的原理,全面复习和巩固所学过的包括函数、结构体数组、指针、文件等在内的C语言的常用知识点及查找、排序等经典算法,进一步提高程序调试的能力,为第二阶段的实训以及后续课程《数据结构》的学习打下良好的基础。

二、对样例系统---“电话簿管理系统”设计方法、步骤的分析和介绍

(一)功能需求分析

“电话簿管理系统”主要功能是管理学生电话号码等相关信息,要求能实现电话簿记录的添加、删除、修改、查询、排序、输出、保存等功能。

主要利用结构体数组、函数、指针和文件来实现。

具体功能要求如下:

1、输入记录模块:

主要完成将数据存入结构体数组中。

数据可以从文件中读入,可以直接从键盘输入。

2、查询记录模块:

主要完成在结构体数组中查找满足相关条件的记录,如可以按照联系人的姓名、联系人的电话号码等项目进行查询,查到了,将相关信息显示在屏幕上,否则显示没找到。

3、更新记录模块:

主要完成对记录的维护,主要包括对记录的修改、删除、插入和排序。

系统进行以上更新操作后,需要提醒用户是否要将这些修改的数据存入文件。

4、输出记录模块:

1)将相关记录存盘,保存到文件

2)将相关记录输出到屏幕上,如:

编号姓名电话宿舍

1李四H栋-333

2王五A栋-201

8赵六A栋-110

…………

(二)总体设计

1、系统功能模块划分

根据系统功能需求分析,“电话簿管理系统”总体功能模块划分如下:

2、功能模块设计

⑴主函数main()的执行流程

 

程序运行后,首先打开存放电话簿的文件(如果该文件不存在,则创建该文件),读取文件中的记录,并报告记录的个数;然后显现出如下图所示的系统主菜单:

根据用户输入的功能选项编号(0~8),分别调用不同功能模块(通过各个自定义函数)来实现相应的功能。

若输入为0~8之外的值,则调用一个Wrong()函数给出输入错误的提示。

功能编号与函数调用的对应关系如下:

编号

调用的函数

嵌套调用的主要函数

1

Add()

Disp、stringinput

2

Disp()

printheader、printdata

3

Del()

Disp、stringinput、Locate、Nofind

4

Qur()

stringinput、Locate、printheader、printdata、Nofind、Wrong()

5

Modify()

Disp、stringinput、Locate、Nofind

6

Insert()

Disp、stringinput、Locate、Nofind

7

SelectSort()

Disp、Wrong()

8

Save()

0

Save()(当需要保存修改时才调用)

非0~8

Wrong()

⑵各功能模块的设计

根据前面给出的各个功能模块的具体要求并结合下面给出的源代码,自行分析各功能模块的工作流程并设计。

3、核心数据结构设计

电话簿中联系人的基本信息至少应该包括编号、姓名、电话号码、地址等,因此需定义一个能至少包含以上四项信息的结构体。

typedefstructtelebook

{charnum[4];/*编号*/

charname[10];/*姓名*/

charphonenum[15];/*电话号码*/

charaddress[20];/*住址*/

}TELEBOOK;

在具体设计时,可以根据需要自行扩展相关字段。

4、函数功能描述(略)

根据前面给出的具体功能要求,并结合下面给出的源代码进行理解和设计。

(三)电话簿管理系统的代码实现

以下给出的是《电话簿管理系统》样例的源代码截图。

在全面读懂源代码的基础上,根据后面关于“商品信息管理系统”的功能和要求,设计并实现一个小型商品信息管理系统的基本功能。

在此基础上对系统代码进行必要的优化、完善,对功能进行必要的扩充。

(注意:

用红色标注的是在完成基本功能后,需完善的功能或必须修改的代码)

1、预处理命令及相关类型声明代码(为打印表头设置了几个符号常量)

2、几个辅助性的函数

各二级子菜单也仿照此主菜单设计

 

3、主函数

}

}

}

4、其他主要功能函数

改写Disp函数,用指针代替原来的数组形参

修改Qur函数:

一旦查询,先显示一个查询子菜单,查询方式可以精确查,也可模糊查

完善修改功能:

找到需修改的那条记录后,凡该条记录中不需要修改的字段值,不必重新输入一遍,直接按回车或选择序号进行相应项目的修改

完善修改功能:

(以下方案三选一)

1、提供排序子菜单(类似主菜单形式,按”0”返回主菜单),且增加排序方式

2、用指针替换函数原来的数组形参

三、“商品信息管理系统”的设计要求

1、功能需求及模块划分

在原电话簿管理系统的基础上增加一个“统计信息”功能,将统计的结果保存到相应的文件中。

具体功能模块划分如下图。

 

2、系统主菜单

商品信息管理系统主菜单

主菜单中增加“统计信息”

1、要求提供“统计信息”子菜单(功能项参照模块划分),按“0”返回主菜单;

2、统计功能对应的函数名统一定义为count(),类型及参数自行设定

3、统计的结果要保存到相应的磁盘文件中(可能不止一个文件)

 

3、核心数据结构

商品的基本信息至少应该包括商品编号、商品名称、商品单价、商品数量、同一商品总金额等,因此需定义一个能至少包含以上五项信息的结构体。

typedefstructcommdity

{

charnum[10];//商品编号

charname[15];//商品名称

doubleprice;//商品单价

doubleamount;//商品数量

doubletotal;//同一商品的总金额(通过单价*数量获得!

}COMMDITY;

在具体设计时,可以根据需要自行扩展结构体成员(供多种查询、排序等)。

4、设计目标及评价标准

⑴参照样例代码实现了“商品信息管理系统”的基本功能,程序能够正确运行(基本分);

⑵根据要求,对原样例代码中的不足进行必要的修改调整(加分项);

⑶对功能进行适当扩充和完善(提供必要的二级菜单,加分项);

⑷操作合理、方便、友好(加分项)

⑸对代码熟悉(加分项)

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

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1