Estrutura de dados
Por: Pedro Juan • 16/11/2016 • Abstract • 412 Palavras (2 Páginas) • 144 Visualizações
1.Desenvolva um PROGRAMA EM C++, para LER um arquivo TXT e gerar um relatório com os dados detalhados, utilizando o comando STRUCT e carregando em um VETOR. Enviar o código e o arquivo TXT utilizado.
#include
#include
#include
typedef struct cad_aluno
{
char nome[40];
char matricula[11];
char ano[5];
struct cad_aluno *prox;
}aluno;
aluno *dados; //ponteiro global
int j; //variavel global
void cad_aluno(void)
{
dados=(aluno*)malloc(sizeof(aluno)); //aloca na memoria
printf("PREENCHA OS DADO DO ALUNO:\n");
printf("NOME COMPLETO: ");
fflush(stdin);
scanf("%[^\n]",(*dados).nome);
printf("MATRICULA: ");
fflush(stdin);
scanf("%[^\n]",(*dados).matricula);
printf("ANO DE INGRESSO: ");
fflush(stdin);
scanf("%[^\n]",(*dados).ano);
}
void le_struct(void)
{
//char proxim = 'prox->';
printf("\nNOME : %s ",dados->nome);
printf("\nMATRICULA : %s ",dados->matricula);
printf("\nANO DE INGRESSO : %s ",dados->ano);
getchar();
getchar();
}
void grava(void)
{
FILE*arq;
arq=fopen("aluno.txt","ab+");
if(!arq){printf("ERRO AO ABRIR ARQUIVO!");}
fwrite((*dados).nome,40,1,arq);
fwrite((*dados).matricula,11,1,arq);
fwrite((*dados).ano,5,1,arq);
fclose(arq);
}
void le_aluno(void)
{
aluno turma[10];
int i=0;
FILE*arq;
arq=fopen("aluno.txt","rb+");
if(!arq){printf("ERRO AO ABRIR ARQUIVO!");
}
rewind(arq);
fread(turma[i].nome,40,1,arq);
fread(turma[i].matricula,11,1,arq);
fread(turma[i].ano,5,1,arq);
do{
printf("\n[%d]NOME DO ALUNO: %s", i,turma[i].nome);
printf("\n[%d]MATRICULA: %s", i,turma[i].matricula);
printf("\n[%d]ANO DE INGRESSO: %s", i,turma[i].ano);
printf("\n-------||---------\n");
i++;
fread(turma[i].nome,40,1,arq);
fread(turma[i].matricula,11,1,arq);
fread(turma[i].ano,5,1,arq);
}while(!feof(arq));
fclose(arq);
system("pause");
getchar();
}
// Codigo adicionado
void imprime(char indice)
{
aluno turma1[indice];
int i;
for (i=0;i
{
printf("\n[%d]NOME DO ALUNO: %s", i,turma1[i].nome);
printf("\n[%d]MATRICULA: %s", i,turma1[i].matricula);
printf("\n[%d]ANO DE INGRESSO: %s", i,turma1[i].ano);
printf("\n-------||---------\n");
}}
// fin do codigo adicionado
int main()
{
int opc;
do{
system("cls");
...