C语言课程设计超市管理系统Word格式文档下载.doc
《C语言课程设计超市管理系统Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《C语言课程设计超市管理系统Word格式文档下载.doc(17页珍藏版)》请在冰豆网上搜索。
商品管理
图1.超市管理功能模块
2.2.程序设计
自定义函数就是一般先进行函数声明,然后进行定义。
①数据结构体的定义:
将一个货物的信息作为一个结构体,由于利用链表所以
在结构体中别忘记指向后继结点的指针。
如下:
structstudent
{
intno;
charname[20];
intzong;
floatjin;
floatchu;
intchuliang;
floatsort;
intkucun;
floatxiaoshousum;
floatjingliave;
};
②main()主函数:
主函数是程序的入口,利用循环语句,当运行到指定函数入口时,跳出循环,执行其他模块方法,当选择退出时结束整个程序。
③商品详细信息如图2
显示商品信息
开始
图2.显示信息
④买卖信息如图3
输入商品编号
商品是否存在
N
Y
修改买卖数量
数量是否正确
图3.查询信息
⑤删除信息如图4
输入要删除的商品ID
该商品是否存在
删除该商品信息
图4.删除信息
⑥修改信息如图5
修改商品信息
图5修改信息
2.3.源程序
#include<
time.h>
stdio.h>
conio.h>
#include<
stdlib.h>
#defineMAX50
voidprudctInfo();
voidsort();
voidprudctgoto();
voidprudctinsert();
voidprudctdelete();
voidprudctupdate();
voidaverage();
intnow_no=0;
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"
\t\t\t\t选择功能选项:
"
as=getch();
switch(as)
case'
1'
:
system("
cls"
prudctInfo();
break;
2'
prudctgoto();
3'
prudctinsert();
4'
prudctdelete();
5'
prudctupdate();
6'
exit"
exit(0);
default:
gotostart;
}
}while
(1);
//至此功能选择结束
voidprudctInfo()//显示数据函数
inti;
floatave;
do
\t\t商品详细\n"
\t编号\t商品名\t库存\t单价\t销售数\t销售额\t净利润\n"
for(i=0;
i<
now_no;
i++)
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);
\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);
\t\t按任意键返回主菜单."
gotoexit;
while(as!
='
n'
exit:
system("
voidprudctgoto()//插入数据函数
inti=0;
charch;
intnumberID=0;
intgeshu=0;
inta=0;
\t\t商品一览\n"
\t编号\t商品名\t库存\t单价\n"
\t%d\t%s\t%d\t%.2f\n"
stu[i].no,stu[i].name,stu[i].kucun,stu[i].chu);
a=-1;
\n商品编号:
scanf("
%d"
&
numberID);
if(stu[i].no==numberID){
a=i;
}
if(a==-1){
没这个商品!
ch=getch();
}else{
\n卖出个数:
geshu);
if(stu[a].zong<
geshu){
没这么多商品"
fflush(stdin);
stu[a].chuliang=geshu;
}
是否继续输入?
(Y/N)"
while(ch!
voidprudctinsert()//原始数据录入模块
\t\t\t\t1.输入商品信息\n输入第%d个商品情报\n"
i+1);
\n登陆商品编号:
stu[i].no);
\n登陆商品名:
gets(stu[i].name);
\n登陆超市进货商品个数:
stu[i].zong);
\n登陆商品进货单价:
%f"
stu[i].jin);
\n登陆商品售出单价:
stu[i].chu);
stu[i].chuliang=0;
\n\n"
i++;
now_no=i;
now_no);
voidprudctdelete(){
intinum,i,j;
输入要删除商品编号:
inum);
if(stu[i].no==inum)
for(j=i;
j<
j++)
stu[i]=stu[i+1];
now_no=now_no-1;
voidprudctupdate(){
\n\t\t输入新商品信息\n"
stu[now_no].no);
gets(stu[now_no].name);
stu[now_no].zong);
scanf