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);
}