Ir para conteúdo
Fórum Script Brasil

roccoC/C++

Membros
  • Total de itens

    496
  • Registro em

  • Última visita

Posts postados por roccoC/C++

  1. Quando precisamos agrupar tipos diferentes de dados temos como
    solução as structs.
    As variáveis declaradas dentro de uma struct denomina-se membros da struct,
    ou campos, e como disse acima, o tipo não importa,
    pode ser qualquer tipo aceito no c.
    Neste programa mostro um exemplo de matriz de struct, fácil
    de implementar e de grande utilidade, indicado a iniciantes em c.

    stut.thumb.PNG.18a2c09b53eb57b6f1415f6b7

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/matriz-de-struct.html

  2. Dei umas corrigidas no seu código, dê uma olhada e compare, veja onde errou:

     

     

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    int main(){
        int i;

        //int * ptr1;
        //int * ptr2;

        float *ptr1;
        char *ptr2;
        ptr1  = ( float* ) malloc ( 3 *sizeof ( float* ) );
        ptr2  = ( char* ) malloc ( 3 *sizeof ( char* ) );

        //ptr1 = malloc(3*sizeof(float));
        //ptr2 = malloc(3*sizeof(char));

        if ( ptr1 != NULL ) {
            printf("digite valores float: ");
            for ( i = 0; i < 3; i++ ) {
                scanf("%f",&ptr1 [ i ] );fflush(stdin);
                //ptr1 [ i ] = i;
            }
        }
        printf("\ndigite os caracteres: ");
        if ( ptr2 != NULL ){
            for ( i = 0; i < 3; i++ ) {
                scanf("%c",&ptr2 [ i ] );fflush(stdin);
                //ptr1 [ i ] = i;
            }
        }
        printf ("\nO inverso dos floats digitados é : \n");
        //printf ("\n\n");
        for ( i = 3; i >= 0; i-- ){
            if ( ptr1 [ i ] != 0 ){
                printf ("\n %.1f ", ptr1 [ i ] );
            }
        }
        getche();
        printf ("\n\nO inverso dos caracteres digitados é : \n");
        //printf ("\n\n");
        for ( i = 3; i >= 0; i-- ){
            if ( ptr2 [ i ] != 0 ){
                printf ("\n %c ", ptr2 [ i ] );
            }
        }
        getche();
        return(0);
    }

     

  3. Ter domínio em arquivos de textos e binários são obrigações de programadores em linguagem c,
    por isto apresento mais este código de pesquisa em arquivo.
    Uma novidade que quero mostrar aqui, é que o programa marca as ocorrências na própria leitura,
    olha, criar esta rotina me deu muito trabalho, muitas
    horas de empenho e dedicação, quer saber procure um outro código em c que
    faz isto diferente do meu e me mostre, estou ansioso por vê-lo.
    Qualquer estudante intermediário em c não terá dificuldades em acompanhar este código.

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-pesquisando-e-marcando.hml

    arqpesq.thumb.PNG.5e94b0c0a884b77d43ae97arqt.thumb.PNG.ee900a8dd957093fe15fd26f1arqv.thumb.PNG.35427bf13f8395e9a3070e083

    arqpsr.PNG

    arqps.thumb.PNG.c263862fc942abe0dd6aa36e

  4. Em linguagem c temos três indicadores para deslocamento de posições,
    que são, as funções fseek, ftell e rewind, todas são do cabeçalho stdio.h
    são também muito utilizadas em manipulações de arquivos.
    Neste texto falaremos um pouco da função ftell;

    A função ftell determina a posição atual de um ponteiro em um dado arquivo. Sua
    sintaxe é:
    long int ftell ( FILE *ponteiro para o arquivo );
    A função ftell devolve o valor do indicador de posição do ficheiro indicado.
    Para os fluxos binários, o valor devolvido representa a distância em bytes
    a partir do princípio da informação armazenada. Para os fluxos de texto,
    o valor devolvido contém um valor, que
    depende da implementação e que pode ser usado posteriormente por uma invocação de
    fseek para posicionamento do indicador de posição do ficheiro na mesma posição. A
    função devolve o valor do indicador de posição do ficheiro, em caso de sucesso,
    e o valor ??1L, em caso de erro. No caso de insucesso,
    a causa é sinalizada na variável global de erro errno.


    aqrt.thumb.PNG.0adda7d3b0cf5215735feaeccntar.thumb.PNG.c33f40240e984e5ec8bbaf62a

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-informando-tamanho.html

  5. Geralmente pra se ter uma leitura com êxito de um arquivo devemos
    analizá-lo antes, isto porque o arquivo pode está todo
    desorganizado, então criamos um certo padrão.
    Agora pergunto, se estamos criando um arquivo que será lido pelo programa
    Porque não organizá-lo antes?
    Precisamos saber quantas strings, floats e inteiros o programa precisa
    para a leitura; Então criei um arquivo e estou utilizando-o para preenchimento
    dos campos de uma struct,onde declarei cinco chars e três ints.
    A struct recebe memória alocada dinamicamente, e é liberada por free();
    no término do programa.

    Veja abaixo imagens do programa em execução:

    stct.thumb.PNG.c8abe8144819f4cca9b378a87brst.thumb.PNG.a16f5e54346f669ce0d3ae191

     

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-inserindo-dados-em-struct.html

     

  6. Para criar este programa utilizei pelo menos cinco funções e duas macros

    fundamentais para o bom desempenho, que foram as funções:

    fseek(); Para posicionar o ponteiro de arquivo num byte específico
    fscanf(); É para o arquivo o que scanf é para o console
    putc(); Escreve um caracter em um arquivo
    fgets(); pega uma linha inteira de um arquivo
    feof();retorna verdadeiro se o final de arquivo foi atingido;

    E as macros: SEEK_SET, SEEK_CUR.
    Estas funções e estas macros estão no arquivo de cabeçalho stdio.h.
    Estas macros trabalham como parâmetros na função fseek(); e são
    perfeitas para posicionamentos, isto é, acesso aleatórios de dados.

    SEEK_SET ==> Marca um início no arquivo
    SEEK_CUR ==> Ponto corrente no arquivo
    SEEK_END ==> Não foi utilizado neste programa,
    marca o fim do arquivo.

    A lógica para posicionar a leitura no início dos nomes das candidatas
    foi um pouco confusa, note que estes nomes começam na linha seis do arquivo,
    que começa em zero ( 0 ) e segue até a linha quinze ( 15 ).
    Então, calculei o tamanho do arquivo e a posição de início dos nomes
    como já citei acima, e coloquei como condição dentro de um laço while();
    A cada ciclo do while(); a variável de controle é incrementada e um novo
    valor é adicionado, este valor, corresponde ao total de caracteres de cada linha
    contando com espaços, que obviamente o ciclo pula para a linha mais abaixo,
    até que o arquivo chegue em sua última linha.
    Más isto tudo foi porque teimei em fazer esta leitura da coluna dos nomes com fscanf(); Com fgets(); isto teria sido bem mais simples.
    Um novo arquivo é criado, e recebe escritas dos caracteres dos nomes
    com a função putc(); agora o arquivo é fechado e aberto novamente como leitura.
    Esta foi uma breve descrição do funcionamento deste programa, que é indicado
    a estudantes mais avançados em c.

    aqva.thumb.PNG.66f335a949b03249e7e67e538aqvb.thumb.PNG.5eafe866f89e91625cc4fb491

    aqvc.thumb.PNG.13e17d6f35b298b0e625a3358

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-extraindo-e-salvando-coluna.html

     

     

     

     

     

     

     

  7. Programadores em linguagem c tem que ter pleno domínio em manipulação
    de arquivos, e para provar que não estamos de blá-blá-blá, criei
    este programa interessante.
    No programa são usados duas funções para leitura nos arquivos,que é a
    função fscanf(); e a função fgets();
    Más o impressionante aqui é que temos a ousadia de escolher as colunas
    do arquivo a ser lida, ou o arquivo inteiro é claro.
    Tá certo que utilizei a função fseek(); em conjunto com a
    função fscanf();se não seria quase impossível conseguir isto.
    Já já função fggets(); que é muito mais fácil de trabalhar não se fez necessário
    a função fseek(); para posicionar a leitura só da coluna dos nomes.
    Fica difícil falar aqui de cada uma das funções, comandos, ou linha de códigos
    utilizados no programa, más disponibilizo gratuitamente
    o código para todos os amantes de linguagem c.

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-escolhendo-colunas-para-leitura.html

    blc.thumb.PNG.85ef9769817c835187ae2f269e

    aiq.PNG

    aiqa.PNG

    aiqb.PNG

    aiqc.PNG

    aiqd.PNG

    aiqe.PNG

    aiqf.PNG

    aiqg.PNG

  8. Programadores em linguagem c tem boas opções em funções que fazem
    leitura de arquivos de texto, e uma outra função que
    pode ser usada para isto é a função fread();
    Aliás, é mais recomendado o uso de fread(); para leitura por trabalhar
    com dados binários ao contrário de outras que trabalham com ASCII, e provoca perda de desempenho em arquivos maiores.
    A função retorna o número total de elementos lidos, que pode ser menor do que o que foi especificado na chamada da rotina
    se o final do arquivo for atingido ou se ocorrer um erro.
    Arquivos binários também podem ser lidos como registros de dados estruturados,
    Além disso, uma vez que todos os
    registros tem o mesmo tamanho, os dados podem ser acessados de
    forma não-sequencial (acesso aleatório).
    A sintaxe de fread (); é:
    fread ( &tipo_nome, sizeof ( tamanho ), quantidade, arquivo );
    sendo:
    A variável recebe o endereço dos dados lidos do arquivo
    tamanho é o número de bytes a ser lido. Para calcular isso você deve usar o operador sizeof,
    quantidade indica quantos itens serão lidos ( cada item do tamanho especificado )
    arquivo é um ponteiro para o arquivo aberto anteriormente.
    Uma boa prática, aliás sempre uso, é analisar o retorno de fread
    para ver se não ocorreram erros. Isto pode ser feito com uma
    instrução deste tipo:
    if ( fread ( &nome, sizeof ( nome ), 1, arquivo ) != 1 )
      printf("Erro de leitura.\n");
    O programa é simples e indicado a iniciantes em c.

    Veja o link do código abaixo:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-leitura-com-fread.html

    fread.thumb.PNG.dcbdbfaee109b8b6e27d6c8d

    iarq.thumb.PNG.fb1adc62876694ab707972fcb

  9. Aém de fscanf(); que usamos para leitura de textos num arquivo
    também podemos usar a função fgets(); A função fgets();
    lê uma linha inteira de uma vez, ou até que um '\n' tenha sido encontrado.
    O endereço da string lida, é retornado se a leitura foi realizada corretamente,
    ou o retorno NULL se a leitura fracassou.
    Considere como certo a seguinte sintaxe para fegets();
    char *fgets ( char *minhaString, int numBytes, FILE *arq );
    Vale lembrar que estas duas funções que foram citadas acima, são da biblioteca
    padrão do c, stdio.h.
    Neste tópico trago um bom exemplo de leitura de arquivos usando fgets();
    A matriz onde armazenamos nosso texto lido do arquivo foi alocada dinamicamente,
    e liberada após o uso, pela funçõa free(); Note que isto é uma obrigação
    nossa, já que somos futuros bons programadores em linguagem c.
    Acompanhe abaixo uma imagem do programa em execução:

    Na imagem abaixo, temos o nosso arquivo de texto utilizado:

    arqf.thumb.PNG.2ab701a15e7ffa6cb3c65ef8f

    fgets.thumb.PNG.c00fef8a7f40dfcbe05063a2


    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/aem-de-fscanf-que-usamos-para-leitura.html

  10. O c nos dá amplas possibilidades em leitura e escrita  de arquivos,
    na verdade podemos lê entradas formatadas através de arquivos com
    fscanf();do mesmo modo em que lemos do teclado com scanf();
    Assim como imprimimos um texto com printf(); podemos imprimir um
    arquivo com fprintf();
    Neste programa mostro como lê uma matriz do tipo float com fscanf();
    A sintaxe de fscanf é:
    int fscanf(FILE *arq, char *string_formatada);
    fscanf(); faz a leitura completa da matriz float no arquivo, más na hora
    da impressão imprimimos uma coluna por vez, que representa as notas
    de cada aluno, são quatro alunos e são quatro notas para cada disciplinas
    escolares atuais.
    Programa indicado a iniciantes em linguagem c.

  11. Um dos sonhos de um iniciante em linguagem c é poder
    usar o mouse para acessar opções de um menu no proprio
    console do windows (cmd), pensando nisto cliei este simples
    exemplo que faz uso de poucos recursos da API do windows
    para capturar eventos do mouse na janelinha do dos.


    Veja o link abaixo:

  12. Quando seus programas em linguagem c se tornarem mais avançados,
    é sinal que você futuro programador necessita de um menu que acompanhe
    seus avanços.
    Já postei um Programa no qual entitulei de: "Menu inteligente", más o
    programa apesar da alta eficiência só permitia o uso de duas setas do teclado,
    que são as setas pra baixo e pra cima, e olha, ele é campeão disparado em
    visualizações no meu blog, este aqui com certeza é bem melhor, aceita as
    quatro setas do teclado e rejeita qualquer outra tecla exceto o Esc que também
    é um canal de saída do programa.
    Programa indicado a estudantes, e hobistas avançados em linguagem c.

    Pessoal se o vídeo não estiver abrindo por favor me avisem.

    Abraço a todos

  13. Na formação do conjunto dos números Naturais existe um tipo de numeral que possui a propriedade de ser
    divisível somente por um e por ele mesmo, recebendo a denominação de número primo.
    A descoberta dos números primos é imprescindível na Matemática, pois eles intitulam o princípio central
    na teoria dos números, consistindo no Teorema Fundamental da Aritmética.
    Esse Teorema satisfaz uma condição interessante no conjunto dos números naturais, ele afirma que todo
    número inteiro natural, sendo maior que 1, pode ser escrito como um produto de números primos,
    enfatizando a hipótese que o número 1 não pode ser considerado primo, pois ele tem apenas
    um divisor e não pode ser escrito na forma de produto de números primos.
    Quer saber mais detalhes sobre o assunto acesse o seguinte link abaixo
    de onde foi extraído partes do texto:

    http://www.brasilescola.com/matematica/numeros-primos.htm

    Más minha paixão é linguagem c, e o propósito deste trabalho é
    de ensinar os iniciantes em c criarem uma tabela de 1 a 100 e
    marcar na própria tabela as ocorrências dos números primos e
    não primos em côres destacadas veja na imagem abaixo:


    prpir.thumb.PNG.0e36032c4fd792820dbb9377

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/09/matriz-de-primos-e-não-primos.html

  14. Um dos primeiros passos de um futuro programador em c, é aprender sobre resto de divisão,
    o operador que representa o resto de divisão em c é o %, ele faz o retorno do resto da divisão de um número por outro.
    Com certeza existe várias utilidades deste importante operador na linguagem c, más aqui destacamos apenas uma destas utilidades que é
    separar os números ímpares dos pares.

    Veja abaixo uma imagem do programa em execução:

    primpr.thumb.PNG.b651451e4d408c5b98bf722

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/09/vetor-de-pares-e-de-impares.html

     

×
×
  • Criar Novo...