超市商品管理系统.docx
- 文档编号:2315605
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:24
- 大小:128.92KB
超市商品管理系统.docx
《超市商品管理系统.docx》由会员分享,可在线阅读,更多相关《超市商品管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
超市商品管理系统
西安邮电学院
软件设计课程设计报告
题目:
超市商品管理系统
系部名称
:
电信系
专业名称
:
电子科学与技术
班级
:
0701
学号
:
05072001
学生姓名
:
胡立仁
指导教师
:
黄茹
时间
:
2008年6月9日至2008年6月20日
一、?
课程设计目的
1.通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。
2.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。
3.为后续各门计算机课程的学习打下坚实基础。
4.为毕业设计和以后工作打下必要基础。
二、课程设计内容
1.编写程序并进行调试运行。
2.输入商品信息,并保存于文件。
每个商品信息包含信息如:
库存量、进价、售价、保质期、生产商等。
3.对已存入的商品信息进行更新操作,包括添加一个商品信息、删除某个商品信息和修改某个商品信息。
4.通过输入商品名、商品号、商品类型的方式查询商品信息。
5.最后输出商品信息,供需要时打印。
三、需求分析
1.该程序可用于对商品基本信息的存储、更新、查询、排序、输出等操作,以实现对商品信息的管理。
2.其中更新功能包括:
添加信息、删除信息、修改信息、可根据需要添加一个或多个商品信息,也可对个别商品信息进行适当的删除或修改。
以便随时更新商品信息。
3.程序中设计的查询功能可根据需要从若干数据中查询某个商品信息,并且可根据三种不同的方法查询:
按商品号查询、按商品类型和按商品查询,以满足不同的需要。
四、概要设计
1、方案设计
对系统进行分析,给出结构图
分析:
系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计
结构图如下:
2、模块功能说明(对各个模块进行功能的描述)
(1).输入模块:
录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。
(2).添加模块:
可添加一个或多个商品信息,并将所添加商品信息保存,方便查找。
(3).删除模块:
可对售完的商品信息做删除处理。
(4).修改模块:
可根据需要对多个商品信息进行修改,也可随时对个别项进行修改。
(5).查询模块:
可对已建立的商品信息进行查询,并且可根据需要选择按商品名查询或按商品号查询。
(6).保存模块:
用于对信息进行保存。
(7).输出模块:
将所有商品信息或想要查询的商品信息显示于屏幕,用于打印商品信息或查找某些商品信息。
(8).退出系统:
选择该项,自动退出该系统。
五、详细设计及运行结果
是
是
否
否
输入模块:
输出模块:
是
否
排行模块:
六、调试情况,设计技巧及体会
1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,开始时,数据的输出格式不太规范,而且各模块也出现了一些小问题,在老师和同学的帮助下,通过自己一次又一次的进行调试和修改,最后运行的结果基本上达到了预期的目的。
由于时间问题和考虑得不够周全,可能在某些功能上不是很完善,不过已有的功能已能基本满足一般用户的需求,如果能通过不断的实验和使用过程中所积累的问题进行改进。
如:
数量,价格的输入值为负值时,程序也能继续执行,这就给运用上带来一些不便或可能出现一些莫名其妙的错误。
不过总的来说,对于自己首次能够自主完成一个这样大的程序来说,还是比较满意。
2、在设计过程中的感受。
本次C语言的实习课让我对C语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识较缺乏的大学生增添了许多实践经验,为我们将来走上工作岗位其了不小的铺垫作用。
本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到自己一般写过的大量程序,给了我继续的信心。
在老师和同学的帮助下,我顺利的完成了本次实习,让我体会到了经过不懈的努力,有过挫折有过坎坷,但最终实现目标后的成就感,也让我充分感受到友谊和团结的重要性。
七、参考文献
《C语言程序设计》王曙燕曹锰
八、附录:
#include<>
#include<>
#include<>#include<>
#include<>
#include<>
#defineMAX20
#definePRINT1printf("---------------------------------------------------------\n")
#definePRINT2printf("商品号--商品名称--商品种类--销售价格--生产日期(年-月-日)--保质期\n")
#definePRINT3printf("%4d%8s%8s%8d%8d-%2d-%2d%4d\n",goods[i].num,goods[i].name,goods[i].kind,goods[i].out_price,goods[i].,goods[i].,goods[i].,goods[i].save_day)
intsum;
structdate
{
intyear;
intmonth;
intday;
};
structgoods_type/*定义结构体*/
{
intnum;
charname[10];
charkind[10];
intamount;
intin_price;
intout_price;
structdatepro_time;
intsave_day;
intprofit;
}goods[MAX];
Save_Message(intsum);/*函数声明*/
voidInquire_message(void);
voidInquire_goodskind(void);
voidInquire_goodsname(void);
intRead_Message(void);
voidRenew_Messahe(void);
voidRevise_Message(void);
voidDelete_Message(void);
voidInsert_Message();
voidShow_Message(void);
intInput_Message(void);
voidCount_Message();
longCount_Profit();
longCount_Amount();
voidSort_amount(void);
voidSort_Message(void);
voidSort_Message(void)
{
intchoice;
do
{
clrscr();
printf("\n\n\n*******商品信息排行********\n\n");
printf("1:
按库存量排行\n\n");
printf("0:
返回主菜单\n\n");
printf("请选择(0-1):
");
scanf("%d",&choice);
switch(choice)
{
case1:
Sort_amount();break;
case0:
break;
}
}while(choice!
=0);
}
voidSort_amount(void)/*库存量排序*/
{
structgoods_type*p,*q[MAX];
inti,j,k;
clrscr();
printf("库存排行");
PRINT1;
printf("\n\n排名商品号商品名称商品类别库存量\n\n");
p=goods;
for(i=0;i q[i]=p++; for(i=0;i { k=i; for(j=i+1;j if(q[k]->amount k=j; if(k! =i) { p=q[i]; q[i]=q[k]; q[k]=p; } } for(i=0;i { printf("%d",i+1); printf("%d",q[i]->num); printf("%s",q[i]->name); printf("%s",q[i]->kind); printf("%d\n",q[i]->amount); } bioskey(0); } longCount_Amount()/*统计库存量*/ { inti,j=0,choice,count_num,Amount; charinquire_name[10]; clrscr(); printf("\n请输入想要统计的商品号: "); scanf("%d",&count_num); for(i=0;i if(goods[i].num==count_num) { Amount=goods[i].amount; printf("-------------------------"); printf("商品号库存量"); printf("\n%8d%8d",goods[i].num,Amount); } else j++; if(j==sum) printf("该商品信息不存在"); bioskey(0); } longCount_Profit()/*统计利润模块*/ { inti,choice,j=0,count_num,profit; clrscr(); printf("\n请输入想要统计的商品号: "); scanf("%d",&count_num); for(i=0;i if(goods[i].num==count_num) { profit=goods[i].out_price-goods[i].in_price; printf("\n商品利润"); printf("\n-------------------------------"); printf("\n商品号利润"); printf("\n%8d%8d\n",&goods[i].num,&profit); } else j++; if(j==sum) printf("\n该商品不存在"); printf("\n按任意键返回主菜单! ! "); bioskey(0); } voidCount_Message(void)/*统计模块*/ { intchoice; do{ clrscr(); printf("**************统计商品信息*************\n\n\n"); printf("*******1: 统计库存量************\n\n\n"); printf("*******2: 统计利润************\n\n\n"); printf("****amount)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 商品 管理 系统