#include #include #include #include #define LINE_SIZE 100 #define MAXIT 100 struct pizza{ char name[LINE_SIZE]; float prize; }; int read_pizza(struct pizza *item){ char line_1[LINE_SIZE]; char line_2[LINE_SIZE]; if (fgets(line_1,LINE_SIZE,stdin)==NULL) return 0; if (fgets(line_2,LINE_SIZE,stdin)==NULL) return 0; line_1[strcspn(line_1,"\n")] = '\0'; line_2[strcspn(line_2,"\n")] = '\0'; float price = 0.0; if (sscanf(line_2, "%f", &price)!=1||price<=0) return 0; strcpy(item->name, line_1); item->prize = price; return 1; } int read_pizza_list(struct pizza* list){ int counter = 0; for(int i = 0; iprizeprize) return -1; if(p1->prize>p2->prize) return 1; return strcmp(p1->name,p2->name); } int main(){ struct pizza list[MAXIT]; memset(list,0,sizeof(list)); int count = read_pizza_list(list); qsort(list,count,sizeof(struct pizza), compare_pizza); for (int i = 0;i