Вывести список всех товаров за алфавитом на Си
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
typedef struct{
int code; //код товару
char name[15]; //назва товару
int UAH; //Ціна товару
int k; //кількість товару
} Storage;
Storage temp;
Storage storage[6] = {{6745, "Headphone", 400, 30},
{9399, "Tablet", 16300, 44},
{9476, "Laptop", 18600, 20},
{4584, "Computer mouse", 600, 39},
{9455, "Phone case", 200, 16},
{2683, "Phone", 18800, 17}};
printf("Code Product name Price Amouny\n");
for(i=0; i<6; i++){
printf("%4d\t %15s\t %5d\t %2d\n", storage[i].code, storage[i].name, storage[i].UAH, storage[i].k);
}
printf("\n");
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Товары надо отсортировать. Проще всего сделать это, написав компаратор
int compare(const void * a_, const void * b_)
{
Storage * a = (Storage *)a_;
Storage * b = (Storage *)b_;
return strcmp(a->name,b->name);
}
и применив функцию qsort
qsort(storage,6,sizeof(Storage),compare);
Полный код тут.