超市商品管理系统免费哦超好有源代码地.docx
- 文档编号:2468104
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:15
- 大小:28.61KB
超市商品管理系统免费哦超好有源代码地.docx
《超市商品管理系统免费哦超好有源代码地.docx》由会员分享,可在线阅读,更多相关《超市商品管理系统免费哦超好有源代码地.docx(15页珍藏版)》请在冰点文库上搜索。
超市商品管理系统免费哦超好有源代码地
设计报告
设计题目:
超市商品管理系统
年级
班级
姓名
学号
起止时间6.10~~6.28
1.主菜单显示进入各模块程序
2.信息输入模块input():
建立超市商品数据总文件,完成对超市商品信息的录入,并将其存放到指定文件(如:
pro.dat)中。
3.信息查找模块search():
采用如下方式进行查找,若找到,则输出该商品的相关信息;否则,输出提示信息(如:
notfound!
)。
1)按产品名称查询;
2)按进货日期查询并统计(统计某年某月进的某种产品的数量,产品的种类);
3)按产品名称和规模查询并统计;
4.新物资入库模块insert():
在原数据文件中插入新物资信息。
5.打印功能模块print():
1)打印进货单
2)打印商品库存清单
课程设计目的
随着社会的逐步发展,超市在老百姓的生活中占据着重要的位置。
然而琳琅满目的商品的管理也是一个大问题,在任何一个商店这都是不可忽视的问题,所以超市对商品的管理设计是很重要的,它可以在很大程度上帮助超市人员管理商品情况。
改程序一共有五个模块,不但可以进行超市信息的显示录入,查找,删除,更新,还能对货品的一些清单进行打印,操作界面简洁,操作简单。
程序用了指针、链表、数组、结构体等知识点,可运用于小的管理软件。
软件运用菜单实现交互式管理,用户轻松的按键就可实现对软件的操作,方便超市管理。
设计思路
商品管理
录入商品信息
查找商品信息
插入新信息
打印清单
按产品名称查询
按进货日期查询并统计
按产品名称和规模查询并统计
打印进货单
打印商品库存清单
structMarketgooods
{
charno[30];/*商品的编号*/
charname[20];/*商品的名称*/
floatamount;/*库存数量*/
floatprice;/*商品价格*/
charkind;/*商品种类*/
structimportko;/*进货的结构体*/
charplace[50];/*库存位置*/
}goods[count];
structimport
{
structdatetime;/*进货日期的结构体*/
intjin;/*进货的数量*/
intsell-sum;/*销售总量*/
}ko[8000];
structdate
{
intyear;
intmonth;
intday;
}time[8000];
主函数:
#include"stdio.h"//需要的一些头文件
#include"stdlib.h"
#include"cstring"
#defineCOUNT10000//声明商品的种类为30中,你也可以修改
//函数声明
voidstart();//启动界面
voidinput();//商品数据信息输入函数
voidsearch();//商品数据信息查找函数
voidinsert();//插入新的物资信息
intsum();//规定日期的销售量
voidprint();//商品信息输出
intcount=0;//全局变量,用于保存实际上有多少个商品
voidmain()//主函数
{
while
(1)
start();
}
1.启动界面
通过此界面超市员工可方便选择各种操作,灵活性较强。
流程图:
n
开始
input()商品信息录入
输入c,选择相应的操作
c==1?
c==2?
c==3?
c==5?
c==4?
search()商品信息查找
insert()插入新的物资信息
sum()统计销售量
退出系统
Thechoiceisnotvalid.
退出
c==6?
print()打印商品清单
y
y
y
y
y
y
voidstart()/*启动菜单*/
{
intc;
printf("超市商品管理系统\n");
printf("********************************************\n");
printf("1.商品信息的录入:
\n");
printf("2.商品信息的查找:
\n");
printf("3.插入新的物资信息:
\n");
printf("4.统计销售量:
\n");
printf("5.打印商品清单:
\n");
printf("6.退出系统:
\n");
printf("********************************************\n");
printf("输入你的选择:
");
scanf("%d",&c);/*根据你的选择执行相应的函数*/
if(c==1)
input();
elseif(c==2)
search();
elseif(c==3)
insert();
elseif(c==4)
sum();
elseif(c==5)
print();
elseif(c==6)
{printf("你已经退出超市商品管理系统!
\n");
exit(0);}
else
printf("YouEnterTheChoiceIsNotvalid!
\n");
}
2.商品信息输入模块
通过对商品信息的录入来保存商品信息,从而方便以后商品的管理与其信息的更新。
流程图:
开始
输入flag
Flag=”y”或”Y”
输入价格
输入商品名称
输入商品编号
输入商品位置
output()输出信息
退出
输入商品总数目
Y
N
voidinput()//数据录入
{
charflag[20];
do{
printf("请输入你的商品信息:
\n");//录入商品的信息
printf("商品编号:
");
scanf("%s",goods[count].no);
printf("商品名称:
");
scanf("%s",goods[count].name);
printf("商品总数目:
");
scanf("%f",&goods[count].amount);
printf("商品价格:
");
scanf("%f",&goods[count].price);
printf("商品位置:
");
scanf("%s",goods[count].place);
count++;//存数的商品数加一
printf("是否继续输入数据y是n否:
");//是否还想继续输入数据
scanf("%s",flag);
}while(strcmp(flag,"y")==0||strcmp(flag,"Y")==0);
print();//打印商品数据
}
3.数据查找模块
本模块可方便员工进行商品数据的查找与统计,且可便捷找到商品的库存位置,可按以下三种方式进行查找:
1.按商品名称进行查找
2.按商品的进货日期进行查找
3.按商品的规模进行查找
流程图:
开始
选择查找方式k
K=1
K=2
K=3
商品名称相同?
商品种类相同?
输出商品信息
输出商品信息
输出商品信息
退出
进货日期相同?
Y
Y
Y
Y
Y
Y
N
voidsearch()/*数据查找*/
{
inti,k;
chara[20];
structdatetime1;
printf("pleasechoose:
1.按名称查找2.按进货日期查询3.按类别查找\n");
scanf("%d",&k);
switch(k)/*选择查找方式*/
case1:
{printf("\nenterthegoods'name:
\n");/*根据商品的名称来查找数据*/
scanf("%s",a);
for(i=0;i if(strcmp(goods[i].name,a)==0) { printf("商品编号商品名称库存数量商品价格商品种类销售额库存位置"); printf("%s%s%f%f%s%d%s\n",goods[i].num,goods[i].name,goods[i].amount,goods[i].price,goods[i].kind,goods[i].sell-sum,goods[i].place); returngoods[i]; } else printf("NOTFOUND! \n"); break;} case2: {printf("\nentertheimportdate: \n");/*根据商品的进货日期来查找数据*/ scanf("%d%d%d",&time1.year,&time1.month,&time1.day); for(i=0;i if(strcmp(time[i].year,time1.year)+strcmp(time[i].month,time1.month)+strcmp(time[i].day,time1.day)==0) { printf("商品编号商品名称库存数量商品价格商品种类销售额库存位置进货数量出货数量"); printf("%s%s%f%f%s%d%s%d%d\n",goods[i].num,goods[i].name,goods[i].amount,goods[i].price,goods[i].kind,goods[i].sell-sum,goods[i].place,goods[i].ko[i].jin,goods[i].ko[i].chu); returngoods[i]; }/*显示符合条件商品当天进货情况*/ else printf("NOTFOUND! \n"); break;} case3: {printf("\nenterthegoods'kind: \n");/*根据商品的种类来查找数据*/ scanf("%s",a); for(i=0;i if(strcmp(goods[i].kind,a)==0) { printf("商品编号商品名称库存数量商品价格商品种类销售额库存位置"); printf("%s%s%f%f%s%d%s\n",goods[i].num,goods[i].name,goods[i].amount,goods[i].price,goods[i].kind,goods[i].sell-sum,goods[i].place); returngoods[i]; } else printf("NOTFOUND! \n");} 4.插入新物资信息 该部分可方便进货时对货物的数量等基本情况进行更改,保证商品库存信息的准确性与实时性。 流程图: i=0 开始 i 输入新的物资信息 新插入的物资编号与名称是否存在? 将新信息加入原有信息 录入新信息 更新总库存数量 i==n? i++ 退出 y y n y n voidinsert(Marketgooodst[],intn)/*插入函数,参数为结构体数组和记录数*/ { Marketgooodstemp;/*新插入物资信息*/ inti; printf("pleaseinputrecord\n"); printf("商品编号商品名称商品种类进货量出货量进货年、月、日: \n"); scanf("%s%s%s%d%d%d%d%d",temp.no,temp.name,temp.kind,&temp.ko.jin,&temp.ko.chu,&temp.ko.time.year,&temp.ko.time.month,&temp.ko.time.day);/*输入插入信息*/ for(i=0;i if(strcmp(temp.no,t[i].no)+strcmp(temp.name,t[i].name)==0)/*记录中的物资名称和编号与待插入的是否对应相等*/ {t[i].quantity=t[i].quantity+temp.ko.jin-temp.ko.sell-sum; break;}/*相等,按要求完成数据更改后则跳出循环,程序提前结束*/ if(i==n) input();/*若未找到则按新信息录入*/ count=count+temp.ko.jin-temp.ko.sell-sum;/*更改总货物的数量*/ } 5.统计销售量 这样有助于各种时间段的销售量的统计,从而使商品的销售情况一目了然。 而且便于超市工作人员方便统计与查货,进货等。 流程图: 开始 输入起始日期l1,m1,n1与截止日期l2,m2,n2 查找该种商品 将规定期限内的销售额累加 sum=sum+a.ko[j].sell-sum 日期是否相同? 日期是否相同? returnsum 退出 y y intsum(){ Marketgoodsa; inti,j,l1,m1,n1,l2,m2,n2,sum=0;/*l1,m1,n1,为起始年月日l2,m2,n2为截止年月日*/ a=search()/*查找指定的商品并赋给a*/ printf("Pleaseinputthestartanddeadline: \n"); scanf("%d%d%d%d%d%d",&l1,&m1,&n1,&l2,&m2,&n2); for(i=0;i<8000;i++) if(strcmp(a.ko[i].date[i].year,l1)+strcmp(a.ko[i].date[i].month,m1)+strcmp(a.ko[i].date[i].day,n1)==0)/*寻找起始日期*/ for(j=i;j<8000-i;j++) if(strcmp(a.ko[j].date[j].year,l2)+strcmp(a.ko[j].date[j].month,m2)+strcmp(a.ko[j].date[j].day,n2)! =0)/*在起始日期的基础上查找截止日期*/ sum=sum+a.ko[j].sell-sum;/*将规定期限的销售额累加*/ returnsum; } 6.打印商品信息 方便打印交易凭证,或将商品的信息书面化来进行保存。 流程图: 开始 输入k K=1 K=2 打印商品库存清单 打印进货清单 退出 voidprint()//数据输出 { inti,k; search();/*查找所需打印的商品的信息*/ printf("1.打印进货清单2.打印商品库存清单\n"); scanf("%d",&k); switch(k) case1: {printf("%s%s%f%f%d-%d-%d%d\n",goods[i].no,goods[i].name,goods[i].amount,goods[i].price,goods[i].ko.date.year,goods[i].ko.date.month,goods[i].ko.date.day,goods[i].ko.jin); break;} case2: {printf("%s%s%f%f%d%d\n",goods[i].no,goods[i].name,goods[i].amount,goods[i].price); break;} }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 商品 管理 系统 免费 哦超好 有源 代码