Usuário(a):Matheus Wahl/PT/C/Biblioteca
Aspeto
//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; } }