//stdsmal.h
struct talunos {
char nummatr [10];
char nome [70];
char cpf[11];
char* rg;
char* endereco;
char e_mail [150];
char telefone [16];
float* notas;
}alunos;
struct datnasc{
int dia;
int mes;
int ano;
struct taluno {
int mat;
float nota [3];
}
//FUNÇÕES
int cadastrartxt ();
{
FILE *origem;
printf ("Digite o caminho do arquivo.")
insarquivo:
scanf ("%f", origem);
if (fopen (origem, a)=="null");{
system ("cls");
printf ("Arquivo inexistente. Tente outro caminho.")
goto insarquivo;
}
else{
origem=fopen (origem, a);
}
}
int cadastraaluno
{
int j=0;
while (c!="n")
{
for (i=0;i<100;i++)
{
if (bancodedados[i]!="\0")
break;
}
printf ("Digite o numero da matricula.");
scanf ("%c", nummatr);
printf ("Digite o nome do aluno.");
scanf ("c", nome);
printf ("Digite o CPF do aluno: ");
scanf ("c", cpf);
printf ("Digite o RG do aluno: ");
scanf ("c", rg);
printf ("Digite o endereco do aluno: ");
scanf ("c", endereco);
printf ("Digite o e-mail do aluno: ");
scanf ("c", e_mail);
printf ("Digite o telefone do aluno: ");
scanf ("c", telefone);
printf ("Digite as notas do aluno: ");
scanf ("c", notas);
printf ("Deseja inserir as notas de outro aluno? Digite 'n' para nao.");
scanf ("%c", &j);
}
}
int inserenota
{
char nomeal;
float nota;
int tamvetor;
infun: // PARA O GOTO ABAIXO
printf ("Insira o nome do aluno.")
scanf ("%c", nomeal)
for (i=0;i<100;i++)
{
if (bancodedados[i]==nomeal)
break;
printf ("Aluno nao encontrado. Tente outro.")
goto infun;
}
printf ("Aluno encontrado. Insira a nova nota.")
scanf ("%i", ¬a")
tamvetor=sizeof(notas) //capta o tamanho antigo..
notas=realloc(notas,tamvetor+1); //abre espaço pra +1...
notas[tamvetor+1]=nota; // e poe a nota
}
int pesquisaaluno
{
char nomeal;
float nota;
int tamvetor, i;
infun: // PARA O GOTO ABAIXO
printf ("Deseja pesquisar por:\n 1- nome do aluno ou\n 2- por matricula?.")
scanf ("%i", &opinserenota);
switch (opinserenota)
{
case 1:
printf ("Insira o nome do aluno.")
scanf ("%c", nomeal)
for (i=0;i<100;i++)
{
if (bancodedados[i].nome==nomeal)
break;
printf ("Aluno nao encontrado. Tente outro.")
goto infun;
}
printf ("Aluno encontrado.\n")
printf ("bancodedados[i]");
break;
case 2:
printf ("Insira o numero da matricula.")
scanf ("%c", nomeal)
for (i=0;i<100;i++)
{
if (bancodedados[i].nummatr==nomeal)
break;
printf ("Aluno nao encontrado. Tente outro.")
goto infun;
}
printf ("Aluno encontrado.\n")
printf ("bancodedados[i]");
break;
default:
printf ("Opcao invalida. Tente novamente.");
goto infun;
}
}