Сортировка массива структур на основе одного / нескольких динамических c полей структуры - PullRequest
0 голосов
/ 20 июня 2020

Моя структура следующая:

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, поэтому я не знаю, верен ли этот способ действий, и я Я открыт для предложений

...