您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > C语言课程设计-超市管理系统
课程设计说明书No1沈阳大学1.课程设计的目的随着社会的发展,超市成为百姓购买日常用品的首选之地,琳琅满目的商品在管理方面也是一大问题,超市对商品的管理统计是很重要的,因此一个超市商品管理系统可以大大地帮助超市人员管理商品情况。以下程序供参考使用:该程序一共有5个模块6个选项,不但可以进行超市商品信息的显示,修改,删除,更可以对商品的价格进行统计,对商品的进货价格出货价格以及净利润等进行统计,操作界面简洁,方便的进行操作。程序用了指针、链表、数组.结构体等知识点,可运用于小的管理软件。软件运用菜单实现交互式管理,用户轻松的按键既可实现对软件的操作,操作简单,功能使用可以满足一般小型超市的管理,用户对进货出货的价格数量一目了然。课程设计说明书No2沈阳大学22.设计方案论证2.1设计思路建立一个全局链表,在内存中存储数据,例如:商品数量出货进货价格等。主函数可以调用5个模块函数,分别完成增加,显示,修改,删除,商品详细,结束等功能。在主函数中可以设置调用5个函数的方法,按1,2,3,4,5,6数字键,则分别可以执行某个功能模块。主要功能模块即如图1所示:图1.超市管理功能模块2.2.程序设计自定义函数就是一般先进行函数声明,然后进行定义。①数据结构体的定义:将一个货物的信息作为一个结构体,由于利用链表所以在结构体中别忘记指向后继结点的指针。如下:structstudent{intno;charname[20];intzong;floatjin;floatchu;intchuliang;floatsort;intkucun;显示全部息商品买卖操作登陆商品信息删除商品信息库存商品修改结束商品管理课程设计说明书No3沈阳大学floatxiaoshousum;floatjingliave;};②main()主函数:主函数是程序的入口,利用循环语句,当运行到指定函数入口时,跳出循环,执行其他模块方法,当选择退出时结束整个程序。③商品详细信息如图2图2.显示信息④买卖信息如图3图3.查询信息输入商品编号商品是否存在NY开始结束修改买卖数量数量是否正确NY显示商品信息开始结束课程设计说明书No4沈阳大学⑤删除信息如图4图4.删除信息⑥修改信息如图5图5修改信息开始输入要删除的商品ID该商品是否存在删除该商品信息结束YN开始输入商品编号商品是否存在修改商品信息结束YN课程设计说明书No5沈阳大学2.3.源程序#includetime.h#includestdio.h#includeconio.h#includestdlib.h#defineMAX50voidprudctInfo();voidsort();voidprudctgoto();voidprudctinsert();voidprudctdelete();voidprudctupdate();voidaverage();intnow_no=0;structstudent{intno;charname[20];intzong;floatjin;floatchu;intchuliang;floatsort;intkucun;floatxiaoshousum;floatjingliave;};structstudentstu[MAX],*p;main()//主函数{charas;start:printf(\t\t\t\t超市商品管理系统\n\n);//一下为功能选择模块do{printf(\n\t\t\t\t1.商品详细\n\t\t\t\t2.商品买卖\n\t\t\t\t3.库存商品登陆\n\t\t\t\t4.库存商品删除\n\t\t\t\t5.库存商品修改\n\t\t\t\t6.退出\n);printf(\t\t\t\t选择功能选项:);as=getch();switch(as){case'1':课程设计说明书No6沈阳大学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);gotostart;}}while(1);//至此功能选择结束}voidprudctInfo()//显示数据函数{inti;charas;floatave;do{printf(\t\t商品详细\n);printf(\t编号\t商品名\t库存\t单价\t销售数\t销售额\t净利润\n);for(i=0;inow_no;i++){课程设计说明书No7沈阳大学stu[i].kucun=stu[i].zong-stu[i].chuliang;stu[i].xiaoshousum=stu[i].chu*stu[i].chuliang;stu[i].jingliave=stu[i].chu*(stu[i].chu-stu[i].jin);printf(\t%d\t%s\t%d\t%.2f\t%d\t%.2f\t%.2f\n,stu[i].no,stu[i].name,stu[i].kucun,stu[i].chu,stu[i].chuliang,stu[i].xiaoshousum,stu[i].jingliave);}printf(\t\t按任意键返回主菜单.);as=getch();gotoexit;}while(as!='n');exit:system(cls);}voidprudctgoto()//插入数据函数{inti=0;charch;intnumberID=0;intgeshu=0;inta=0;do{printf(\t\t商品一览\n);printf(\t编号\t商品名\t库存\t单价\n);for(i=0;inow_no;i++){stu[i].kucun=stu[i].zong-stu[i].chuliang;printf(\t%d\t%s\t%d\t%.2f\n,stu[i].no,stu[i].name,stu[i].kucun,stu[i].chu);}a=-1;printf(\n商品编号:);scanf(%d,&numberID);for(i=0;inow_no;i++){if(stu[i].no==numberID){a=i;}课程设计说明书No8沈阳大学}if(a==-1){printf(没这个商品!);ch=getch();system(cls);}else{printf(\n卖出个数:);scanf(%d,&geshu);if(stu[a].zonggeshu){printf(没这么多商品);ch=getch();system(cls);}else{fflush(stdin);stu[a].chuliang=geshu;}}printf(是否继续输入?(Y/N));ch=getch();system(cls);}while(ch!='n');system(cls);}voidprudctinsert()//原始数据录入模块{inti=0;charch;do{printf(\t\t\t\t1.输入商品信息\n输入第%d个商品情报\n,i+1);printf(\n登陆商品编号:);scanf(%d,&stu[i].no);课程设计说明书No9沈阳大学fflush(stdin);printf(\n登陆商品名:);fflush(stdin);gets(stu[i].name);printf(\n登陆超市进货商品个数:);fflush(stdin);scanf(%d,&stu[i].zong);printf(\n登陆商品进货单价:);fflush(stdin);scanf(%f,&stu[i].jin);printf(\n登陆商品售出单价:);fflush(stdin);scanf(%f,&stu[i].chu);stu[i].chuliang=0;printf(\n\n);i++;now_no=i;printf(%d,now_no);printf(是否继续输入?(Y/N));ch=getch();system(cls);}while(ch!='n');system(cls);}voidprudctdelete(){intinum,i,j;printf(输入要删除商品编号:);fflush(stdin);scanf(%d,&inum);for(i=0;inow_no;i++){if(stu[i].no==inum){for(j=i;jnow_no;j++){stu[i]=stu[i+1];课程设计说明书No10沈阳大学}now_no=now_no-1;}break;}system(cls);}voidprudctupdate(){charch;do{printf(\n\t\t输入新商品信息\n);printf(\n登陆商品编号:);scanf(%d,&stu[now_no].no);fflush(stdin);printf(\n登陆商品名:);fflush(stdin);gets(stu[now_no].name);printf(\n登陆超市进货商品个数:);fflush(stdin);scanf(%d,&stu[now_no].zong);printf(\n登陆商品进货单价:);fflush(stdin);scanf(%f,&stu[now_no].jin);printf(\n登陆商品售出单价:);fflush(stdin);scanf(%f,&stu[now_no].chu);printf(\n登陆超市商品卖去个数:);fflush(stdin);scanf(%d,&stu[now_no].chuliang);printf(\n\n);now_no=now_no+1;printf(是否继续输入?(Y/N));课程设计说明书No11沈阳大学ch=getch();system(cls);}while(ch!='n');}voidsort()//排序数据函数{structstudenttemp;inti,j;for(i=1;inow_no;i++){for(j=1;j=now_no-i;j++){if(stu[j-1].jingliavestu[j].jingliave){temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;}}}}课程设计说明书No12沈阳大学3.设计结果与分析在VC6.0环境中输入源程序,在没有提示错误的情况下编译,生成.exe可执行文件。①运行程序,会看到如图6所示界面。运行主函数时,首先调用函数main图6程序主界面这个界面是运行函数后首先出现的界面,运行函数时,该函数是一个菜单函数,用switch语句来实现各功能模块的转移,出来该页面后用户可根据提示输入信息,从而实现各种目的。②键盘输入1,进入商品详细目录用以显示全部商品详细信息图7显示信息界面该页面用printf输出,在利用指针读出链表中数据并利用合理计算计算出净利润等数据,再用while语句进行循环输出部数据课程设计说明书No13沈阳大学③输入2按回车进入商品买卖页面。如图8所示图8买卖信息界面用scanf输入数据,用if语句和while语句来实现循环每一次修改的数据④输入3按回车会进入商品登陆页面,此页面用来登陆商品。如图9所示图9登录信息界面将数据登陆入链表个变量中课程设计说明书No14沈阳大学⑤输入4按回车进入商品修改模块如图10所示图10修改信息界面6输入5按回车进入商品删除模块如图11所示使用printf()函数和scanf()函数,并且利用指针从而实现各种功能。其中用到了while循环语句,实现对链
本文标题:C语言课程设计-超市管理系统
链接地址:https://www.777doc.com/doc-4436932 .html