《C语言课程设计-超市管理系统(共17页)》由会员分享,可在线阅读,更多相关《C语言课程设计-超市管理系统(共17页)(17页珍藏版)》请在金锄头文库上搜索。
1、1课程设计的目的随着社会的发展,超市成为百姓购买日常用品的首选之地,琳琅满目的商品在管理方面也是一大问题,超市对商品的管理统计是很重要的,因此一个超市商品管理系统可以大大地帮助超市人员管理商品情况。以下程序供参考使用:该程序一共有5个模块6个选项,不但可以进行超市商品信息的显示,修改,删除,更可以对商品的价格进行统计,对商品的进货价格 出货价格 以及净利润等进行统计,操作界面简洁,方便的进行操作。程序用了指针、链表、数组.结构体等知识点,可运用于小的管理软件。软件运用菜单实现交互式 管理,用户轻松的按键既可实现对软件的操作,操作简单,功能使用可以满足一般小型超市的管理,用户对进货出货的价格数量
2、一目了然。 2 2设计方案论证21设计思路建立一个全局链表,在内存中存储数据,例如:商品数量 出货进货价格等。主函数可以调用5个模块函数,分别完成增加,显示,修改,删除,商品详细,结束等功能。在主函数中可以设置调用5个函数的方法,按1,2,3,4,5,6数字键,则分别可以执行某个功能模块。 主要功能模块即如图1所示:显示全部息商品买卖操作登陆商品信息删除商品信息库存商品修改结束商品管理图1.超市管理功能模块2.2.程序设计自定义函数就是一般先进行函数声明,然后进行定义。 数据结构体的定义:将一个货物的信息作为一个结构体,由于利用链表所以在结构体中别忘记指向后继结点的指针。如下: struct
3、student int no; char name20; int zong; float jin; float chu; int chuliang; float sort; int kucun;float xiaoshousum; float jingliave; ;main()主函数:主函数是程序的入口,利用循环语句,当运行到指定函数入口时,跳出循环,执行其他模块方法,当选择退出时结束整个程序。商品详细信息如图2显示商品信息开始结束图2显示信息买卖信息如图3输入商品编号商品是否存在NY开始结束修改买卖数量数量是否正确NY图3.查询信息删除信息如图4开始输入要删除的商品ID该商品是否存在删除该
4、商品信息结束YN图4.删除信息修改信息如图5开始输入商品编号商品是否存在修改商品信息结束YN图5 修改信息2.3.源程序#include #include #include #include #define MAX 50 void prudctInfo(); void sort(); void prudctgoto(); void prudctinsert();void prudctdelete();void prudctupdate();void average(); int now_no=0; struct student int no; char name20; int zong; fl
5、oat jin; float chu; int chuliang; float sort; int kucun;float xiaoshousum; float jingliave; ; struct student stuMAX,*p; main()/主函数 char as; start: printf(tttt超市商品管理系统nn); /一下为功能选择模块 do printf(ntttt1.商品详细ntttt2.商品买卖ntttt3.库存商品登陆ntttt4.库存商品删除ntttt5.库存商品修改ntttt6.退出n); printf(tttt选择功能选项:); as=getch(); s
6、witch(as) case 1: system(cls); prudctInfo(); break; case 2: system(cls); prudctgoto(); break; break; case 3: system(cls); prudctinsert(); break; case 4: system(cls); prudctdelete(); break; case 5: system(cls); prudctupdate(); break; case 6: system(exit); exit(0); default: system(cls); goto start; wh
7、ile(1); /至此功能选择结束 void prudctInfo()/显示数据函数 int i; char as; float ave; do printf(tt商品详细n); printf(t编号t商品名t库存t单价t销售数t销售额t净利润n); for(i=0;inow_no;i+) stui.kucun=stui.zong-stui.chuliang; stui.xiaoshousum=stui.chu*stui.chuliang;stui.jingliave=stui.chu*(stui.chu-stui.jin); printf(t%d t%s t%d t%.2ft%dt%.2ft
8、%.2fn, stui.no,stui.name,stui.kucun,stui.chu,stui.chuliang,stui.xiaoshousum,stui.jingliave); printf(tt按任意键返回主菜单.); as=getch(); goto exit; while(as!=n); exit: system(cls); void prudctgoto()/插入数据函数 int i=0; char ch; int numberID=0;int geshu=0;int a =0;do printf(tt商品一览n); printf(t编号t商品名t库存t单价n); for(i=
9、0;inow_no;i+) stui.kucun=stui.zong-stui.chuliang; printf(t%d t%s t%d t%.2fn, stui.no,stui.name,stui.kucun,stui.chu); a =-1;printf(n商品编号:); scanf(%d,&numberID);for(i=0;inow_no;i+) if(stui.no=numberID) a=i; if(a=-1)printf(没这个商品!); ch=getch(); system(cls); elseprintf(n卖出个数:); scanf(%d,&geshu);if(stua.z
10、onggeshu)printf(没这么多商品); ch=getch(); system(cls); elsefflush(stdin);stua.chuliang = geshu;printf(是否继续输入?(Y/N); ch=getch(); system(cls); while(ch!=n); system(cls); void prudctinsert()/原始数据录入模块 int i=0; char ch; do printf(tttt1.输入商品信息n输入第%d个商品情报n,i+1); printf(n登陆商品编号:); scanf(%d,&stui.no); fflush(stdi
11、n); printf(n登陆商品名:); fflush(stdin); gets(stui.name); printf(n登陆超市进货商品个数:); fflush(stdin); scanf(%d,&stui.zong); printf(n登陆商品进货单价:); fflush(stdin); scanf(%f,&stui.jin); printf(n登陆商品售出单价:); fflush(stdin); scanf(%f,&stui.chu); stui.chuliang=0;printf(nn); i+; now_no=i; printf(%d,now_no); printf(是否继续输入?(
12、Y/N); ch=getch(); system(cls); while(ch!=n); system(cls); void prudctdelete()int inum,i,j; printf(输入要删除商品编号:); fflush(stdin); scanf(%d,&inum); for(i=0;inow_no;i+) if(stui.no=inum) for(j=i;jnow_no;j+) stui=stui+1; now_no=now_no-1; break; system(cls); void prudctupdate()char ch; do printf(ntt输入新商品信息n); printf(n登陆商品编号:); scanf(%d,&stunow_no.no); fflush(stdin); printf(n登陆商品名:); fflush(stdin); gets(stunow_no.name); printf(n登陆超市进货商品个数:); fflush(stdin); scanf(%d,&stunow_no.zong); printf(n登陆商品进货单价:); fflush(stdin); scanf(%f,&stunow_no.jin); printf(n登陆商品售出单价:);