Существует несколько строк моего кода, которые я хотел бы определить как функцию, потому что я планирую использовать ее несколько раз. часть кода выглядит следующим образом:C++ beginner объявляет функцию с массивом структур
// loop within loop used to reorder with highest price at the top
for(i=0;i<x;i++){
for(t=i;t<x;t++){
if(f[i].price < f[t].price) {
temp = f[i].price;
f[i].price = f[t].price;
f[t].price = temp;
}
}
}
Я надеюсь, чтобы иметь возможность ввести новые значения для х и е каждый раз, когда я вызываю функцию. Я включил весь мой код ниже. Если я не понимаю, в чем бы дело, не стесняйтесь спрашивать. Я заранее извиняюсь за неправильную терминологию, которую я новичок в этом. Спасибо
#include <iostream>
using namespace std;
struct List
{
char name[10];
int price;
};
int main()
{
//x represents number of structures within array!
int x;
cout << "How many items would you like to list under the fruit menu?\n";
cin >> x;
//array of structures fruit
struct List f[x];
int i;
//input values into structure
for (i = 0; i < x; i++) {
cout << "\nEnter fruit name, and price.\n";
cin >> f[i].name;
cin >> f[i].price;
};
//variables for reordering
int temp;
int t;
// loop within loop used to reorder with highest price at the top
for(i=0;i<x;i++){
for(t=i;t<x;t++){
if(f[i].price < f[t].price) {
temp = f[i].price;
f[i].price = f[t].price;
f[t].price = temp;
}
}
}
//Output of menus
//fruit Menu
cout << "\n\nFruit Menu";
for (i = 0; i < x; i++) {
cout << "\n" << f[i].name << " $" << f[i]. price;
};
return 0;
}
Так в чем ваш вопрос? – SingerOfTheFall
Использование 'std :: sort()' будет намного лучше - Bubble Sort почти никогда не будет хорошей идеей! –
Подсказка: следуйте довольно старому принципу, который гласит: «отдельный вход от процесса с выхода». Поэтому напишите функцию, которая собирает ввод, записывает функцию для переупорядочения, а затем функцию для печати результатов. Объедините их так, как вам нравится. –