ImageVerifierCode 换一换
格式:DOC , 页数:29 ,大小:196KB ,
资源ID:4540982      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4540982.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(C语言超市商品管理系统.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言超市商品管理系统.doc

1、- .实训报告题 目: 超市商品管理系统院 系: 信息科技学院专 业: 计算机科学与技术姓 名: 学 号: 指导教师: 日 期: 电子科技大学信息科技学院目 录1 问题定义 .32 系统设计 321 总体设计322 详细设计32.2.1 数据构造设计 32.2.2 主控流程 32.2.3信息输入模块42.2.4 信息增加模块 .42.2.5 信息修改模块 42.2.6 信息删除模块 .42.2.7信息查看模块 .42.2.8信息统计模块42.2.9 函数功能描述43 系统实现 53.1 编码 53.1.1 程序预处理 .53.1.2 主函数main() .53.1.3 主菜单界面 . 63.1

2、.4 商品信息建立 .73.1.5商品信息查看.93.1.6商品信息增加.113.1.7商品信息删除.123.1.8商品信息修改.143.1.9 商品数目统计 .163.2 测试与调试 223.2.1 概述 .223.2.2 程序测试 .224 系统维护 255 归纳总结 255.1 开发经历 255.2 实训中遇到的问题及解决方法 255.3 设计中的缺乏之处255.4 感想和心得体会 256 参考资料 25超市商品管理系统此题目设计目的是训练学生的根本编程能力,了解管理信息系统的开发流程,熟悉C语言的单链表的各种根本操作。本程序中涉及构造体、单链表、文件保存等方面的知识。通过本程序的训练,

3、使学生能对C语言的链表的操作有一个更深刻的了解,掌握利用单链表存储构造实现对超市信息管理系统的原理,为进一步开发出高质量的管理信息系统打下坚实的根底。1、问题定义创立一个超市管理系统。该程序具有保存商品信息、查询商品信息、修改商品信息、删除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。 超市管理系统主界面2、系统设计21 总体设计本程序采用模块化设计方法,即将一个大任务分成一个个小任务,然后分别设计个小任务。划分出来的模块相对独立而又相互关联,容易理解。本程序由5大模块组成:1. 输入信息模块2. 增加信息模块3. 修改信息模块4. 删除信息模块5. 统计信息模块22 详细设计2

4、.2.1数据构造设计定义构造体struct good int num; /*商品编号*/ char name20; /*商品名称*/ char kind40; /*商品类型*/ float price; /*商品价格*/ char unit10; /*商品单位*/ int quantity; /*商品数量*/ struct good *next; /*定义构造体指针类型*/*head,*p1,*p2;单链表good构造体struct good /*定义构造体*/ int num; /*商品编号*/ char name20; /*商品名称*/ char kind40; /*商品类型*/ floa

5、t price; /*商品价格*/ char unit10; /*商品单位*/ int quantity; /*商品数量*/ struct good *next; /*定义构造体指针类型*/*head,*p1,*p2;2.2.2 主控main()函数执行流程Int main()struct good *p1,*p2; while(1)if(m=1)printf(*商品信息的查看*n); if(m=2) printf(*商品信息的输入*n); if(m=3) printf(*商品信息的统计*n); if(m=4) printf(*退出*n); break; return 0; 本商品管理系统执行

6、主流程。它先以可读写的方式翻开数据文件,此文件默认为“C:goods list.txt,假设该文件不存在,那么新建此文件。当翻开文件操作成功后,从文件中一次读出一条记录,然后执行显示主菜单和进入主循环操作,进展按键判断。2.2.3 输入信息模块记录可以从以文件形式存储的数据文件中读入,也可从键盘逐个输入商品记录。商品记录由商品的根本信息和成绩信息字段构成。当从数据文件中读入记录时,也就是把在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。2.2.4 增加信息模块 增加信息模块主要实现信息增加2.2.5 修改信息模块 修改信息模块主要实现信息修改2.2.6 删除信息模块 删除信息模块主要

7、实现信息删除2.2.7 查看信息模块 查看信息模块主要实现信息查看2.2.8 统计信息模块 统计信息模块主要实现信息统计2.2.9 函数功能描述shuchu()shuchu()函数用于输出商品信息。l struct good *paixu(struct good*head2) 此函数用于给链表排序。l jisuan()jisuan()函数用于判断商品的类别。l printf0(struct good *p)printf0(struct good *p)函数用于遍历链表并打印电器类商品。l printf1(struct good *p)printf1(struct good *p)函数用于遍历链

8、表并打印日用品类商品。l printf2(struct good *p)printf2()函数用于遍历链表并打印办公用品类商品。l printf3(struct good *p)printf3 struct good *p()函数用于遍历链表并打印食品类商品。l shunxudayin()shunxudayin()函数用于给商品排序并打印。l tongji1()tongji1()函数用于统计给库存量低于100的货名和类别。l tongji2()tongji2()函数用于统计商品库存量有2种以上含两种低于100的商品类别。完成在上述系统设计后,即可着手进展系统实现的工作,开场程序代码的编写。3、

9、系统实现31 编码3.1.1 程序预处理包括加载头文件,定义构造体、常量和变量,并对它们进展初始化工作。#include stdio.h /*输入,输出头文件*/ #include stdlib.h /*申请空间头文件*/ #include string.h /*对字符串加工头文件*/ #include conio.h /*清屏头文件*/ FILE *fp;int n=0; /*定义文件指针类型*/int i,j,a4,m; /*定义整数类型*/ float aver4,sum4,g4,h; /*定义浮点类型*/ 3.1.2 主函数main()main()函数主要实现了对整个程序的运行控制,以

10、及相关功能模块的调用。Int main()struct good *p1,*p2; while(1)if(m=1)printf(*商品信息的查看*n); if(m=2) printf(*商品信息的输入*n); if(m=3) printf(*商品信息的统计*n); if(m=4) printf(*退出*n); break; return 0; 3.1.3 主菜单界面用户进入商品管理系统时,需要显示主菜单,提示用户进展选择,完成相应任务。 printf( 电子科技大学信息科技学院超市管理系统 n); printf(*n); printf(1 -输出查看或者修改已存信息-n); printf(-n

11、); printf(2 -重新输入新信息并且删除原有信息-n); printf(-n); printf(3 统计商品信息如果您还没有查看过信息请先按1n); printf(-n); printf(4 -退出-n); printf(*n); scanf(%d,&m);3.1.4 商品信息建立用户进入商品管理系统时,对某个商品的信息进展处理。struct good /*定义构造体*/ int num; /*商品编号*/ char name20; /*商品名称*/ char kind40; /*商品类型*/ float price; /*商品价格*/ char unit10; /*商品单位*/ in

12、t quantity; /*商品数量*/ struct good *next; /*定义构造体指针类型*/*head,*p1,*p2;struct good *createlist() /*创立链表函数*/ struct good *head1,*p1,*p2; /*定义构造体指针类型*/ if(fp=fopen(goods message.txt,w)=NULL) /*判断能否翻开文件*/ printf(can not open the file); exit(0); /*完毕程序*/ head1=(struct good *)malloc(sizeof(struct good); /*申请

13、头结点空间*/ p1=head1; p2=head1; printf(*n); printf(请输入信息:编号,名称,类型,价格,单位,数目n); printf( 以输入“1表示完毕输入n); printf(*n); printf(_n); scanf(%d %s %s %f %s %d,&p1-num,p1-name,p1-kind,&p1-price,p1-unit,&p1-quantity); /*输入商品信息*/ printf(_n);p1-next=NULL; fprintf(fp,%d %s %s %f %s %d ,p1-num,p1-name,p1-kind,p1-price,

14、p1-unit,p1-quantity); /*将商品信息写入文件*/ while(1) p1=(struct good *)malloc(sizeof(struct good); /*申请新空间*/ printf(*n); printf(请输入信息:编号,名称,类型,价格,单位,数目n); printf( 以输入“1表示完毕输入n); printf(*n); printf(_n); scanf(%d,&p1-num); if(p1-num=-1) /*申请空间完毕条件*/ printf(_nn); fprintf(fp,%d,-1); fclose(fp); return head1; /*

15、返回头指针*/ scanf(%s %s %f %s %d,p1-name,p1-kind,&p1-price,p1-unit,&p1-quantity); /*输入商品信息*/ printf(_n); fprintf(fp,%d %s %s %f %s %d ,p1-num,p1-name,p1-kind,p1-price,p1-unit,p1-quantity); /*将商品信息写入文件*/ p1-next=NULL; p2-next=p1; p2=p1; 3.1.5商品信息查看void shuchu() /*输出商品信息函数*/ do struct good *p3,*p4,*p5; /*

16、定义构造体指针类型*/ int n=0,p=0,q=0,r=0; printf(所有商品信息:n); printf(编号,名称,类型,价格,单位,数目n); printf(*n); if(fp=fopen(goods message.txt,rb+)=NULL) /*判断能否翻开文件*/ printf(can not open the file); exit(0); /*完毕程序*/ head=(struct good *)malloc(sizeof(struct good); /*申请头结点空间*/ p3=head; fscanf(fp,%d %s %s %f %s %d ,&p3-num,

17、p3-name,p3-kind,&p3-price,p3-unit,&p3-quantity); /*从文件中写到链表*/ while(1) p4=(struct good *)malloc(sizeof(struct good); /*申请头结点空间*/ fscanf(fp,%d ,&p4-num); if(p4-num!=-1) /*判断循环完毕条件*/ fscanf(fp,%s %s %f %s %d ,p4-name,p4-kind,&p4-price,p4-unit,&p4-quantity); /*从文件中写到链表*/ p4-next=NULL; p3-next=p4; p3=p4

18、; else p3-next=NULL; break; fclose(fp); /*关闭文件*/ p3=head; while(p3!=NULL) printf( %d %s %s %0.1f %s %dnn,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); printf(_n); p3=p3-next; printf(*n); printf(/n); while(n!=4) p3=head; printf(*n); printf(1 添加商品信息n); printf(2 删除某商品信息n); printf(3 修改某商品信息n); p

19、rintf(4 返回当你完成了对某一商品的添加、删除或者修改后请按4返回n); printf(*n); scanf(%d,&n);3.1.6商品信息增加if(n=1) /*添加商品信息*/ printf(请输入商品 编号 名称 类型 价格 单位 数目n); printf(*n); p4=(struct good *)malloc(sizeof(struct good); /*申请空间*/ scanf(%d %s %s %f %s %d,&p4-num,p4-name,p4-kind,&p4-price,p4-unit,&p4-quantity); /*输入商品信息*/ p4-next=NULL

20、; while(p3-next!=NULL) /*判断循环完毕条件*/ p3=p3-next; p3-next=p4; p3=head; if(fp=fopen(goods message.txt,w)=NULL) /*判断能否翻开文件*/ printf(can not open the file); exit(0); /*完毕程序*/ while(p3!=NULL) fprintf(fp,%d %s %s %f %s %d ,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /*将商品信息写入文件*/ p3=p3-next; fpri

21、ntf(fp,%d,-1); fclose(fp); /*关闭文件*/ printf(*n); printf(_n); printf(-请按4返回-n); printf(_n); printf(*n); 3.1.7商品信息删除if(n=2) /*删除商品*/ printf(*n); printf(请输入需要删除的商品编号n); printf(*n); scanf(%d,&p); printf(*n); printf(1 确认删除n2 取消删除n); printf(*n); scanf(%d,&r); if(r=1) if(head-num)=p) head=head-next; free(p3

22、); /*释放空间*/ else p4=head; p3=p4-next; while(p3!=NULL) /*判断循环完毕条件*/ if(p3-num)=p) p5=p3-next; free(p3); /*释放空间*/ p4-next=p5; break; p3=p3-next; p4=p4-next; if(fp=fopen(goods message.txt,w)=NULL) /*判断能否翻开文件*/ printf(can not open the file); exit(0); /*完毕程序*/ p3=head; while(p3!=NULL) /*判断循环完毕条件*/ fprint

23、f(fp,%d %s %s %f %s %d ,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /*将商品信息写入文件*/ p3=p3-next; fprintf(fp,%d,-1); fclose(fp); /*关闭文件*/ if(r=2) continue; /*继续循环*/ printf(*n); printf(_n); printf(-请按4返回-n); printf(_n); printf(*n); 3.1.8商品信息修改if(n=3) /*修改某商品信息*/ printf(请输入需要修改的商品编号n); scanf(%d,

24、&q); while(p3!=NULL) /*判断循环完毕条件*/ if(p3-num)=q) /*判断是否为所需要修改的商品*/ printf(请输入商品单价与库存量如果单价不变请输入原来的单价n); scanf(%f %d,&p3-price,&p3-quantity); /*输入商品价格与库存量*/ p3=p3-next; if(fp=fopen(goods message.txt,w)=NULL) /*判断能否翻开文件*/ printf(can not open the file); exit(0); /*完毕程序*/ p3=head; while(p3!=NULL) /*判断循环完毕

25、条件*/ fprintf(fp,%d %s %s %f %s %d ,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /*将商品信息写入文件*/ p3=p3-next; fprintf(fp,%d,-1); fclose(fp); /*关闭文件*/ printf(*n); printf(_n); printf(-请按4返回-n); printf(_n); printf(*n); if(n=4) /*退出*/ break; printf(*n); printf(1 继续修改n-n2 返回n); printf(*n); scanf(%d,

26、&p); if(p=1) continue; /*继续循环*/ if(p=2) break; /*跳出循环*/ while(n!=2); fclose(fp); /*关闭文件*/3.1.9商品信息统计void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/ struct good *p3; /*定义构造体指针类型*/ p3=p; while (p3!=NULL) /*判断遍历链表循环完毕条件*/ if(strcmp(p3-kind,c)=0) /*判断商品类型是否为电器类型*/ printf(%dt%st%st%0.1ft%st%dn,p3-num,p3-

27、name,p3-kind,p3-price,p3-unit,p3-quantity); /*输出电器类商品信息*/ printf(_n); p3=p3-next; return;void printf1(struct good *p) /*遍历链表并打印日用品类商品函数*/ struct good *p3; /*定义构造体指针类型*/ p3=p; while (p3!=NULL) /*判断遍历链表循环完毕条件*/ if(strcmp(p3-kind,d)=0) /*判断商品类型是否为日用品类型*/ printf(%dt%st%st%0.1ft%st%dn,p3-num,p3-name,p3-k

28、ind,p3-price,p3-unit,p3-quantity); /*输出日用品类商品信息*/ printf(_n); p3=p3-next; return;void printf2(struct good *p) /*遍历链表并打印办公用品类商品函数*/ struct good *p3; /*定义构造体指针类型*/ p3=p; while (p3!=NULL) /*判断遍历链表循环完毕条件*/ if(strcmp(p3-kind,e)=0) /*判断商品类型是否为办公用品类型*/ printf(%dt%st%st%0.1ft%st%dn,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /*输出办公用品类商品信息*/ printf(_n); p3=p3-next; return;void printf3(struct good *p)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服