C语言实验报告范例.doc

上传人:飞****2 文档编号:52201874 上传时间:2022-10-21 格式:DOC 页数:17 大小:2.91MB
返回 下载 相关 举报
C语言实验报告范例.doc_第1页
第1页 / 共17页
C语言实验报告范例.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《C语言实验报告范例.doc》由会员分享,可在线阅读,更多相关《C语言实验报告范例.doc(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语言程序设计课程设计报告班级: 0809班 学号: / 姓名: 陈 鑫/郝政炜 指导教师: 李艳东 完成日期: 2009 年 09 月一题目内容的描述。第六题 小型商品管理系统设计一个能对商品进行录入、增加、删除、修改、查询等操作的系统。该程序应该具有下列功能:(1)通过键盘输入商品信息,包括编号、类别、名称、价格、折扣比例、生产时间 、存货数量等;(2)增加、删除、修改信息;(3)能按照多种方式查询(至少两种,如编号、类别、名称等);(4)统计功能。按类别统计各种商品的存货数量,平均价格及存货量最多的商品信息;(5)排序;(6)输出;二应用程序功能的详细说明。.系统总体框图:商品管理系统录

2、入商品信息添加商品信息删除商品信息修改商品信息商品信息排序商品信息统计商品信息查询全部信息浏览退出并存盘按照编号排序按照名称排序按照平均价格按照存货量按照编号查询按照名称查询按照种类查询.模块功能说明:1录入商品信息:函数原形:struct information* Creat()功能:首次进入管理系统时,进行商品信息的录入,将商品信息存放于结构体链表中入口参数:无出口参数:结构体类型的头指针函数调用关系说明:main函数调用Creat函数,返回结构体类型的头指针内容限制:录入商品的数量大于等于1,不符合要求时进行提示2.添加商品信息:函数原形:void Insert(struct infor

3、mation *head) 功能:创建新结点,将添加的商品信息存入结构体的数据域,将新结点插入链表中入口参数:struct information *head出口参数:无函数调用关系说明:main函数调用Insert函数3.删除商品信息:函数原形:struct information* Dele(struct information *head) 功能:找到待删除结点(找不到时return NULL),将其从链表中脱离并释放 入口参数:struct information *head 出口参数:结构体类型的头指针函数调用关系说明:main函数调用Dele函数,返回结构体类型的头指针内容限制:待

4、删除结点存在,不存在时进行提示4.修改商品信息:函数原形:void Reset(struct information *head)功能:找到待修改结点(找不到时return),修改其数据域中的指定信息,并将修改前后的商品信息输出 入口参数:struct information *head 出口参数:无函数调用关系说明:main函数调用Reset函数内容限制:待修改结点存在,不存在时进行提示5.商品信息排序:函数原形:struct information *SortNum(struct information *head) struct information *SortName(struct

5、information *head) 功能:将结点的数据域中的指定信息进行两两比较,判断是否要将结点对调,最后形成指定排序 入口参数:struct information *head 出口参数:结构体类型的头指针函数调用关系说明:main函数调用SortNum(或SortName)函数,返回结构体类型的头指针6.商品信息统计:函数原形:void totle_amount(struct information *head)功能:根据键入的统计类型,选择调用不同统计功能的子函数,来完成商品信息统计 入口参数:struct information *head 出口参数:无 函数调用关系说明:main

6、函数调用totle_amount函数,totle_amount函数调用pinjj函数、 cunhl函数7.商品信息查阅:函数原形:void Enquiries(struct information *head) tion *head) 功能:根据键入的部分信息,找到符合的节点(找不到时return),并输出其全部数据域信息入口参数:struct information *head 出口参数:无 函数调用关系说明:main函数调用Enquiries函数内容限制:待查询结点存在,不存在时进行提示8.全部商品信息浏览:函数原形:void Travel(struct information *head

7、); 功能:输出链表中所有结点的数据域信息入口参数:struct information *head 出口参数:无函数调用关系说明:main函数调用Travel函数9.退出并存盘:函数原形:void Store(struct information *head) 功能:退出时将信息以文件形式存盘入口参数:struct information *head 出口参数:无函数调用关系说明:main函数调用Store函数10. 求平均价:函数原形:void pinjj(struct information *head) 功能:将所有结点数据域中的价格进行累加,再除以节点数,得到并输出所有商品的平均价入

8、口参数:struct information *head 出口参数:无函数调用关系说明:totle_amount函数调用pinjj函数11. 求存货:函数原形:void cunhl(struct information *head) 功能:访问将所有结点数据域中的存货量,找到并输出最大存货量的商品及其存货量入口参数:struct information *head 出口参数:无函数调用关系说明:totle_amount函数调用cunhl函数三主要模块的算法描述。.main函数:.Creat函数: . Reset函数:注: Insert函数与Creat函数类似!.Dele函数: .SortNum

9、函数:注:SortNum函数和SortName函数类似!.totle_amount函数: .cunhl函数:.pinjj函数:.Enquiries函数: .Travel函数:四测试计划。.输入两个商品信息:测试结果的分析与讨论:输入的商品信息为:编号009,名称HuiYuan,种类juice,价格3.50,折扣比例0.90,生产时间,存货1000;编号002,名称QueChao,种类coffee,价格11.00,折扣比例0.95.添加商品:测试结果的分析与讨论:添加的商品信息为:编号007,名称GuoLiCheng,种类juice,价格3.00,折扣比例0.90,生产时间,存货500;.删除商

10、品:测试结果的分析与讨论:实验删除商品信息功能,结果在后面的商品信息浏览里可以显示。名称为QueChao的商品被删除。若链表中没有有效结点,选择删除商品时则输出“该链表为空!”.排序:测试结果的分析与讨论:实验商品排序功能,这里为其中的按名称排序。.修改商品信息:测试结果的分析与讨论:实验修改商品信息的功能,将名称为GuoLiCheng的商品的存货由500改为600。商品信息可以在商品信息浏览功能中查看。 若输入的商品名称不在该链表中,则会输出“不存在该商品!”若输入无效选项,则会输出“输入错误,请重新输入!”.统计商品:测试结果的分析与讨论:实验统计商品的功能,计算商品平均价格/统计最大存货

11、的商品并输出它的名称,这里为其中的计算商品的平均价格。若输入无效选项,则会输出“输入错误,请重新输入!”.查询商品信息:测试结果的分析与讨论:实验查询商品的功能,这里为安种类查询,查询种类为juice,输出编号7和编号9的商品。若输入的编号/名称/种类无效,则输出“输入错误,请重新输入!”若输入无效选项,则会输出“输入错误,请重新输入!”.浏览商品信息:测试结果的分析与讨论:浏览商品信息,查看之前对其的各种操作结果。五.测试过程中遇到的主要问题及采取的解决措施:初次在进行商品查询功能时,遇到了问题:尽管有多个商品满足查询条件,但是每次都只输出时只输出了一个。经过分析思考,发现导致该问题产生,是

12、由于该语句while(node!=NULL)&node-number!=i) node=node-next;在实现查询功能时,找到第一个满足条件的商品就会退出循环,输出时也当然只能输出一个商品。所以,我们在上面while语句外层增加了一个while语句,循环条件是node!=NULL,并且内层循环退出时添加了一个continue语句。该问题得到了解决。六设计总结及体会。通过本次C语言课程设计,收获了很多。首先,是学习上的收获。之前学习C语言,编写的程序都比较短小,结构也比较简单,课程设计的程序相对就长了也复杂了很多。这对我们是一个挑战也是一个提升。在这个过程中,我们的知识得到了巩固和运用。之前

13、关于指针和文件的知识掌握得不是很牢固,通过这次课程设计,我们意识到了我们的欠缺,并努力填补它,回想这几个星期,感觉自己的确进步很大。特别的,我感受到指针的功能的强大,同时也掌握了一些使用技巧,比如说不要让控制指针位置的指针变量去参与任何运算,否则,他会在神不知鬼不觉时,已经指向了其他位置,这样就为下来出现段错误埋下了伏笔。其次,是运用C语言编写程序时的习惯的感触。记得我们初次链接编译程序时,一下显示有上百个错误,当时就晕了,真不知道该从什么地方下手。当时我们就很后悔写函数的时候怎么没有一个个进行调试。之前学习C语言,编写的程序都比较短小,结构也比较简单,没有对子函数进行个别调试的习惯,这次课程设计给了我们一个教训。

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com