Cadastro De Alunos
Casos: Cadastro De Alunos. Pesquise 862.000+ trabalhos acadêmicosPor: rockstar • 6/11/2013 • 494 Palavras (2 Páginas) • 483 Visualizações
#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
...