某超市商品销售情况

本文介绍了一个使用C++实现的商品销售记录排序程序。该程序通过结构体数组存储商品的详细销售信息,并实现了按金额从小到大的排序算法。当金额相同时,会进一步按商品代码进行排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用结构体数组存放某超市商品销售情况,每个商品销售记录由商品代码dm(字符型4位),商品名称mc(字符型10位),单价dj(实型),数量sl(整型),金额je(实型)五部分组成。其中:金额=单价*数量计算得出。编写一个程序输入20条销售记录并存入结构体数组中,然后按金额从小到大进行排列,若金额相等,则按商品代码从小到大进行排列,最后将排列结果输出。
#include <iostream>
#include <string>
using namespace std;

struct products
{
	string dm;
	string mc;
	int dj;
	int sl;
	int je;
};
void sore(products p[]);
int main()
{ products p[20];
int i;
for(i=0;i<20;i++)
cin>>p[i].dm>>p[i].mc>>p[i].dj>>p[i].sl;
for(i=0;i<20;i++)
{p[i].je=0;
p[i].je=p[i].dj*p[i].sl;
}
sore(p);
cout<<endl;
for(i=0;i<20;i++)
{cout<<p[i].dm<<' '<<p[i].mc<<' '<<p[i].dj<<' '<<p[i].sl<<' '<<p[i].je;
cout<<endl;}
return 0;
}
void sore(products p[])
{ int i,j;
 products temp;
	for(i=0;i<19;i++)
       for(j=0;j<19-i;j++)
	   {	if(p[j].je>p[j+1].je)
			{ temp=p[j];
			p[j]=p[j+1];
			p[j+1]=temp;
			 
			}
            else if(p[j].je==p[j+1].je)
			 if(p[j].dm>p[j+1].dm)
             {temp=p[j];
			 p[j]=p[j+1];
			p[j+1]=temp;
			 }
	   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值