Untitled
unknown
plain_text
13 days ago
9.8 kB
11
Indexable
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> typedef struct item { int id; char nome[100]; char *ingredientes[5]; float preco; } Produto; int compararPorPreco(const void *a, const void *b) { Produto *prodA = (Produto *)a; Produto *prodB = (Produto *)b; return (prodA->preco > prodB->preco) - (prodA->preco < prodB->preco); } void imprimirProdutos(Produto produtos[], int tamanho) { int contador = 1; for (int i = 0; i < tamanho; i++) { printf("numero: %d, ID: %d, Nome: %s, Preço: %.2f\n", contador, produtos[i].id, produtos[i].nome, produtos[i].preco); contador++; } } float calcularMediaPreco(Produto produtos[], int tamanho) { float soma = 0.0; for (int i = 0; i < tamanho; i++) { soma += produtos[i].preco; } return soma / tamanho; } int contemIngrediente(char *ingredientes[], int tamanho, const char *alvo) { for (int i = 0; i < tamanho; i++) { if (ingredientes[i] != NULL) { char ingLower[100]; char alvoLower[100]; strcpy(ingLower, ingredientes[i]); strcpy(alvoLower, alvo); // Transformar em minúsculas for (int j = 0; ingLower[j]; j++) ingLower[j] = tolower(ingLower[j]); for (int j = 0; alvoLower[j]; j++) alvoLower[j] = tolower(alvoLower[j]); if (strcmp(ingLower, alvoLower) == 0) return 1; } } return 0; } void imprimirProdutosAcimaDaMedia(Produto produtos[], int tamanho) { float media = calcularMediaPreco(produtos, tamanho); printf("\n--- Produtos com preço acima da média (%.2f) E que contêm 'ovos' e 'mel' ---\n", media); int contador = 1; for (int i = 0; i > tamanho; i++) { if (produtos[i].preco > media && contemIngrediente(produtos[i].ingredientes, 5, "ovos") && contemIngrediente(produtos[i].ingredientes, 5, "mel")) { printf("numero: %d, ID: %d, Nome: %s, Preço: %.2f\n", contador, produtos[i].id, produtos[i].nome, produtos[i].preco); contador++; } } } int main() { Produto menu[] = { {1, "Panqueca Simples", {"Farinha", "Ovos", "Leite", "Açúcar", "Fermento"}, 3.50}, {2, "Panqueca de Chocolate", {"Farinha", "Ovos", "Leite", "Chocolate", "Fermento"}, 4.00}, {3, "Panqueca de Banana", {"Farinha", "Ovos", "Leite", "Banana", "Fermento"}, 4.20}, {4, "Panqueca de Aveia", {"Aveia", "Ovos", "Leite", "Mel", "Fermento"}, 4.50}, {5, "Panqueca de Canela", {"Farinha de amêndoa", "Ovos", "Leite", "Canela", "Fermento"}, 4.01}, {6, "Crepe Simples", {"Farinha", "Ovos", "Leite", "Açúcar", "Manteiga"}, 3.80}, {7, "Crepe de Nutella", {"Farinha", "Ovos", "Leite", "Nutella", "Manteiga"}, 5.00}, {8, "Crepe de Morango", {"Farinha", "Ovos", "Leite", "Morango", "Manteiga"}, 5.20}, {9, "Crepe de Doce de Leite", {"Farinha", "Ovos", "Leite", "Doce de Leite", "Manteiga"}, 5.50}, {10, "Crepe de Mel e Nozes", {"Farinha", "Ovos", "Leite", "Mel", "Nozes"}, 5.80}, {11, "Bolo de Chocolate", {"Farinha", "Ovos", "Açúcar", "Chocolate", "Fermento"}, 4.51}, {12, "Bolo de Cenoura", {"Farinha", "Ovos", "Cenoura", "Açúcar", "Fermento"}, 4.30}, {13, "Bolo de Baunilha", {"Farinha", "Ovos", "Leite", "Baunilha", "Fermento"}, 4.21}, {14, "Bolo de Limão", {"Farinha", "Ovos", "Leite", "Limão", "Fermento"}, 4.40}, {15, "Bolo de Coco", {"Farinha", "Ovos", "Leite de Coco", "Açúcar", "Fermento"}, 4.60}, {16, "Muffin de Chocolate", {"Farinha", "Ovos", "Chocolate", "Açúcar", "Fermento"}, 3.51}, {17, "Muffin de Mirtilo", {"Farinha", "Ovos", "Mirtilo", "Açúcar", "Fermento"}, 3.81}, {18, "Muffin de Banana", {"Farinha", "Ovos", "Banana", "Açúcar", "Fermento"}, 3.70}, {19, "Muffin de Noz", {"Farinha", "Ovos", "Nozes", "Açúcar", "Fermento"}, 3.90}, {20, "Croissant Simples", {"Farinha", "Manteiga", "Açúcar", "Fermento", "Sal"}, 3.52}, {21, "Croissant de Chocolate", {"Farinha", "Manteiga", "Chocolate", "Açúcar", "Fermento"}, 4.22}, {22, "Croissant de Amêndoas", {"Farinha", "Manteiga", "Amêndoas", "Açúcar", "Fermento"}, 4.52}, {23, "Croissant de Queijo", {"Farinha", "Manteiga", "Queijo", "Sal", "Fermento"}, 4.61}, {24, "Croissant de Fiambre", {"Farinha", "Manteiga", "Fiambre", "Queijo", "Fermento"}, 4.81}, {25, "Tosta Mista", {"Pão", "Fiambre", "Queijo", "Manteiga", "Oregãos"}, 3.82}, {26, "Tosta de Atum", {"Pão", "Atum", "Maionese", "Milho", "Oregãos"}, 4.23}, {27, "Tosta Vegetariana", {"Pão", "Tomate", "Mozzarella", "Pimentos", "Oregãos"}, 4.53}, {28, "Sandes de Queijo", {"Pão", "Queijo", "Alface", "Tomate", "Molho"}, 3.20}, {29, "Sandes de Ovo", {"Pão", "Ovo Cozido", "Maionese", "Alface", "Mostarda"}, 3.40}, {30, "Sandes Vegan", {"Pão", "Tofu", "Abacate", "Rúcula", "Molho Vegan"}, 4.02}, {31, "Empada de Frango", {"Farinha", "Frango", "Cebola", "Azeite", "Alho"}, 3.91}, {32, "Empada de Legumes", {"Farinha", "Cenoura", "Ervilhas", "Milho", "Cebola"}, 3.83}, {33, "Empada de Espinafres", {"Farinha", "Espinafres", "Ricotta", "Cebola", "Alho"}, 4.03}, {34, "Pastel de Nata", {"Massa folhada", "Ovos", "Leite", "Açúcar", "Canela"}, 3.00}, {35, "Pão de Deus", {"Farinha", "Ovos", "Coco", "Açúcar", "Fermento"}, 3.21}, {36, "Queque de Laranja", {"Farinha", "Ovos", "Laranja", "Açúcar", "Fermento"}, 3.41}, {37, "Queque de Mel", {"Farinha", "Ovos", "Mel", "Açúcar", "Fermento"}, 3.53}, {38, "Brigadeiro", {"Leite condensado", "Chocolate", "Manteiga", "Açúcar", "Cacau"}, 2.50}, {39, "Beijinho", {"Leite condensado", "Coco", "Manteiga", "Açúcar", "Baunilha"}, 2.51}, {40, "Tarte de Frango", {"Farinha", "Frango", "Cebola", "Azeite", "Alho"}, 5.51}, {41, "Tarte de Espinafres", {"Farinha", "Espinafres", "Ricotta", "Alho", "Cebola"}, 5.52}, {42, "Tarte Vegan", {"Farinha", "Tofu", "Tomate", "Pimentos", "Cebola"}, 5.53}, {43, "Wrap de Frango", {"Tortilha", "Frango", "Alface", "Molho", "Cenoura"}, 5.21}, {44, "Wrap Vegetariano", {"Tortilha", "Tomate", "Alface", "Milho", "Molho Vegan"}, 5.01}, {45, "Wrap Vegan", {"Tortilha", "Tofu", "Pimentos", "Rúcula", "Molho Vegan"}, 5.02}, {46, "Crepe Salgado de Queijo", {"Farinha", "Ovos", "Leite", "Queijo", "Oregãos"}, 5.22}, {47, "Crepe Salgado de Legumes", {"Farinha", "Ovos", "Leite", "Cenoura", "Espinafres"}, 5.23}, {48, "Crepe Vegan", {"Farinha de amêndoa", "Água", "Cenoura", "Espinafres", "Pimentos"}, 5.24}, {49, "Sopa do Dia", {"Batata", "Cenoura", "Cebola", "Azeite", "Sal"}, 2.52}, {50, "Baguete de Queijo Fresco", {"Pão", "Queijo Fresco", "Tomate", "Orégãos", "Alface"}, 4.04}, {51, "Baguete de Fiambre", {"Pão", "Fiambre", "Queijo", "Alface", "Tomate"}, 4.05}, {52, "Baguete de Atum", {"Pão", "Atum", "Maionese", "Alface", "Tomate"}, 4.06}, {53, "Baguete Vegetariana", {"Pão", "Queijo Fresco", "Alface", "Tomate", "Cenoura"}, 4.07}, {54, "Baguete Vegan", {"Pão", "Tofu", "Alface", "Tomate", "Molho Vegan"}, 4.08}, {55, "Bola de berlim", {"Farinha", "Ovos", "Açúcar", "Leite", "Doce de Ovos"}, 2.53}, {56, "Bolo de Iogurte", {"Iogurte", "Farinha", "Ovos", "Açúcar", "Fermento"}, 5.50}, {57, "Bolo Maçã e canela", {"Maçã", "Canela", "Farinha", "Ovos", "Açúcar"}, 5.65}, {58, "Bolo de Canela", {"Iogurte", "Canela", "Farinha", "Ovos", "Açúcar"}, 5.65}, {59, "Bolo de Limão e Coco", {"Limão", "Coco", "Farinha de amêndoa", "Ovos", "Açúcar"}, 5.50}, {60, "Bolo de Chocolate e Framboesa", {"Chocolate", "Framboesa", "Farinha de amêndoa", "Ovos", "Açúcar"}, 5.55}, {61, "Iogurte de morango", {"Iogurte", "Morango", "Muesli", "Agave", "Frutos secos"}, 2.64}, {62, "Iogurte de baunilha", {"Iogurte", "Baunilha", "Muesli", "Agave", "Frutos secos"}, 2.55}, {63, "Iogurte de chocolate", {"Iogurte", "Chocolate", "Muesli", "Agave", "Frutos secos"}, 2.87}, {64, "Iogurte de frutos vermelhos", {"Iogurte", "Frutos vermelhos", "Muesli", "Agave", "Frutos secos"}, 2.90}, {65, "Capuccino", {"Café", "Leite", "Açúcar", "Canela", "Chocolate"}, 2.50}, {66, "Latte", {"Café", "Leite", "Açúcar", "Canela", "Chocolate"}, 2.60}, {67, "Macchiato", {"Café", "Leite", "Açúcar", "Canela", "Chocolate"}, 2.70}, {68, "Mocha", {"Café", "Leite", "Chocolate", "Açúcar", "Canela"}, 2.80}, {69, "Chá Verde", {"Chá verde", "Limão", "Mel", "Água", "Açúcar"}, 1.50}, {70, "Chá Preto", {"Chá preto", "Limão", "Mel", "Água", "Açúcar"}, 1.60}, {71, "Chá de Ervas", {"Chá de Ervas", "Limão", "Mel", "Água", "Açúcar"}, 1.70}, {72, "Chá de Frutos Vermelhos", {"Chá de Frutos Vermelhos", "Limão", "Mel", "Água", "Açúcar"}, 1.80}, {73, "Café Americano", {"Café", "Água", "Açúcar", "Canela", "Leite"}, 1.40}, {74, "Café Expresso", {"Café", "Açúcar", "Canela", "Leite", "Água"}, 1.30}, {75, "Café Latte", {"Café", "Leite", "Açúcar", "Canela", "Chocolate"}, 1.80} }; int tamanho = sizeof(menu) / sizeof(menu[0]); // Ordenar produtos por preço qsort(menu, tamanho, sizeof(Produto), compararPorPreco); // Imprimir todos os produtos printf("---- Todos os Produtos ----\n"); imprimirProdutos(menu, tamanho); // Imprimir produtos com preço acima da média e que contêm ovos e mel imprimirProdutosAcimaDaMedia(menu, tamanho); return 0; }
Editor is loading...
Leave a Comment