📄 shopon.c
字号:
printf("请输入商品价格:\n¥");
scanf("%f",&p->price);
keycle();
printf("请输入商品采购数量:\n");
scanf("%d",&p->quantity);
keycle();
p->nowquan=p->quantity;
p->outquan=0;
p->front=r;
r->later=p;
p->later=NULL;
return head;
}
/*= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =
*函数名: creat
*参 数: 链表头指针(pcomd head)
*type name[IN]:
*功能描述: 创建数据链表(创建商品数据库)
*返回值: 返回链表头指针
*抛出异常:
*作 者: 张学刚
= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =*/
pcomd creat(pcomd head)
{
pcomd p;
char c;
do
{
p=addcom(head);
printf("是否继续创建商品?(Y/N)\n");
c='a';
for(;c!='y' && c!='Y';)
{
scanf("%c",&c);
keycle();
if(c=='n' || c=='N')
{
return p;
}
else if(c=='y' || c=='Y')
;
else
printf("请输入:(Y/N)\n");
}
}while(c=='y' || c=='Y');
head=p;
return head;
}
/*= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =
*函数名: sellcom
*参 数: 指定的结构(pcomd pcom,int num)
*type name[IN]:
*功能描述: 指定构体内用num(减nowquan,加outquan)(对商品的销售量和现有库存进行运算)
*返回值: 此操作的结构
*抛出异常:
*作 者: 张学刚
= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =*/
pcomd sellcom(pcomd pcom,int num)
{
if(num>pcom->nowquan)
{
printf("没有足够数量的商品\n现在只有%d件商品\n",pcom->nowquan);
return pcom;
}
pcom->outquan+=num;
pcom->nowquan-=num;
printf("应付:¥%f\n",pcom->price*num);
return pcom;
}
/*= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =
*函数名: buycom
*参 数: 指定的结构(pcomd pcom,int num)
*type name[IN]:
*功能描述: 指定构体内用num(加nowquan,加quantity)(对商品的进货总量和现有库存进行运算)
*返回值: 此操作的结构
*抛出异常:
*作 者: 张学刚
= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =*/
pcomd buycom(pcomd pcom,int num)
{
if(num<0 || num>32766){printf("输入的数量有误!!\n");return pcom;}
pcom->quantity+=num;
pcom->nowquan+=num;
return pcom;
}
/*= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =
*函数名: dell
*参 数: 链表头指针(pcomd head)
*type name[IN]:
*功能描述: 清除结构体占用的内存
*返回值: 成功返回0
*抛出异常:
*作 者: 张学刚
= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =*/
int dell(pcomd head)
{
pcomd p,q;
p=head;
while(p->later != NULL)
{
q=p->later;
free(p);
p=q;
}
free(p);
return 0;
}
/*= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =
*函数名: _tmain
*参 数: int argc, _TCHAR* argv[]
*type name[IN]:
*功能描述: 销售管理的主程序
*返回值: int
*抛出异常:
*作 者: 张学刚
= = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = == = = = = = = = = = =*/
int _tmain(int argc, _TCHAR* argv[])
{
unsigned char leven1='1',leven2a='1',leven2b='1',tem;
char temname[MAX_NUM_NAME];
unsigned int comdid;
int number;
pcomd head,ptem1,ptem2;
head=(pcomd)malloc(sizeof(comd));
head->front=NULL;
head->later=NULL;
while(leven1!='0')
{
printf("商品销售管理系统\n(1)管理 (2)销售\n (0~ESC)退出系统\n");
tem='1';
scanf("%c",&tem);
keycle();
leven1=tem;
switch(leven1)
{
case'1':
printf("管理菜单\n");
leven2a='1';
while(leven2a!='0')
{
printf("(1)创建 (2)修改 (3)添加 \n(4)删除 (0~ESC)返回上一级\n");
tem='1';
scanf("%c",&tem);
keycle();
leven2a=tem;
switch(leven2a)
{
case'1':
creat(head);
break;
case'2':
printf("请输入要修改商品的ID号:\n");
scanf("%d",&comdid);
keycle();
ptem1=serachid(head,comdid);
if(ptem1==NULL)
{
printf("没有这件商品\n");
break;
}
ptem2=edit(head,ptem1);
printcom(ptem2);
break;
case'3':
addcom(head);
break;
case'4':
printf("请输入要删除商品的ID号\n");
scanf("%d",&comdid);
keycle();
ptem1=serachid(head, comdid);
dellcom(ptem1);
break;
case'0':
leven2a='0';
break;
default :
if(char(027)==leven2a)
{
leven2a='0';
break;
}
printf("请输入(1~2~3~4~(0~ESC))选项标号\n");
break;
}
}
break;
case'2':
printf("销售菜单\n");
leven2b='1';
while(leven2b!='0')
{
printf("(1)销售 (2)采购 (3)显示所有商品\n(4)显示单个商品 (0~ESC)返回上一级\n");
tem='1';
scanf("%c",&tem);
keycle();
leven2b=tem;
switch(leven2b)
{
case'1':
printf("请输入商品名称:\n");
scanf("%s",temname);
keycle();
ptem1=serachname(head,temname);
if(ptem1==NULL)
{
printf("没有这件商品!!\n");
break;
}
printcom(ptem1);
printf("请输入销售数量:\n");
scanf("%d",&number);
keycle();
sellcom(ptem1, number);
break;
case'2':
printf("请输入商品名称:\n");
scanf("%s",temname);
keycle();
ptem2=serachname(head,temname);
if(ptem2==NULL)
{
printf("没有这件商品!!\n");
break;
}
printcom(ptem2);
printf("请输入购买数量:\n");
scanf("%d",&number);
keycle();
buycom(ptem2, number);
printcom(ptem2);
break;
case'3':
showall(head);
break;
case'4':
printf("请输入商品名称:\n");
scanf("%s",temname);
keycle();
ptem1=serachname(head,temname);
if(ptem1==NULL)
{
printf("没有这件商品!!\n");
break;
}
printcom(ptem1);
break;
case'0':
leven2b='0';
break;
default:
if(char(027)==leven2b)
{
leven2b='0';
break;
}
printf("请输入(1~2~3~4~(0~ESC)选项标号\n");
break;
}
}
break;
case'0':
dell(head);
printf("已退出系统\n");
leven1='0';
break;
default:
if(char(027)==leven1)
{
leven1='0';
break;
}
printf("请输入(1~2~(0~ESC))选项标号\n");
break;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -