Ir ao conteúdo
  • Cadastre-se

Caio Lopez

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

4
  1. Vou mandar ver nisso e quando eu tiver terminado posto aqui como ficou pra um feedback de vocês ! Obrigado pelo apoio galera, de verdade. Qualquer dúvida durante o processo de criação disso, vou perguntar aqui
  2. @Lucca Rodrigues Consegui formatar pra aparecer lá no final o CPF formatado, que legal ! No inicio eu dei uma leve confundida, achando que tinha que criar uma variavel pra isso, mas depois entendi que já tava criado dentro da propria struct que eu só precisava informar a posição igual você fez aqui: printf("%c%c%c.%c%c%c.%c%c%c-%c%c", ficha[i-1].cpf[0],ficha[i-1].cpf[1],ficha[i-1].cpf[2], ficha[i-1].cpf[3],ficha[i-1].cpf[4],ficha[i-1].cpf[5], ficha[i-1].cpf[6],ficha[i-1].cpf[7],ficha[i-1].cpf[8], ficha[i-1].cpf[9],ficha[i-1].cpf[10]); Eu coloquei como 1 só pra eu preencher uma vez os dados, pra não ter que digitar tudo 16 vezes. Agora voltando a respeito da validação do CPF, eu vi pela internet que tem várias formas de construir essa validação... Vou dar uma olhada no conteúdo do @arfneto que ele diz que criou um Tópico ensinando como fazer e vou tentar construir um do Zero e depois implementar nesse meu código. Se você @Lucca Rodrigues conhecer algum lugar que eu possa compreender a construção desse código pra validar o CPF, construindo um código a partir do zero, ficaria agradecido (Na verdade já estou mais que agradecido pelo suporte que vocês tem me dado aqui, obrigado de verdade !) Acredito que assim, eu consiga aprender bem mais, porque apesar de eu poder estudar o código do @kgin, acho que é interessante eu criar esse código partindo da lógica da construção dele. Comecei minha faculdade no inicio do Ano, então ainda estou bem iniciante hahaha Obrigado pelos toques quando eu digo algo de forma errada (começando pelo próprio Tópico que aleguei estar em C++).
  3. @Lucca Rodrigues Eu estou tentando aprender a mexer com isso, achei interessante ele mandar o código daquela forma pra eu tentar implementar dentro do meu código, mas eu estou tentando compreender ele em um todo e ainda não finalizei minha atividade apesar de já ter ficado do jeito que eu pudesse encaminhar ao professor e ganhar a nota. Estou aqui mexendo nele basicamente o tempo todo, quero poder entregar quando eu realmente tiver entendido o que estou realmente fazendo e entendido a Lógica do meu programa todo. E concordo com tudo o que você disse, geralmente os estudantes só querem o código pronto pra se livrarem logo de uma atividade etc... Quero que saiba, novamente, que estou tentando aprender de verdade e não me contento com algo mal feito e muito menos plagiado. Fiz algumas alterações no código dele pra que funcionasse no meu, substitui as variaveis e consegui encaixar no laço de repetição de uma forma que acho que vocês vai pedir pra eu apagar porque vai estar muito irregular? hahaha Ficou assim: Na minha cabeça, eu pensei da seguinte forma: Se "&ficha[i].cpf é o valor do CPF que eu insiro e T_CPF que partiu do código dele, pelo que entendi, trabalha com o processo do tamanho do código e também ta dentro da função de validação que verifica os caracteres..." Eu coloquei ele dentro de um While simples, dizendo que enquanto meu número do CPF for diferente do "aceito" (eu interpretei assim, não sei se ta certo), ele vai além de dizer que está INVÁLIDO, vai voltar pro inicio desse laço pedindo pra inserir novamente o CPF. Quando fiz somente isso, criou um LOOP infinito e eu acabei colocando um BREAK, que ele para de repetir quando aquela condição ali de validação acontecer (for Válido) e dai o código continua normalmente. while (&ficha[i].cpf != T_CPF) { printf("Informe seu CPF: "); scanf ("%s", &ficha[i].cpf); char *cpf = &ficha[i].cpf; if (validaCpf(cpf)) { printf("Cpf valido!\n"); break; } else { printf("Cpf invalido!\n"); } getchar(); } Testei suas dicas também sobre mostrar o CPF formatado com pontos e tudo mais, porém quando eu chego lá no final do código... Eu ainda estou com um pouco de dificuldades, por conta desse [i-1], que não compreendi direito como ele funciona, eu só sei que se eu retirar ele, os numeros inseridos no CADASTRO não serão mostrados corretamente. Ai quando eu tento por daquela forma que você me orientou a tentar fazer (pra formatar o CPF), eu não consigo rodar o código. printf ("\n\n*** CONSULTA NO CADASTRO ***\n"); printf ("Escolha uma posicão a exibir (1 a 16): "); // AQUI ESTÁ 16 porque SERIAM 16 REGISTROS QUE SERIAM FEITOS, NO CASO, SÓ VAI CONTER UM NO MOMENTO. scanf ("%d", &i); printf ("Nome: %s\n", ficha[i-1].nome); printf ("CPF: %d.%d.%d-%d", dg[0], dg[1], dg[2], dg[3], i-1);
  4. @kgin Consegui utilizar seu código dentro do meu e ficou interessante demais. Só estou com dificuldades de atribuir ele a um laço de repetição, poderia me ajudar? do { printf("Informe seu CPF: "); scanf ("%s", &ficha[i].cpf); char *cpf = &ficha[i].cpf; mostraCpf(cpf); if (validaCpf(cpf)) { printf("Cpf valido!\n"); } else { printf("Cpf invalido!\n"); } getchar(); } while (); Nesse caso, eu tentei usar o DO-WHILE, porém não consigo inserir algo dentro do "while" que identifique a parte que alega quando o CPF é inválido. A ideia basicamente é: Inseriu o CPF certo, segue para os próximos dados que meu código pedir (CELULAR, DATA DE NASCIMENTO), mas caso o CPF esteja invalido, o usuário tenha que inserir um CPF válido pra seguir em frente.
  5. Eu sempre me confundo se é C / C++, estou tentando me acostumar com isso... Desculpe por te definido o Tópico com a Linguagem errada. Vou editar isso no meu código, obrigado ! Vou dar uma olhada novamente nesse calculo do digito verificador, se eu não conseguir, volto aqui pra pedir uma luz haha Mas fico aliviado de que isso é possível. Eu estava usando INT, depois tentei long long. Não entendi muito bem o que você quis dizer, o que posso fazer nesse caso?
  6. Olá gente, estou estudando a Linguagem C++ e gostaria de saber se é possível validar um CPF puxando este DADO de dentro de uma Struct. • Eu estou querendo testar a possibilidade de chamar esse CPF que terá um valor atribuído dentro da struct, pra uma validação. • Coloquei ele em CHAR porque toda vez que eu tentava mostrar ele na tela lá no final, não funcionava (aparecia um monte de numero aleatorio). • Além disso gostaria de saber se é possível atribuir os PONTOS e TRAÇOS (xxx.xxx.xxx.-xx), fazendo com que eles sejam mostrados na tela lá no final (Forçando o CPF a ficar formatado dessa forma). O código abaixo está funcionando normalmente, vocês podem testar pra verem melhor do que se trata Sou Novo nesse meio então desculpem qualquer erro bobo, dicas serão sempre bem vindas ! #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> #include <locale.h> #define TAM 1 typedef struct { char nome[16]; char cpf[12]; }cadastro; int main (){ cadastro ficha[TAM]; int i, j; long long dig1, dig2, aux; for (i=0; i<TAM; i++) { printf ("\n*** Cadastro %d ***\n", i+1); printf ("Nome: "); scanf ("%30[^\n]s", &ficha[i].nome); fflush(stdin); printf("\nInforme seu CPF: "); scanf ("%s", &ficha[i].cpf); fflush(stdin); } printf ("\n\n*** CONSULTA NO CADASTRO ***\n"); printf ("Escolha uma posicão a exibir (1 a 10): "); // POR ENQUANTO SÓ FUNCIONARA O NUMERO 1 PORQUE EU DEFINI O VETOR TAM = 1, A IDEIA É ARMAZENAR MAIS CONTATOS DEPOIS AUMENTANDO O TAMANHO DO VETOR scanf ("%d", &i); printf ("Nome: %s\n", ficha[i-1].nome); printf ("CPF: %s \n" , ficha[i-1].cpf); }
  7. Olá galera, eu estou tendo um problema bem chato pra ligar 2 monitores, estou apenas conseguindo ligar um e a outra tela permanece sem ser Detectada. Vamos a algumas observações: Recentemente eu conseguia ligar 2 telas, utilizando 2 entradas VGA ( Uma conectada na entrada da placa de video e a outra conectada na entrada da placa-mãe ). Funcionava direitinho ! Minha placa-mãe depois de um tempo veio a ter problemas, levei para o concerto, ela foi concertada e ao voltar eu já não conseguia ligar as 2 telas igual antes. Tudo bem, acabei descobrindo sobre a tal questão de ''ao detectar uma placa offboard, a placa-mãe não libera video'' Fui então testar, ligando 2 entradas na placa de video, uma tela eu conectei na entrada VGA e a outra tela eu conectei na entrada HDMI (utilizando um adaptador) Deu vídeo em apenas um monitor ! Então fiz todos os testes com os cabos, entradas e monitores e percebi que nada estava com problema, só dava problema quando eu tentava conectar duas telas. Atualizei todos os drivers que consegui e mesmo assim continuou o problema. Minha suposição seja mexer em alguma configuração para conseguir detectar uma segunda tela, mas nessa parte sou bem leigo e tenho medo de ferrar meu pc ^^ Minha placa-mãe é uma GIGABYTE B75M-D3H Minha placa de video é uma geforce Gtx 750 ti 2GB Obs2: Já tentei ir nas configurações de tela pela area de trabalho, no painel de controle nvidia ( gerenciar configs 3D e colocar ''modo de desempenho de vários videos'' ) Se tiverem alguma ideia de como fazer com que eu consiga detectar a segunda tela, eu agradeço ! Abraços !

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!