first commit cv2
This commit is contained in:
parent
6cbbde547b
commit
c7673f34d3
68
cv2/program.c
Normal file
68
cv2/program.c
Normal file
@ -0,0 +1,68 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
|
||||
#define SIZE 100
|
||||
#define NAMESIZE 30
|
||||
|
||||
|
||||
|
||||
|
||||
struct menu {
|
||||
char name[SIZE];
|
||||
float price;
|
||||
};
|
||||
|
||||
int compare_name(const void* c1, const void* c2){
|
||||
struct menu* p1 = (struct menu* ) c1;
|
||||
struct menu* p2 = (struct menu* ) c2;
|
||||
return strcmp(p1->name,p2->name);
|
||||
|
||||
}
|
||||
|
||||
int compare_price(const void* c1, const void* c2){
|
||||
struct menu* p1 = (struct menu* ) c1;
|
||||
struct menu* p2 = (struct menu* ) c2;
|
||||
return p1->price - p2->price;
|
||||
|
||||
}
|
||||
|
||||
int main(){
|
||||
|
||||
|
||||
|
||||
struct menu food_database[SIZE];
|
||||
memset(food_database, 0, SIZE*sizeof(struct menu));
|
||||
|
||||
|
||||
|
||||
// load name into struct
|
||||
int meal_counter = 0;
|
||||
char temp[20];
|
||||
char* ptr1 = NULL;
|
||||
char* ptr2 = NULL;
|
||||
while(1){
|
||||
ptr1 = fgets(food_database[meal_counter].name, NAMESIZE, stdin);
|
||||
if ( ptr1 == NULL ){
|
||||
break;
|
||||
}
|
||||
ptr2 = fgets(temp, 20, stdin);
|
||||
food_database[meal_counter].price = strtof(temp, NULL);
|
||||
if ( ptr2 == NULL ){
|
||||
break;
|
||||
}
|
||||
meal_counter++;
|
||||
}
|
||||
|
||||
qsort(food_database,meal_counter,sizeof(struct menu),compare_name);
|
||||
qsort(food_database,meal_counter,sizeof(struct menu),compare_price);
|
||||
for(int i=0; i<meal_counter; i++){
|
||||
printf("%s",food_database[i].name);
|
||||
printf("%f\n",food_database[i].price);
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user