Exercícios Resolvidos de Manipulando Structs

Ver Teoria

Enunciado

Faça um programa para armazenar um livro de receitas. Para isso, crie um vetor com cinco receitas compostas por: nome (máximo de 25 letras), quantidade de ingredientes e ingredientes. Então, crie e leia o vetor de receitas e procure pelo nome de uma, caso ela exista no vetor os seus ingredientes devem ser impressos.

Passo 1

Começaremos esse programa pela definição do seu escopo.

Observe que como devemos realizar uma busca por uma receita, devemos comparar a igualdade entre o nome de duas strings, por esse motivo incluiremos a biblioteca string. Além disso, criamos uma estrutura chamada i n f R e c e i t a com os campos n o m e , q t d I n g r e d i e n t e s e i n g r e d i e n t e s . Essa estrutura, por sua vez, foi apelidada de r e c e i t a com a utilização do comando typedef.

Passo 2

Com o escopo definido, nós podemos declarar as variáveis que são essenciais para o desenvolvimento do programa.

Aqui podemos ver algumas informações sobre elas:

  • i é uma variável contadora;
  • l i v r o é um vetor de estruturas do tipo r e c e i t a de cinco posições;
  • b u s c a é um vetor de caracteres de 25 posições responsável por armazenar a cadeia de caracteres que servirá de base para a busca de uma receita.

Passo 3

Já que nós já declaramos as variáveis, podemos agora requisitar ao usuário os dados de entrada do programa.

Que consiste no nome, quantidade de ingredientes e os próprios ingredientes de cinco receitas, seguidas da string que deverá ser buscada no vetor.

Passo 4

Por fim, basta percorrermos o vetor l i v r o verificando se o campo nome armazenado na estrutura alocada naquela posição é igual ao nome da receita pesquisada. Caso verdadeira, devemos imprimir o campo i n g r e d i e n t e s da estrutura dessa posição.

Para realizar a comparação de igualdade entre strings utilizamos o comando strcmp da biblioteca string.

Resposta

Ei, a resposta está no passo a passo :)