<span style="font-size:48px;">C语言编写的商品管理系统</span>
<span style="font-size:48px;">商品的增删改查</span>
#include<stdio.h>
#include<windows.h>
#include<string.h>
#define K 5
int m=2; //商品种数
/*定义商品结构体*/
struct goods{
int number; //商品编号
char name[15]; //商品名称
int price; //商品价格
int n; //商品数量
int all; //商品总价
};
struct goods GS[K]={{1,"巧克力",15,100,1500},{2,"苹果",16,100,900}};//定义结构体数组
void list();//定义菜单函数
void input();//定义商品录入函数
void del();//定义商品删除函数
void sort();//定义排序函数
void find();//定义查询函数
void change();//定义修改函数
void show();//定义显示函数
void Exit();//定义退出函数
int main()
{
list();
return 0;
}
/*菜单函数*/
void list()
{
int choose; //选择数
system("cls");
printf("\t\t\t**********************************\n");
printf("\t\t\t*\t 商品管理系统\t\t *\n");
printf("\t\t\t**********************************\n\n");
printf("\t\t\t1-商品录入\n");
printf("\t\t\t2-商品删除\n");
printf("\t\t\t3-按单价排序\n");
printf("\t\t\t4-查询商品\n");
printf("\t\t\t5-查看所有商品\n");
printf("\t\t\t6-修改商品信息\n");
printf("\t\t\t7-退出\n");
printf("\t\t\t\t请选择(1~7):");
scanf("%d",&choose);
switch(choose)
{
case 1:input();break;
case 2:del();break;
case 3:sort();break;
case 4:find();break;
case 5:show();break;
case 6:change();break;
case 7:Exit();break;
default :list();break;
}//switch结束
}//函数结束
/*退出函数*/
void Exit()
{
char a;
system("cls");
printf("\t\t\t**********************************\n");
printf("\t\t\t*\t 商品管理系统\t\t *\n");
printf("\t\t\t**********************************\n\n");
printf("\t\t\t\t是否退出(y/n)\n?");
fflush(stdin);
scanf("%c",&a);
if(a=='y')
printf("\t\t\t\t谢谢您的使用!\n");
else
list();
}
/*商品录入函数*/
void input()
{
char a;
system("cls");
printf("是否进行商品录入?(y/n)");
fflush(stdin);
scanf("%c",&a);
while(a=='y')
{
printf("请输入商品编号:");
scanf("%d",&GS[m].number);
printf("请输入商品名称:");
scanf("%s",GS[m].name);
printf("请输入商品价格:");
scanf("%d",&GS[m].price);
printf("请输入商品数量:");
scanf("%d",&GS[m].n);
GS[m].all=GS[m].price*GS[m].n;
m++; //增加商品种数
printf("是否继续?(y/n)");
fflush(stdin);
scanf("%c",&a);
}//结束whlie
list();
}//函数结束
/*显示函数*/
void show()
{
int i;
char a;
system("cls");
printf("商品编号\t商品名称\t商品价格\t商品数量\t商品总价\n");
for(i=0;i<m;i++)
{
printf("%4d\t\t%3s\t\t%4d\t\t%4d\t\t %d\n",GS[i].number,GS[i].name,GS[i].price,GS[i].n,GS[i].all);
}//结束for
printf("返回菜单?(y/n)");
fflush(stdin);
scanf("%c",&a);
if(a=='y')
list();
else
show();
}//函数结束
/*查询函数*/
void find()
{
char NAME[15];
char a;
int i=0;
system("cls");
printf("请输入商品名:");
scanf("%s",NAME);
while(strcmp(NAME,GS[i].name)!=0)
{
i++;
if(i>=m)
{
printf("没有您所需的商品,请3秒后重试\n");
Sleep(3000);
find();
}//结束if
}//结束while
printf("商品编号\t商品名称\t商品价格\t商品数量\t商品总价\n");
printf("%4d\t\t%3s\t\t%4d\t\t%4d\t\t %d\n",GS[i].number,GS[i].name,GS[i].price,GS[i].n,GS[i].all);
printf("查询结束,继续?(y/n):");
fflush(stdin);
scanf("%c",&a);
if(a=='y')
find();
else
list();
}
/*修改函数*/
void change()
{
int b,i=0;
char a;
system("cls");
printf("请输入要修改的产品编号:");
fflush(stdin);
scanf("%d",&b);
while(b!=GS[i].number)
{
i++;
if(i>=m)
{
printf("没有您所需的商品,请3秒后重试\n");
Sleep(3000);
change();
}//结束if
}//结束while
fflush(stdin);
printf("请输入商品名称:");
scanf("%s",GS[i].name);
printf("请输入商品价格:");
scanf("%d",&GS[i].price);
printf("请输入商品数量:");
scanf("%d",&GS[i].n);
GS[i].all=GS[m].price*GS[m].n;
printf("修改结束,是否继续(y/n)");
fflush(stdin);
scanf("%c",&a);
if(a=='y')
change();
else
list();
}//函数结束
/*商品删除*/
void del()
{
int b,i=0;
char a;
system("cls");
printf("请输入要删除的产品编号:");
fflush(stdin);
scanf("%d",&b);
while(b!=GS[i].number)
{
i++;
if(i>=m)
{
printf("没有您所需的商品,请3秒后重试\n");
Sleep(3000);
change();
}//结束if
}//结束while
for(;i<m;i++)
{
GS[i].number=GS[i+1].number;
strcpy(GS[i].name,GS[i+1].name);
GS[i].price=GS[i+1].price;
GS[i].n=GS[i+1].n;
GS[i].all=GS[i+1].all;
}
m--;//商品种数减一
printf("删除成功,是否继续(y/n)");
fflush(stdin);
scanf("%c",&a);
if(a=='y')
del();
else
list();
}
/*排序函数*/
void sort()
{
struct goods t;
char a;
system("cls");
for(int i=1;i<m;i++)
{
for(int j=0;j<m-i;j++)
{
if(GS[j].price<GS[j+1].price)
{
t=GS[j];
GS[j]=GS[j+1];
GS[j+1]=t;
}//结束if
}//结束for
}//结束for
printf("商品编号\t商品名称\t商品价格\t商品数量\t商品总价\n");
for(i=0;i<m;i++)
{
printf("%4d\t\t%3s\t\t%4d\t\t%4d\t\t %d\n",GS[i].number,GS[i].name,GS[i].price,GS[i].n,GS[i].all);
}//结束for
printf("返回菜单?(y/n)");
fflush(stdin);
scanf("%c",&a);
if(a=='y')
list();
else
sort();
}