murillohrr
(usa Outra)
Enviado em 26/07/2017 - 17:35h
Estou com uma tremenda dúvida em alocar dinamicamente minha estrutura, e dps chama e editar seus componentes, na minha main eu queria fazer com o que o usuario dissesse quantoas pessoas queria cadastrar ja de inicio: segue abaixo meu codigo
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct aluno
{
int id;
char nome[30];
int turma;
float provas[4];
float freq;
}aluno;
void menu(){
int aux;
printf("BEM VINDO AO CADASTRAMENTO DE ALUNOS ELETRONICA\n");
printf("1.CADASTRAR ALUNOS\n");
printf("2.EXIBIR TODOS OS ALUNOS\n");
printf("3.EXIBIR ALUNOS APROVADOS\n");
printf("4.EXIBIR MEDIA FINAL DE TURMA\n");
printf("5.SAIR\n");
scanf("%d",&aux);
switch (aux){
case 1:
cadastrar();
break;
case 2:
exibir();
break;
case 3:
alunosaprovados();
break;
case 4:
mediafinal();
break;
case 5:
exit;
}
}
void cadastrar(){
int *v;
int a;
printf("QUANTOS ALUNOS DESEJA INSERIR?\n");
scanf("%d",&a);
v=(int*)malloc(a*sizeof(int)); //alocando memoria do vetor
for (int i = 0; i < a; ++i)
{
printf("ID\n");
scanf("%i",&alu[i].id);
printf("NOME\n");
gets();
scanf("%[^\n]",alu[i].nome);
printf("TURMA\n");
scanf("%d",alu[i].turma);
printf("NOTAS DE 0 a 10\n");
scanf("%2.f %2.f %2.f %2.f\n",&alu[i].provas );
printf("FREQUENCIA de 0 a 100 porcento \n");
scanf("%2.f",&alu[i].freq);
}
}
void exibir(){
char repeat [50];
for (int i = 0; i <= v; ++i)
{
printf("%s\n",alu[i].id );
printf("%s\n",alu[i].nome );
printf("%d\n", alu[i].turma);
printf("%2.f\n", alu[i].provas);
printf("%2.f\n", age[i].freq);
}
printf("\nDeseja continuar? (S ou N) \n");
scanf("%c",&repeat);
if (repeat=='s' || repeat=='S')
void menu();
}
void alunosaprovados(){
int aux;
float media;
for (int i = 0; i < v; ++i)
{
aux+=alu[i].provas;
}
float media = aux/v;
if(media>5,9 && alu[i].freq<74.99){
for (int j = 0; i < v; ++j)
{
printf("ALUNOS APROVADOS\n");
printf("%s\n",alu[j].nome );
printf("NOTAS %d\n",alu[j].provas );
printf("FREQUENCIA %d\n",alu[j].freq );
}
}
}
int main()
{
int *v;
alunos alu[100];
v=(int*) malloc(size * sizeof(alunos));
menu();
return 0;
}