TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Cadastro De Alunos

Casos: Cadastro De Alunos. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  6/11/2013  •  494 Palavras (2 Páginas)  •  477 Visualizações

Página 1 de 2

#include

#include

#include

typedef struct {

char nome[25];

int codigo;

char telefone[15];

int idade;

int excluido;

}tpPessoa;

void cadastro(){

tpPessoa pessoa;

FILE *fpArq;

int ref;

scanf("%*c");

puts("Digite o seu nome: "); /* Ocorre o cadastro de pessoa */

gets(pessoa.nome);

puts("Digite a sua idade: ");

scanf("%d",&pessoa.idade);

scanf("%*c");

puts("Digite o seu telefone: ");

gets(pessoa.telefone);

pessoa.excluido = 0;

if(fpArq = fopen(" cadPessoa.dat","a+b")){ /* nome do meu arquivo cadPessoa*/

fwrite(&pessoa,1,sizeof(tpPessoa),fpArq); /* codigo do meu arquivo de cada usuario */

pessoa.codigo = ftell(fpArq)-sizeof(tpPessoa); /* atribui o tamanho da minha strut para codigo do usuario para logo mas fazer a busca atraves dele */

printf("%d",pessoa.codigo); /*serve para ver o codigo do usuario inserido controle*/

system("cls");

}else{

printf("\n\n Arquivo nao existente");

}

fclose(fpArq);

}

void imprimePessoas(tpPessoa pessoa){ /* criei uma funcao para fazer a impresao das pessoas cadastradas */

printf("Nome....:%s\n",pessoa.nome);

printf("Idade...:%d\n",pessoa.idade);

printf("Telefone:%s\n",pessoa.telefone);

printf("Excluido..:%d\n",pessoa.excluido);

printf("\n \n");

}

int listaPessoa(int opcaoAfazer){

tpPessoa pessoa;

FILE *fpArq;

int sair,posicao,escolha,posicaoAnt;

do{

if(fpArq = fopen("cadPessoa.dat","a+b")){

fread(&pessoa,1,sizeof(tpPessoa),fpArq);

while(!feof(fpArq)){

if(opcaoAfazer == 0){

}else{ /* aqui eu acontece o seguinte se a minha opcaoAfazer for diferente de zero entao eu vou chamanar a minha funcao de excluir ai eu ja vou pegar as lista das pessoas*/

system("cls");

imprimePessoas(pessoa);

posicao = ftell(fpArq) - sizeof(tpPessoa);

printf(" Escolha a Opcao desejada \n\n ");

printf("\n\n1. Proxima \t 2. Retornar ao inicio \t 3. Anterior");

printf("\n posicao do usuario...........: %d \n",posicao);

scanf("%d",&escolha);

switch(escolha){

case 1:{

posicao=ftell(fpArq);/*pegar o tamanho do arquivo*/

fread(&pessoa,1,sizeof(tpPessoa),fpArq); /* leio novamente o arquivo para mostrar abaixo */

fseek(fpArq,0,SEEK_CUR); /* passo de posicao em posicao para o novo usuario */

break;

}

case 2:{

fseek(fpArq,0,SEEK_SET);

fread(&pessoa,1,sizeof(tpPessoa),fpArq);

break;

}

case 3:{

if(posicao==0)

{

fseek(fpArq,0,SEEK_SET);/*se a posicao for 0 ele permanece */

}

fseek(fpArq,posicaoAnt,SEEK_SET);

posicaoAnt=posicao-sizeof(tpPessoa),fpArq;/*subtrai um cadastro do tamanho final do arquivo*/

fseek(fpArq,posicaoAnt,SEEK_SET);/*posiciona o cursor para o inicio do cadastro anterior*/

fread(&pessoa,1,sizeof(tpPessoa),fpArq);/*le o cadastro*/

}

}

}

}

fclose(fpArq);

return posicao;

}else{

printf("\n Arquivo nao existente \n");

}

puts(" para sair digite 9");

scanf("%d",&sair);

system("cls");

}while(sair!=9);

}

void

...

Baixar como (para membros premium)  txt (5.8 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com