C语言课程设计-超市管理系统

该文章描述了一个超市管理系统的详细设计,包括增加、删除商品,更改价格和数量等功能。系统使用结构体存储商品信息,并通过函数实现各种操作。在增加商品时,会检查编号的唯一性;删除商品时,会更新最后一个商品的信息。此外,还提供了列出所有商品和修改价格的功能。
摘要由CSDN通过智能技术生成
  • 需求分析:

1.设计题目:超市管理系统

2.系统功能需求分析:可增加,删除商品;改变商品进价,售价,数量;列出所有商品.

  • 概要设计:

系统总体设计框架:用结构体先包含商品信息,把各个功能做成函数,在使用的时候调用函数

  • 详细设计:

主要阐述功能模块的算法设计思路

增加商品:直接打出商品名称、编号、进价、售价、数量;遇到重复编号后提示,并重新输入.

删除商品:先判断是否有商品,然后输入商品名称,再判断是否有这个商品,若有,则把最后一个商品的信息替换这个商品,再把最后一个商品的信息初始化;若无,打出无此商品!!!

改变进价,改变售价:思路一样,先判断是否有这个商品,然后用输入的值替代这个商品的进价或售价

改变数量:先判断是否有这个商品,然后告诉是增加还是减少,输入值,把原数量加上值或减去值

列出所有商品:直接列出结构体的元素.

程序代码

#include"stdio.h"
#include"string.h"
#include"stdlib.h"
int sum=0,i;
struct
{
	char name[20];
	char number[20];
	int price;
	int sell;
	int count;
}message[100];
//增加函数
void add()
{
	int flag=0;
	printf("商品名:");
	scanf("%s",message[sum].name);
	printf("\n");
	printf("商品编号:");
	if(sum==0)
    {
		scanf("%s",message[sum].number);
	}
	else if(sum!=0)
	{
		while(flag==0)
		{
			scanf("%s",message[sum].number);
			flag=1;
		    for(i=0;i<sum;i++)
			{
			    if(strcmp(message[sum].number,message[i].number)==0)
				{
				    flag=0;
					printf("编号重复,请重新输入:");
					break;
				}
			}
		}
	}
	printf("\n");
	printf("商品进价:");
	scanf("%d",&message[sum].price);
	printf("\n");
	printf("商品售价:");
    scanf("%d",&message[sum].sell);
	printf("\n");
	printf("商品数量:");
	scanf("%d",&message[sum].count);
	printf("\n");
	sum++;
}
//删除函数
void delete1()
{
	char name1[20];
	static char b[20];
	int sum1;
	sum1=sum;
	if(sum==0)
	{
		printf("没有商品,错误\n");
		return;
	}
	printf("请输入商品名称:");
	scanf("%s",name1);
	for(i=0;i<sum;i++)
	{
		if(strcmp(name1,message[i].name)==0)
		{
			strcpy(message[i].name,message[sum-1].name);
			strcpy(message[i].number,message[sum-1].number);
			message[i].price=message[sum-1].price;
			message[i].sell=message[sum-1].sell;
			message[i].count=message[sum-1].count;
			strcpy(message[sum-1].name,b);
			strcpy(message[sum-1].number,b);
			message[sum-1].price=0;
			message[sum-1].sell=0;
			message[sum-1].count=0;
			sum--;
			break;
		}
	}
	if(i==sum1)
	{
		printf("无此商品!!\n");
	}
	
}
//列出所有商品
void statistics()
{
	for(i=0;i<sum;i++)
	{
		printf("商品名%s,商品编号%s,商品进价%d,商品售价%d,商品数量%d\n",message[i].name,message[i].number,message[i].price,message[i].sell,message[i].count);
	}
}
//商品增加或减少后剩余主函数
void countmessage()
{
	int select,m;
	char name2[20];
	printf("1.增加:\n");
	printf("2.删除:\n");
	scanf("%d",&select);
	printf("商品名:");
	scanf("%s",name2);
	printf("改变数量");
	scanf("%d",&m);
	for(i=0;i<sum;i++)
	{
		if(strcmp(name2,message[i].name)==0)
		{
			break;
		}
	}
	if(i!=sum)
	{
		if(select==1)
		{
			message[i].count=message[i].count+m;
		}
		else if(select==2)
		{
            message[i].count=message[i].count-m;
		}
	}
	else
		printf("无此商品\n");
}
//改变商品进价
void changeprice()
{
	char name3[20];
	int m;
	printf("请输入商品名称:");
	scanf("%s",name3);
	for(i=0;i<sum;i++)
	{
		if(strcmp(name3,message[i].name)==0)
		{
			break;
		}
	}
    if(i!=sum)
	{
		printf("现进价为:");
		scanf("%d",&m);
		message[i].price=m;
	}
	else
		printf("无此商品\n");
}
//改变商品售价(与改变进价一样)
void changesell()
{
	char name3[20];
	int m;
	printf("请输入商品名称:");
	scanf("%s",name3);
	for(i=0;i<sum;i++)
	{
		if(strcmp(name3,message[i].name)==0)
		{
			break;
		}
	}
    if(i!=sum)
	{
		printf("现售价为:");
		scanf("%d",&m);
		message[i].sell=m;
	}
	else
		printf("无此商品\n");
}
main()
{
	int k;
    while(k!=0)
	{
		printf("1.增加商品\n");
	    printf("2.删除商品\n");
	    printf("3.列出所有商品\n");
	    printf("4.改变商品数量\n");
	    printf("5.改变商品进价\n");
	    printf("6.改变商品售价\n");
	    printf("0.安全退出\n");
		scanf("%d",&k);
	    if(k==1)
		{
		   add();
		}
	    else if(k==2)
		{
		   delete1();
		}
	    else if(k==3)
		{
		   statistics();
		}
		else if(k==4)
		{
           countmessage();
		}
		else if(k==5)
		{
			changeprice();
		}
		else if(k==6)
		{
			changesell();
		}
	}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X-MTing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值