Queria saber oque esta acontecendo em cada trecho oque significa e pra que serve...
Codigo Original : Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Trecho 1.
int pesquisa(int NUMERO){
int ACHOU = 0;
rewind(ARQCLI);
while(!feof(ARQCLI)&&ACHOU!=1){ esse trecho nao entendi o ' !feof '
fread(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); // principalmente esse aqui
if(NUMERO==CLIENTE.CODIGO)
ACHOU = 1;
}
return(ACHOU);
}
Trecho 2.
int cadastra(void){ // se puder toda essa função
clrscr();
line();
center(2,SISTEMA);
center(3,"Modulo de Cadastramento\n");
line();
gotoxy(28,1);printf("Digite os dados abaixo");
do{
gotoxy(1,22);//clearline()
gotoxy(1,23);//clearline()
printf("Digite[0] para voltar ao menu ");
tela();
gotoxy(18,10);fflush(stdin);
scanf("%d",&NR_CLI);
gotoxy(1,23);//clearline();
if(NR_CLI!=0){
if(pesquisa(NR_CLI)==1)
{
/*Apresenta os dados caso exista no arquivo*/
mostradados();
gotoxy(1,22);
if(CLIENTE.EXCLUIDO!=1)printf("Este registro já existe ");
else printf("Este registro foi excluido ");
gotoxy(1,23);
printf("Tecle <Enter> para nova tentativa ");
fflush(stdin);
while((TECLA=getchar())!='\n')
gotoxy(33,23);
gotoxy(1,22);clearline();
}
else{
/*Localiza posicao para gravar registro*/
fseek(ARQCLI,(long)sizeof(struct REG_CLI),2); //esse trecho
/*Grava registro*/
gotoxy(18,11);
fflush(stdin);fgets(CLIENTE.NOME,31,stdin);
gotoxy(18,12);
fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin);
gotoxy(18,13);
fflush(stdin);scanf("%d",&CLIENTE.CEP);
gotoxy(18,14);
fflush(stdin);scanf("%d",&CLIENTE.TELEFONE);
gotoxy(18,15);
fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin);
CLIENTE.CODIGO=NR_CLI;
CLIENTE.EXCLUIDO = 0;
fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); // esse tambem
gotoxy(1,23);
printf("Tecle <Enter> para nova tentativa ");
fflush(stdin);
while((TECLA = getchar())!='\n')
gotoxy(33,23);
}
}
}
while(NR_CLI != 0);
return(0);
Trecho 3.
if((ARQCLI=fopen("CADCLI.DAT","rb+"))==NULL){ //aqui sei que ele testa se arquivo existe
ARQCLI=fopen("CADCLI.DAT","wb+"); // aqui ele cria
fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); // agora aqui nao entendi ja que tem a o mesmo na funçao cadastro....
Obrigado....
}
Codigo Original : Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Trecho 1.
int pesquisa(int NUMERO){
int ACHOU = 0;
rewind(ARQCLI);
while(!feof(ARQCLI)&&ACHOU!=1){ esse trecho nao entendi o ' !feof '
fread(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); // principalmente esse aqui
if(NUMERO==CLIENTE.CODIGO)
ACHOU = 1;
}
return(ACHOU);
}
Trecho 2.
int cadastra(void){ // se puder toda essa função
clrscr();
line();
center(2,SISTEMA);
center(3,"Modulo de Cadastramento\n");
line();
gotoxy(28,1);printf("Digite os dados abaixo");
do{
gotoxy(1,22);//clearline()
gotoxy(1,23);//clearline()
printf("Digite[0] para voltar ao menu ");
tela();
gotoxy(18,10);fflush(stdin);
scanf("%d",&NR_CLI);
gotoxy(1,23);//clearline();
if(NR_CLI!=0){
if(pesquisa(NR_CLI)==1)
{
/*Apresenta os dados caso exista no arquivo*/
mostradados();
gotoxy(1,22);
if(CLIENTE.EXCLUIDO!=1)printf("Este registro já existe ");
else printf("Este registro foi excluido ");
gotoxy(1,23);
printf("Tecle <Enter> para nova tentativa ");
fflush(stdin);
while((TECLA=getchar())!='\n')
gotoxy(33,23);
gotoxy(1,22);clearline();
}
else{
/*Localiza posicao para gravar registro*/
fseek(ARQCLI,(long)sizeof(struct REG_CLI),2); //esse trecho
/*Grava registro*/
gotoxy(18,11);
fflush(stdin);fgets(CLIENTE.NOME,31,stdin);
gotoxy(18,12);
fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin);
gotoxy(18,13);
fflush(stdin);scanf("%d",&CLIENTE.CEP);
gotoxy(18,14);
fflush(stdin);scanf("%d",&CLIENTE.TELEFONE);
gotoxy(18,15);
fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin);
CLIENTE.CODIGO=NR_CLI;
CLIENTE.EXCLUIDO = 0;
fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); // esse tambem
gotoxy(1,23);
printf("Tecle <Enter> para nova tentativa ");
fflush(stdin);
while((TECLA = getchar())!='\n')
gotoxy(33,23);
}
}
}
while(NR_CLI != 0);
return(0);
Trecho 3.
if((ARQCLI=fopen("CADCLI.DAT","rb+"))==NULL){ //aqui sei que ele testa se arquivo existe
ARQCLI=fopen("CADCLI.DAT","wb+"); // aqui ele cria
fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); // agora aqui nao entendi ja que tem a o mesmo na funçao cadastro....
Obrigado....
}
Comment