Ir para conteúdo
Fórum Script Brasil

roccoC/C++

Membros
  • Total de itens

    496
  • Registro em

  • Última visita

Tudo que roccoC/C++ postou

  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. Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/matriz-de-struct.html
  2. Configurar a biblioteca conio2.h em Dev c++ fica bem fácil seguindo este link abaixo onde você encontra um arquivo em .pdf ensinando. http://www.deinfo.uepg.br/~ivo/algoritmos_programacao/IDEs/instalacaoconfiguracaoconio2h.pdf Abraço.
  3. Vou te passar um link de código de struct ordenada que fiz e postei no meu blog Há alguns mêses. Olhando o exemplo fica bem fácil de você implementar no seu código: http://codigosfontes-ccplus-plus.blogspot.com.br/2013/11/programa-struct-ordenada.html Abraço
  4. 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); }
  5. 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
  6. 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. Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-informando-tamanho.html
  7. Vou te passar um link de uma lista encadeada ordenada que postei há alguns mêses atrás, pode ser que te ajude a montar sua própria versão, na verdade foque na parte de inserir da lista e imprimir, que são funções. http://codigosfontes-ccplus-plus.blogspot.com.br/2012/11/lista-encandeada-em-linguagem-c.html
  8. Veja o link abaixo: http://codigosfontes-ccplus-plus.blogspot.com.br/2012/11/matriz-caca-palavras.html
  9. Você cometeu erros simples, veja as linhas: 118 e de 225 a 231. O que você acha disto abaixo? T_dados d[300]; Por aqui rodou muito bem depois dos erros corrigidos.
  10. 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: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-inserindo-dados-em-struct.html
  11. 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. Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-extraindo-e-salvando-coluna.html
  12. Estou te enviando 4 links de exemplos de como fazer isto, se precisar de mais, ainda tenho outros deste mesmo blog, veja: http://codigosfontes-ccplus-plus.blogspot.com.br/2014/05/pesquisando-string-num-arquivo-de-texto.html http://codigosfontes-ccplus-plus.blogspot.com.br/2014/06/pesquisando-string-em-arquivo-ii.html http://codigosfontes-ccplus-plus.blogspot.com.br/2014/10/memchr-pesquisando-caractere-numa-string.html http://codigosfontes-ccplus-plus.blogspot.com.br/2014/12/pesquisando-string-em-arquivo-iii.html
  13. 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
  14. 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
  15. 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: 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
  16. 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.
  17. Agora sim, tá perfeito mestre! Abraço
  18. Sei que vai corrigir, desculpe, não foi por mal que fiz isto estou certo que você é muito capacitado.
  19. vangodp talvez tenha que fazer alguns ajustes no código:
  20. Vlw vangodp!! dp vou dá uma olhada nos vídeos, há se quizer o fonte do menu com cliques fale comigo pelo facebook: https://www.facebook.com/profile.php?id=100004632880855 Abraço
  21. Postei este vídeo agora pouco no youtube, nem sei se alguém vai ver, más dê uma olhada pra ver se é isto mais ou menos o que você quer:
  22. 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:
  23. 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
  24. 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: 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
  25. 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: 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...