Fiz Um Vetor de Struct Mas Queria Saber Como Usuario Poderia Adicionar Mais Cadastros No menu
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct aluno
{
char nome[20];
char endereco[50];
char data_de_nascimento[10];
char telefone[15];
float nota1;
float nota2;
};
struct aluno recadastramento(struct aluno valuno[10]);
void media_das_notas(struct aluno valuno[10]);
void aprovado_ou_reprovado(struct aluno valuno[10]);
void mostrar_informacoes(struct aluno valuno[10]);
int main(void)
{
struct aluno valuno[10];
int op;
float media;
int i;
int j;
printf("Digite as informacoes dos alunos");
for(i=1;i<11;i++)
{
printf("Digite O Nome Do Aluno[%d]\n\n",i);
printf("Nome: ");
fflush(stdin);
gets(valuno[i].nome);
printf("\nDigite O Endereco Do Aluno[%d]\n\n",i);
printf("Endereco: ");
fflush(stdin);
gets(valuno[i].endereco);
printf("\nDigite A Data De Nascimento Do Aluno [%d] No Formato <00/00/0000>\n\n",i);
printf("Data De Nascimento: ");
fflush(stdin);
gets(valuno[i].data_de_nascimento);
for(j=0;j <15; j++)
{
if(valuno[i].data_de_nascimento[2] != '/' && valuno[i].data_de_nascimento[5] != '/')
{
printf("ERRO! Digite novamente");
printf("\nDigite A Data De Nascimento Do Aluno [%d] No Formato <00/00/0000>\n\n",i);
gets(valuno[i].data_de_nascimento);
break;
}
else
{
printf("FORMATO CORRETO");
break;
}
}
printf("\nDigite O Telefone Do Aluno [%d] No Formato <(DDD)00000-0000>\n\n",i);
printf("Telefone Do Aluno: ");
fflush(stdin);
gets(valuno[i].telefone);
for(j=0;j <15; j++)
{
if(valuno[i].telefone[0] != '(' && valuno[i].telefone[4] != ')' && valuno[i].telefone[10] != '-')
{
printf("ERRO! Digite novamente");
printf("Digite O Telefone Do Aluno [%d]: ",i);
gets(valuno[i].telefone);
break;
}
else
{
printf("FORMATO CORRETO");
break;
}
}
printf("\nDigite A Primeira Nota Do Aluno [%d]\n\n",i);
printf("Nota 1: ");
scanf("%f",&valuno[i].nota1);
printf("\nDigite A Segunda Nota Do Aluno [%d]\n\n",i);
printf("Nota 2: ");
scanf("%f",&valuno[i].nota2);
}
do
{
printf("\nMENU\n");
printf("- 1)Editar informações dos alunos \n 2)Mostrar as medias dos alunos \n 3)Dizer se os alunos foram aprovados medias >= 6 ou reprovados (medias <6)\n 4)Listar todas as informações dos alunos");
printf("\n\nOpcao::: ");
scanf("%d",&op);
switch(op)
{
case 1:
recadastramento(valuno);
break;
case 2:
media_das_notas(valuno);
break;
case 3:
aprovado_ou_reprovado(valuno);
break;
case 4:
mostrar_informacoes(valuno);
break;
default:
printf("\nOpcao INVALIDA\n");
break;
}
}while(op > 0 && op < 5);
}struct aluno recadastramento(struct aluno valuno[10]) //recadastramento de informações//Funções
{
int i;
for(i=1;i<11;i++)
{
printf("\nDigite O Nome Do Aluno [%d]\n\n",i);
printf("Nome: ");
fflush(stdin);
gets(valuno[i].nome);
printf("\nDigite O Endereco Do Aluno [%d]\n\n",i);
printf("Endereco: ");
fflush(stdin);
gets(valuno[i].endereco);
printf("\nDigite A Data De Nascimento Do Aluno [%d] No Formato <00/00/0000>\n\n",i);
printf("Data De Nascimento: ");
fflush(stdin);
gets(valuno[i].data_de_nascimento);
int j;
for(j=0;j < 11; j++)
{
if(valuno[i].data_de_nascimento[2] != '/' && valuno[i].data_de_nascimento[5] != '/')//validção de data no formato correto
{
printf("ERRO! Digite novamente");
printf("\nDigite A Data De Nascimento Do Aluno [%d]No Formato <00/00/0000>\n\n",i);
gets(valuno[i].data_de_nascimento);
break;
}
else
{
printf("FORMATO CORRETO");
break;
}
}
printf("\nDigite O Telefone Do Aluno [%d] No Formato <(DDD)00000-0000>\n\n",i);
printf("Telefone Do Aluno: ");
fflush(stdin);
gets(valuno[i].telefone);
for(j=0;j <15; j++)//validção de numero no formato correto
{
if(valuno[i].telefone[0] != '(' && valuno[i].telefone[4] != ')' && valuno[i].telefone[10] != '-')
{
printf("ERRO! Digite novamente");
printf("Digite O Telefone Do Aluno [i]: ",i);
gets(valuno[i].telefone);
break;
}
else
{
printf("FORMATO CORRETO");
break;
}
}
printf("\nDigite A Primeira Nota Do Aluno [%d]\n\n",i);
printf("Nota 1: ");
scanf("%f",&valuno[i].nota1);
printf("\nDigite A Segunda Nota Do Aluno [%d]\n\n",i);
printf("Nota 2: ");
scanf("%f",&valuno[i].nota2);
}
}void media_das_notas(struct aluno valuno[10])//media de notas
{
int i;
for(i=1;i<11;i++)
{
float media;
media = (valuno[i].nota1 + valuno[i].nota2) / 2;
printf("Media: %.2f\n",media);
}
}void aprovado_ou_reprovado(struct aluno valuno[10])//se foi aprovado ou reprovado
{
int i;
for(i=1;i<11;i++)
{
float media;
media = (valuno[i].nota1 + valuno[i].nota2) / 2;
if(media >= 6)
{
printf("\nAluno [%d] APROVADO\n",i);
}
else
{
printf("\nAluno [%d] REPROVADO\n",i);
}
printf("\nMedia do Aluno[%d]: %.2f\n",i,media);
}
}void mostrar_informacoes(struct aluno valuno[10])//mostrando informções de cadastro
{
int i;
for(i=1;i<11;i++)
{
printf("-Listagem Do Aluno[%d]",i);
printf("\n\nNome do Aluno[%d]: %s",i,valuno[i].nome);
printf("\nEndereco do Aluno[%d]: %s",i,valuno[i].endereco);
printf("\nData De Nascimento do Aluno[%d]: %s",i,valuno[i].data_de_nascimento);
printf("\nTelefone do Aluno[%d]: %s",i,valuno[i].telefone);
printf("\nNota 1 do Aluno[%d]: %.2f ",i,valuno[i].nota1);
printf("\nNota 2 do Aluno[%d]: %.2f ",i,valuno[i].nota2);
}
}//Fim Do Codigo
Discussão (0)
Carregando comentários...