Ir ao conteúdo
  • Cadastre-se

Heber Nascimento

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por Heber Nascimento

  1. Estou fazendo uma tarefa para faculdade, estou começando a programar e não sei muito como fazer.

    A ideia do tarefa é: 

    * Uma função separada para calcular o imc, ela recebe dois valores em ponto flutuante (peso e altura) e retorna um valor (o imc) em ponto flutuante.
     * Uma estrutura chamada Aluno onde será armazenado nome, e-mail, peso e altura.
     * Um vetor de 20 posições que armazenará as estruturas.
     * Uma tela de menu, que terá as seguintes opções:

    1. Cadastra aluno (apenas 1, escolhendo a posição de 1 a 20).
     2. Listar alunos.
     3. Apagar aluno (pode apagar pela posição na lista).
     4. Listar IMC de alunos (lista todos os nomes, com o valor do IMC e a condição para o IMC de acordo com a tabela acima).
     0. Sair.

     

    Estou com dificuldades nos casos 2 e 3. 

     

    O que é que esta faltando para "apagar" o conteúdo dos array na posição escolhida?

     

    Até agora o que tenho é isso:

    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    struct cadastro
    {
        char nome[30];
        char email[15];
        float peso, alt;    
    };
    
    struct cadastro ficha [20];
    
    int main()
    {
        
        int op,i,f=0,s=0;
        char exCont[30];
        
    /*    for (i = 0; i < 20; i++)
    
    {
    
    sprintf(ficha[i].nome,"");
    
    sprintf(ficha[i].email,"");
    
    }*/
        
        do{
        printf("Cadastro\n");
        printf("1 - Registrar novo aluno\n");
        printf("2 - Excluir registro\n");
        printf("3 - Editar registro\n");
        printf("4 - Listar registros\n");
        printf("5 - Buscar registro\n");
        printf("0 - Sair\n");
        scanf("%d", & op);
        
        switch (op)
        {
            case 1:
                printf("Escolha a posicao de 0 a 19 para a adicionar : ");
                scanf("%d", &i);
                if(i>=20)
                {
                    printf("posicao invalida! Refaca a operacao\n");
                    i=0;
                }
                else
                {
                    printf("posicao: %d\n",i);
                    printf("Digite o nome:\n");
                    scanf("%s", ficha[i].nome);
                    printf("Digite o telefone:\n");
                    scanf("%s", ficha[i].email);
                    printf("Digite o peso:\n");
                    scanf("%f", & ficha[i].peso);
                    printf("Digite a altura:\n");
                    scanf("%f", & ficha[i].alt);
                    system("cls");
                    printf("\n\nRegistro adicionado!!\n\n");
                }
                break;
            case 2:
            printf("Digite a posicao do registro que deseja excluir\n");
            scanf("%d",& i);
                if (i>=0 || i <=19)
                {
                    ficha[i].nome == "";
                    ficha[i].email == "";
                    ficha[i].peso = 0;
                    ficha[i].alt = 0;
                    printf("\n\nRegistro excluirdo!!\n\n");
                }
                else
                {
                    printf("posicao invalida");
                }
                break;
            case 3:
                break;
            case 4:
                for(i=0; i<20; i++)
                {
                    printf("%d: %s, %s\n",i,ficha[i].nome,ficha[i].email);
                }
                break;
            case 5:
                printf("Qual nome do aluno voce deseja Procurar:\n");
                scanf("%s", exCont);
                i=1;
                while(f == 0 || i <= 15)
                {
                    if (strcmp (exCont, ficha[i].nome) == 0)
                    {
                        system("cls");
                        printf("\n\n");
                        printf(ficha[i].nome);
                        printf("\n");
                        printf(ficha[i].email);
                        printf("\n");
                        f = 1;
                    }
                    i++;
                    }
                break;
            case 0:
                s = 1;
                break;
                default:
                printf("Opcao invalida\n");
    //            system("cls");
                break;
                
        }
        
        }
        while (s == 0);
        return (0);
    }
    
    

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!