Ir ao conteúdo
  • Cadastre-se

A partir de seu nome 


Sonyfenix

Posts recomendados

Desenvolva um programa em C, organizado em funções, que gerencia uma coleção de receitas culinárias. Para cada receita são mantidos os seguintes dados: nome, se doce ou salgada, quantidade de calorias por porção, tipo (padrão ou vegana), modo de preparo: se usa fogão, se usa forno, e se usa geladeira. Seu programa deve permitir o cadastro de até 10 receitas, e oferecer as seguintes funcionalidades: 

Consultar o cadastro completo de receita a partir de seu nome 

Listar todas as receitas a partir de um tipo informado pelo usuário 

Listar todas as receitas a partir de um dos componentes do modo de preparo 

Listar o nome de todas as receitas e se doce ou salgada ordenados pela quantidade de calorias


parte do código feito ate agora

char nome[10],sabor[10],tipo[10],mdpreparo[10];
    float qtdc[10];
};
struct receita r;
int main ()
{
  int i;
   struct receita r[10];

bom comecei a fazer o código hj e me deparei com duvida logo no primeiro tópico do trabalho.

nao sei como se faz para fazer um bloco de receitas para cada pessoa 

 

exemplo

 

pessoa1 

              bloco de receitas 

pessoa2 

              bloco de receitas 

Link para o comentário
Compartilhar em outros sites

@Sonyfenix Olá, eu fiz o código em C++ usando um vetor de struct para armazenar, e usei também switch case para encontrar o cadastro a partir do nome, se você entende um pouco de C++ poderá compreender meu código.

#include <iostream>

using namespace std;
typedef struct
{
    string nome;
    string sabor;
    double calorias;
    string tipo;
    string preparo;

} Receitas;

int main()
{
    Receitas r[10];
    int i=0, caso;
    string nome;

    cout << "A leitura encerra quando digitar 0 no nome\n";
    cout << "Nome: ";
    while((cin >> nome)&&(nome!= "0"))
    {
        r[i].nome = nome;
        cout << "\nSabor: ";
        cin >> r[i].sabor;
        cout << "\nCalorias: ";
        cin >> r[i].calorias;
        cout << "\nTipo: ";
        cin >> r[i].tipo;
        cout << "\nPreparo: ";
        cin >> r[i].preparo;
        cout << "\nNome: ";
        i++;
    }
    cout << "Digite 1 para Consultar o cadastro completo de receita a partir de seu nome: \n";
    cout << "Digite 2 para Listar todas as receitas a partir de um tipo informado pelo usuario: \n";
    cout << "Digite 3 para Listar todas as receitas a partir de um dos componentes do modo de preparo: \n";
    cout << "Digite 4 para Listar o nome de todas as receitas e se doce ou salgada ordenados pela quantidade de calorias: \n";
    cin >> caso;
    switch(caso){
    case 1:
        cout << "Digite o Nome: \n";
        cin >> nome;
        for(int j=0; j<i; j++)
        {
            if(r[j].nome == nome)
            {
                cout << r[j].nome << endl;
                cout << r[j].calorias << endl;
                cout << r[j].preparo << endl;
                cout << r[j].sabor << endl;
                cout << r[j].tipo << endl;
            }
        }
        break;
    case 2: // casos vazios, não me deu tempo de fazer, mas segue a mesma lógica no primeiro case
       break;
    case 3:
        break;
    case 4:
        break;
    }
    return 0;
}

Qualquer duvida me pergunte.

Link para o comentário
Compartilhar em outros sites

opa obrigado mano este codigo vai me ajudar muito, so algumas partes que nao entendi pois nunca programei em c++.

 

nesta primeira parte nao sei o que seria o "cin" 

while((cin >> nome)

esta parte acho que seria para chamar o struct e poder cadastrar mas nao tenho certeza 

r[i].nome = nome;

e isto aqui seria a verificação no array para mostrar todos os iguais né ?

if(r[j].nome == nome)
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...