Моя структура следующая:
typedef struct cellular_phone{
int id;
char name[40];
int ram;
char cpu[20];
int display_ppi;
double display_size;
char display_resolution[10];
char size[15];
int weight;
char notes[500];
int id_manufacturer;
int id_os;
}phone;
Я пытаюсь дать пользователю возможность сортировать массив таких структур на основе его поля / полей выбора; например: сортировать по id_os и если одинаковая сортировка по имени. Алгоритм, который я хочу использовать, - это c qsort ().
Я подумал, что возможным способом реализации этого будет создание функции для каждый тип и использование цепочки if / elses для проверки ввода пользователя. Очевидно, это было бы крайне неэффективно и было бы почти невозможно использовать с несколькими полями. C также не поддерживает отражение, поэтому даже сравнение ввода пользователя с элементами структуры невозможно.
Я новичок в C, поэтому я не знаю, верен ли этот способ действий, и я Я открыт для предложений