C语言编写的商品管理系统

<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();
}

  • 35
    点赞
  • 188
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值