Есть ли способ преобразовать этот код в 5 строк, он кажется довольно повторяющимся.
Я хочу использовать корпус переключателя. Кроме того, я хотел бы сохранить его на начальном уровне.
void SortProductList(Product *productList, int size, char sortOption){
Product temp;
for (int i=0; i<size-1; i++)
{
for (int j=i+1; j<size; j++)
{
if (sortOption == 'p') //sorting by price
{
if (productList[j].productPrice<productList[i].productPrice) //second is bigger than first
{
temp = productList[i];
productList[i] = productList[j];
productList[j]=temp;
}
}
if (sortOption == 'w') //sorting by weight
{
if (productList[j].productWeight<productList[i].productWeight) //second is bigger than first
{
temp = productList[i];
productList[i] = productList[j];
productList[j]=temp;
}
}
if (sortOption == 'n') //sorting by weight
{
if (strcmp(productList[j].productName,productList[i].productName)<0) //second is bigger than first
{
temp = productList[i];
productList[i] = productList[j];
productList[j]=temp;
}
}
}
}
}