#include #include #include typedef enum { DOG, CAT, GOLDFISH, CATFISH, } category_t; typedef struct { category_t category; char *name; int price; } pet_t; pet_t MakePet(category_t category, char *name) { pet_t p; p.category = category; p.name = name; switch (category) { case DOG: p.price = 10; break; case CAT: p.price = 9; break; case GOLDFISH: case CATFISH: p.price = 3; break; } return p; } // Find the pet called nemo, or return -1 if not found. int FindNemo(pet_t pets[], int num_pets) { int i; for (i = 0; i < num_pets; ++i) { if (!strcmp(pets[i].name, "nemo")) { return i; } } return -1; } int main() { pet_t pets[2]; pets[0] = MakePet(DOG, "lucy"); pets[1] = MakePet(GOLDFISH, "nemo"); printf("%d", FindNemo(pets, 2)); return EXIT_SUCCESS; }