-
Total de itens
496 -
Registro em
-
Última visita
Posts postados por roccoC/C++
-
-
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.
-
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
-
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);
} -
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
-
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
-
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
-
-
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. -
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
-
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
-
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/06/pesquisando-string-em-arquivo-ii.html
http://codigosfontes-ccplus-plus.blogspot.com.br/2014/12/pesquisando-string-em-arquivo-iii.html
-
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:
-
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
-
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
-
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. -
Agora sim, tá perfeito mestre!
Abraço
-
Sei que vai corrigir, desculpe, não foi por mal que fiz isto
estou certo que você é muito capacitado.
-
-
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
-
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:
-
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: -
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
-
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
-
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
MATRIZ DE STRUCT
em C, C++
Postado
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