




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告学 院:专 业:班 级:学 号:学生姓名:指导教师:课程名称:设计名称:超市商品信息管理系统一、 设计内容及要求超市商品信息管理系统假设某超市经营各种商品,每种商品包括以下信息:商品编号、商品名称、商品品牌、库存数量、售价、已售数量。系统的主要功能包括:1. 创建商品信息文件:根据提示输入若干商品的信息,并将信息保存至一个文件中。2. 商品进货管理:每次购入新商品,需按要求输入商品所含各项信息并存入商品信息文件中。如果已经存在该商品(以商品编号为准),则修改相应的库存数量信息,否则生成新的商品信息记录。3. 商品销售管理:每次有商品销售出去,则按要求输入商品编号和商品名称信息,并修改相应的商品信息文件。注意:商品销售时要检查库存数量的合法性(即销售出去的数量必须小于库存数量)。4. 按不同条件进行查询操作,输出满足条件的商品信息。(1) 输入商品名称,在商品信息文件中查找相应的商品信息并输出。(2) 输入商品品牌,在商品信息文件中查找该品牌的所有信息并输出。5. 按不同条件对商品信息进行统计工作。(1) 输入商品名称,在商品信息文件中统计该商品的销售总额。(2) 设置一个库存数量警戒值,输出库存数量小于该警戒值的所有库存商品的信息。(3) 输入商品品牌,在商品信息文件中统计其不同商品名称的库存量,并输出库存量最高的那个商品的信息。二、 设计思路主要是通过主函数调用各个子函数来实现各个功能。商品信息管理的设计涉及到了五方面:创建,录入,修改,查询,统计。作为商品信息管理系统,首先要有对商品信息的录入,记录应包括以下信息:商品编号、商品名称、商品品牌、库存数量、售价、已售数量。 录入要注意错误输入的处理,如果一旦用户输入错误或不当程序,程序会自动提醒。修改是要把已录入的记录进行修改,通过修改已达到对商品进货和销售的管理。运用fopen fprintf fscanf等函数实现创建、录入、读出记录的功能。调用switch等函数对商品信息的内容进行查找,并进行相应的修改。统计通过循环和选择结构的运用来实现商品的统计。使用宏定义和全局变量,使整个程序中的变量联系起来,做到动态变化。三、 设计结果及分析1.进入商品信息管理系统,可以根据提示输入每种商品:商品编号、商品名称、商品品牌、库存数量、售价、已售数量的各项信息,然后按商品编号对商品信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。2.进入商品信息管理系统,可以修改商品信息,在原有商品信息文件的基础上增加新的商品成绩信息等。3.进入商品信息管理系统,可以根据用户的要求,按不同条件对商品信息进行查询操作,输出满足条件的商品信息。4.进入学生信息管理系统,可以按不同条件对学生成绩进行统计工作。四、 课程设计心得与体会经过了这次超市商品信息管理系统的课程设计我从中学到了很多,也发现了自己许多不足的地方,结合自己所学的和从资料所查的,在程序设计过程中加深了我对程序设计方面的认识,在巩固了基本的程序设计方法的基础上进一步学习了程序设计中类的定义、各种结构使用方法以及函数的调用等。同时,在程序的设计过程中暴露出了许多问题。首先,程序设计之初思路混乱,不知道该从什么地方下手,最终通过一个个的子函数分别完成不同的功能并通过主函数调用最终实现程序功能的完整性。第二,平时对于面向对象的程序设计方法仅仅局限于概念上的理解,真正实现起来被每个对象繁杂的属性搞的晕头转向。第三,自己对C语言的学习仅仅局限于课本知识,很少实践,以至于在编程过程中错误不断甚至出现低级的语法错误。这次课程设计使我的编程能力得到了很大的提高,加深了我对面向对象这一概念的理解,对以后其他面向对象程序语言的学习打好良好基础,同样也在编程方面积累了经验。第四不要在子函数中调用主函数,这会占用大量内存使程序很快崩溃。第五程序设计完以后还需要些改进,在编写源程序代码的过程中对语言的运用还需要提高,应使写出来的程序更加简洁,易读懂,更加满足实际工作的需要。要想使做出来的程序更好的利用还需根据实际需要在今后的运用中不断的改进和完善。五、附录(源代码)#include #include #include int SNum100;char SName10020;char pub10020;int Anamber100;float price100;int Bnamber100;void a();void b();void c();void d();void e ();int main()int n;int w=0;printf(*欢迎使用超市商品信息管理系统*nn);printf(1.*录入商品信息*nn);printf(2.*修改商品信息*nn);printf(3.*查询商品信息*nn);printf(4.*统计商品信息*nn);printf(5.*退出管理系统*nn);printf(请输入需要进行操作前的编号:n);scanf(%d,&n);doif(n5|n0)printf(n输入错误,请重新输入!n);scanf(%d,&n);elsew=1;while(w=0);switch(n)case 1:a();break;case 2:b();break;case 3:c();break;case 4:d();break;case 5:exit(0);return 0;void a () FILE *fp; int t; if(fp=fopen(s.txt,a+)=NULL) printf(无法打开此文件); printf(商品编号、商品名称、商品品牌、库存数量、售价、已售数量n); printf(请按照上面的格式录入商品信息n); scanf(%d %s %s %d %f %d,&SNum0,&SName00,&pub00,& Anamber 0,&price0,& Bnamber 0); fprintf(fp,%d %s %s %d %f %dn,SNum0,SName0,pub0, Anamber0,price0, Bnamber0); fclose(fp); printf(是否继续录入商品信息?(1/0)n); scanf(%d,&t); if(t=1) a(); else main(); void b() FILE *fp; int num; int i; int t=0; int m; int temp; if(fp=fopen(s.txt,rt+)=NULL) printf(不能打开此文件n); printf(请输入你要修改的商品编号n); scanf(%d,&num); for(;!feof(fp);t+) fscanf(fp,%d%s%s%d%f%d,&SNumt,&SNamett,&pubt0,&Anambert,&pricet,& Bnamber t); for (i=0;it+1; i+) if(num=SNumi) printf(1-商品编号n); printf(2-商品名称n); printf(3-商品品牌n); printf(4-库存数量n); printf(5-售价n); printf(6-已售数量n); aaa: printf(请输入要修改的选项前的编号:n); scanf(%d,&temp); switch (temp) case 1: printf(请输入要修改的内容:n); scanf(%d,&SNumi); break; case 2: printf(请输入要修改的内容:n); scanf(%s,&SNamei0); break; case 3: printf(请输入要修改的内容:n); scanf(%s,&pubi0); break; case 4: printf(请输入要修改的内容:n); scanf(%d,& Anamber i); break; case 5: printf(请输入要修改的内容:n); scanf(%f,&pricei); break; case 6: printf(请输入要修改的内容:n); scanf(%s,& Bnamber i); break; default:printf(输入错误,); goto aaa; break; fclose(fp); if(fp=fopen(s.txt,wt)=NULL) printf(不能打开此文件n); for(i=0;it;i+) fprintf(fp,%d %s %s %d %f %dn,SNumi,SNamei,pubi,Anamberi,pricei,Bnamber i); fclose(fp); printf(修改成功,是否继续修改?(1/0); scanf(%d,&m); if(m=1) b(); else main(); void c() int num;char name20;char apub20; FILE *fp; int i; int t=0; int m; printf(1-按商品名称查询,2-按品牌名查询n); printf(请输入要进行操作前的编号:n); scanf(%d,&num); if(fp=fopen(s.txt,r)=NULL) printf(不能打开此文件n); for(t=0;!feof(fp);t+) fscanf(fp,%d%s%s%d%f%d,&SNumt,&SNamet0,&pubt0,&Anambert,&pricet,&Bnambert); if(num=1) printf(请输入你要查询的商品名:n); scanf(%s,&name0); printf(商品编号 商品名称 商品品牌 库存数量 售价 已售数量n); for(i=0;it+1;i+) if(strcmp(SNamei,name)=0) printf(%5d%8s%8s%9d%8.1f%5dn,SNumi,SNamei,pubi,Anamberi,pricei,Bnamber i); else if(num=2) printf(请输入你要查询的商品品牌:n); scanf(%s,&apub0); printf(商品编号 商品名称 商品品牌 库存数量 售价 已售数量n); for(i=0;it+1;i+) if(strcmp(pubi,apub)=0) printf(%5d%8s%8s%9d%8.1f%5dn,SNumi,SNamei,pubi,Anamberi,pricei,Bnamber i); else printf(输入错误!n); c(); printf(是否继续查询?(1/0)n); scanf(%d,&m); if(m=1) c(); else main();void d()/*统计函数,同上*/ FILE *fp; int t=0; int i; int n1=0;int n2=0;int n3=0; int num; int n=0; int m; if(fp=fopen(s.txt,r)=NULL) printf(不能打开此文件n); for(;!feof(fp);t+) fscanf(fp, %d %s %s %d %f %d n,&SNumt,&SNamet0,&pub t0,&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高端公寓租赁及绿色物业管理合作协议
- 2025年度药品研发企业临床研究药品采购合同及伦理审查执行标准
- 2025年度车辆共享与品牌形象广告投放合作协议
- 2025年学生自主实习就业指导与就业保障服务合同
- 2025年度智能玩具产品批发代理合同
- 英语专业教学毕业论文
- 2025年城市社区绿化带综合管理及环境美化服务合同
- 2025中学食堂绿色低碳环保餐饮服务外包合同
- 2025年度城市地下综合管道顶进工程进度保证及成本控制协议
- 2025年度智能交通信号优化与行政合同服务合作协议
- 《大闹天宫》课件
- 基层卫生岗位(社区护理组)练兵和能竞赛试题
- 专项 记叙文阅读(附答案)八年级语文下册期中测试专项训练(全国版)
- 酒吧入股合同协议
- 公司合同协议变更
- 2025届吉林市高三第三次模拟考试生物试卷(原卷版+解析版)
- 反恐安全风险评估记录
- 【图文】个人简历模板大全-可直接下载使用
- DB42∕T 1049-2015 房产测绘技术规程
- 2025年美术作品授权合同协议
- 加气站气瓶充装质量保证体系手册2024版
评论
0/150
提交评论