Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Alguem poderia me explicar alguns trechos de codigo

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C# Alguem poderia me explicar alguns trechos de codigo

    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....
    }
    Similar Threads

  • Font Size
    #2
    Postado Originalmente por psyd Ver Post

    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);
    }
    Para eu te explicar isso, precisaria saber quais funções do C++ você conhece, mas tentarei...

    Esse feof estou certo que é File End Of File,
    Isso é, enquanto não for o fim do arquivo e quando achou for diferente de 1, faça tal coisa.

    Fread é ler o arquivo,
    Essa função recebe 3 argumentos:
    o primeiro é o local aonde ele vai salvar o trecho lido.
    o segundo é a partir de qual byte será lido, pois cada letra é um byte.
    o terceiro, é a conta de quantas letras(bytes) ele vai ler.
    o ultimo é o arquivo que ele vai ler


    Leia sobre manipulação de arquivos, acho complicado te explicar o resto ,por que não sei qual seu nivel de conhecimento na linguagem C++, não sei se conhece manipulação de ponteiros, endereços, arquivos, objetos e structs... Então... Me diga até que ponto sabe, e se possível te explico o resto
    sigpic

    Decidi deixar de ser usuário e virar desenvolvedor

    Comment

    X
    Working...
    X