Ir ao conteúdo
  • Cadastre-se

Lucca Rodrigues

Membro Pleno
  • Posts

    1.065
  • Cadastrado em

  • Última visita

Tudo que Lucca Rodrigues postou

  1. @Arley Rufino Dificuldade com o que? Em que parte? Mostre o que tentou fazer para que possamos ajudar.
  2. @Emmanuel_Duarte Você pode tentar dar uma olhada aqui: Os tópicos são em maior parte dúvidas, um exemplo é esse seu. Vale a pena dar uma navegada por aí, você pode encontrar respostas para perguntas que nem pensava em fazer ainda
  3. @Emmanuel_Duarte Na função scanf(), você pode evitar um buffer overflow com um subespecificador para delimitar a largura. Vale ressaltar que scanf() é pra ler entrada formatada: scan formatted data. Em geral, é interessante não usar mais do que você tem (até porque isso não faria sentido), e você pode se prevenir estabelecendo limites, por exemplo, se está lendo uma string, use fgets(), e é bem simples, se delimitar a largura corretamente, não vai ter problemas. No mais, são várias formas de se evitar um buffer overflow, vai depender de que se trata.
  4. @Gamer010 Quais são suas dúvidas? A internet está aí pra isso, ela é uma grande fonte de aprendizado. Fora isso, tenho certeza que existem muitos livros por aí que podem te ajudar, eu indico o livro Sistemas Digitais Princípios e Aplicações por Ronald J. Tocci, Neal S. Widmer, Gregory L. Moss. Boa sorte
  5. @Raimundo Vianna Dev-C++ é um ambiente, não um compilador. Provavelmente o Visual Studio é o que você procura. Se está estudando C++ na faculdade, então seu professor é quem vai te orientar. Fora isso, com certeza existem vários livros a respeito (e gratuitos) por aí, e a internet em si é uma grande fonte de aprendizado. Primeiro a teoria, depois a prática, não há muito mais além disso... Provavelmente é na prática que irão surgir as dúvidas, e o fórum está aí pra isso
  6. @Prof Sandro Mesquita Acho que se você acompanhar a discussão, você consegue fazer... Daí qualquer coisa, você pode perguntar aqui, ou criar uma nova postagem só pra isso
  7. @jccdn Imagino que apenas tenha lido o erro e não tem ideia de que se trata... E não é "expressão que não pode ser usada na função", veja: Ele diz: "expressão não pode ser usada como uma função". Falta um asterisco logo ali depois do 5, que é o operador da multiplicação.
  8. @PenseC Veja: Não há ";" após if ou else. Você pode englobar o que você quer que ocorra caso a condição seja verdadeira com chaves, mas nada de ponto e vírgula. Aliás, "lf" é o especificador de variáveis do tipo double, e você tem lá um float, então use "f".
  9. @RockMagicRevived É C ou C++? Você criou a postagem em C, e o código apresenta recursos do C++. Alguns erros: - O usuário não sabe o que é pra fazer no programa, você não imprimiu nenhuma instrução nem nada do tipo. - O enunciado pede um x real, que poderia ser uma variável do tipo ponto flutuante, e um n natural, que poderia ser uma variável do tipo unsigned int, mas você declarou tudo como float. - O elemento neutro da multiplicação é o 1, e sua variável f foi inicializada com 0, então qualquer coisa vezes f é 0, e você pode verificar isso imprimindo o valor de f após o loop: - Você não está fazendo com que a variável y sempre tenha o mesmo valor de x antes do loop, então você acaba extrapolando um pouco multiplicando y por x sem reestabelecer seu valor:
  10. @PenseC Funcionou dos dois jeitos? Qual era o problema? Talvez apenas não funcionasse caso o txt estivesse vazio ou não estivesse na mesma pasta que a main. Vale ressaltar que se você usar o diretório todo, só vai funcionar na sua máquina.
  11. @aml_matter Veja a tabela verdade da AND: A saída só é 1 quando todas as entradas são 1, e a gente quer que a saída seja 1 para que a saída da OR que eu havia mencionado seja 1, e congele a contagem. Então, no meu caso tenho lá um contador de 5 bits, as entradas da AND são Q4, Q3, Q2, Q1, Q0 e o pulso digital (que é sua chave). O pulso digital deve ser 1 quando você quiser que a contagem congele quando a mesma chegar no final, que no meu caso é 11111 (31 em decimal). Percebe que todas as portas da AND estão em 1 quando a contagem congela? Daí quando o pulso digital for 0, a saída da AND vai ser 0, e então a saída da OR vai ser o clock.
  12. @aml_matter Eu vou te passar uma ideia, e você pode aprimorar ela, porque imagino que o que vou dizer funcione apenas num simulador. Você pode usar uma AND de x portas, onde x é o número de bits + 1, ou seja, as entradas são Qy, Qy-1, Qy-2, ..., Q0 e o bit dessa chave aí. Daí você coloca a saída dessa AND e a saída do clock numa OR, e isso vai pra entrada de clock dos flip-flops. Enquanto todos os bits não forem 1, a saída da OR é o clock, e quando todos os bits forem 1, a saída da AND é 1, então a da OR também, veja nesse diagrama de tempo: 1F em hexa é 31 em decimal e 11111 em binário, vê que todos os bits são 1? Daí a chave é justamente pra saída da AND deixar de ser 1, então a chave vai ter que inicialmente apresentar 1, e depois, na outra posição, 0. Veja como fica o diagrama de tempo, no caso eu usei um pulso digital que é 1 até os primeiros 350ms de simulação, e depois é 0: Note que o circuito é sensível à borda de descida. Sua vez de tentar! Espero ter ajudado.
  13. @Jso53 Muito vaga essa sua pergunta... Não há como saber nada de um suposto CI em um suposto "equipamento" sem o mínimo de informações. Lembre-se, uma foto vale mais que mil palavras! E quanto mais fotos, melhor.
  14. @PenseC Caso você queira inserir o diretório completo, são 2 barras em vez de apenas 1, então esse diretório aí seria algo como: "C:\\Users\\well\\Desktop\\stringteste.txt". E está funcionando sim: stringteste.txt
  15. @abcabc file > new > project > console application > C Já aparece assim:
  16. @Julio Cesar Maia de Carvalho O projeto de um contador síncrono que segue uma ordem, acaba usando mais portas lógicas que um contador assíncrono, mas você nunca precisa usar preset e clear. Quanto ao clock, para contadores síncronos temos o mesmo CLK é ligado em todos os FFs, e para assíncronos, o CLK é colocado apenas no primeiro FF (LSB). O que você entende por máquinas de estado? Monte um diagrama de estados, talvez facilite o problema.
  17. @Daniel Bittencourt system() não funciona aqui pra mim, o que eu costumo usar é isso: #define preto 0 #define azul 1 #define verde 2 #define ciano 3 #define vermelho 4 #define magenta 5 #define marrom 6 #define cinza_claro 7 #define cinza_escuro 8 #define azul_claro 9 #define verde_claro 10 #define ciano_claro 11 #define vermelho_claro 12 #define magenta_claro 13 #define amarelo 14 #define branco 15 void LimpaTela(void) { WORD wColor = ((preto & 0x0F) << 4) + (cinza_claro & 0x0F); HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord = {0, 0}; DWORD cont; CONSOLE_SCREEN_BUFFER_INFO csbi; SetConsoleTextAttribute(hStdOut, wColor); if(GetConsoleScreenBufferInfo(hStdOut, &csbi)) { FillConsoleOutputCharacter(hStdOut, (TCHAR) 32, csbi.dwSize.X * csbi.dwSize.Y, coord, &cont); FillConsoleOutputAttribute(hStdOut, csbi.wAttributes, csbi.dwSize.X * csbi.dwSize.Y, coord, &cont ); SetConsoleCursorPosition(hStdOut, coord); } return; } O que essa função faz é preencher tudo com espaços, e ela também reestabelece a cor do fundo e a dos caracteres para caso tenha usado a função SetConsoleTextAttribute() anteriormente para colorir algo. Pra resumir, FillConsoleOutputCharacter() e FillConsoleOutputAttribute() limpam os caracteres e atributos. Por fim, ela coloca o cursor de volta na posição (0,0). "conseguiu" com uma função que você achou por aí, imagino que não saiba como ela funciona. Está usando a API do Windows, e não é nada muito complexo, o nome das funções são meio que autoexplicativos.
  18. @Cauê Eduardo Eu imagino que seja na carga que você quer medir. Considerando que é um retificador de meia onda, você deve obter algo parecido com isso aqui:
  19. @Cauê Eduardo É só medir a variação da tensão (ripple) na carga.
  20. @luscagarrix Se você usar um especificador na forma %[valor][tipo] na printf(), como %1f, que você usou no seu programa, você estará especificando que o número mínimo de caracteres a serem impressos é 1, e que a variável que deve ser lida é do tipo ponto flutuante. Se você imprime um ponto flutuante sem especificar a quantidade de casas após a vírgula, você vai ter 6 zeros após a vírgula, e com o ponto, são 7 caracteres, então colocar aquele 1 antes do especificador f não tem efeito. Veja um exemplo que tem efeito: #include <stdio.h> int main(){ float num; printf("Digite o valor: "); scanf("%f", &num); printf("%%12f: %12f\n", num); printf(" %%f: %f\n", num); return 0; } E a saída: Digite o valor: 12 %12f: 12.000000 %f: 12.000000 Percebe que com %12f, o número foi deslocado 3 caracteres à direita? Já que 12.000000 tem só 9 caracteres, faltavam mais 3 para completar os 12, então ele foi deslocado 3 caracteres à direita. Daí é outra forma de usar o especificador, se você quer limitar as casas após a vírgula quando for imprimir um ponto flutuante, basta usar da seguinte forma: %.[valor][tipo] #include <stdio.h> int main(){ float num; printf("Digite o valor: "); scanf("%f", &num); printf("%%.2f: %.2f\n", num); return 0; } E a saída: Digite o valor: 1500 %.2f: 1500.00 Note que é usado ponto em vez de vírgula. No nosso país, a gente costuma adotar a vírgula como separador decimal, mas aí não é o caso! Se você quer imprimir na forma 1.500,00, com vírgula como separador decimal e com ponto pra servir de separador de milhar, então pode fazer isso com strings.
  21. @Cristina2000 Retorna 0 se você inserir um valor menor que 40. Você mesma estabeleceu essa condição na sua função. Por que chamou a função antes de imprimir o valor de retorno da mesma? Isso não tem efeito nenhum.
  22. @Luis Vilo É só fazer um loop com isso: você joga, depois o computador joga. Dessa forma, o jogador não pode negar pegar outra carta, porque daí seria muito fácil simplesmente negar até o computador passar dos 7.5 pontos. Parece um jogo de pura sorte... Eu fiz um jogo do 7.5 há um tempo, nele eram sorteadas cartas de início para o jogador e para o computador, e assim, o jogador teria que pensar se vale a pena puxar outra carta para ultrapassar o computador, considerando sua pontuação atual. Considerando que o jogador e o computador têm variáveis que representam a pontuação e a carta sorteada, você pode criar uma estrutura como o @AdrianoSiqueira disse. Outra coisa é a pontuação: o jogador não sabe que carta foi sorteada, porque tudo o que aparece é a pontuação final, e tem um jeito bem simples de imprimir uma carta: printf(" _______ \n"); printf("|%c |\n",cartas[indice]); printf("| |\n"); printf("| |\n"); printf("| |\n"); printf("| %c|\n",cartas[indice]); printf(" ------- "); /* EX: _______ |6 | | | | | | | | 6| ------- */
  23. @naruto100 Não tem nenhuma função main() no seu programa, e também estão faltando as bibliotecas que você usou. Como espera que testemos assim? Então converta de volta. Percorra toda a string com um loop, e se o caractere for um número de 0 a 9, subtraia 48 do mesmo (na tabela ASCII, o valor decimal do caractere 0 é 48, então para os números de 0 a 9, temos um padrão), depois é só concatenar em uma variável do tipo int. Ou então use uma função pronta: atoi(). Não tem fscanf() no seu programa. Fica difícil saber o motivo de não ter conseguido...
  24. @rjjj Será que era isso o que eu estava errando então? Inverti a ordem de tudo na tabela? Porque no seu caso o MSB é o Qa e o LSB é o Qe, e até que faz sentido, eu acabei fazendo ao contrário... Muito obrigado! Então, eu mandei para 0 porque se, por exemplo, as saídas fossem ligadas à um display e tivesse lá um don't care, poderia mostrar qualquer coisa. Conseguiria me dar mais uma ajudinha? Agora já modifiquei as tabelas, os contadores crescente e decrescente funcionam: E agora eu parti para a tabela do contador U/D: Os circuitos são esses: Ta, Tb, Tc, Td, Te. A letra F é o bit up/down, e no circuito, eu fiz o seguinte: Daí eu posso mudar se F é 1 (HI) ou 0 (LO). Mas olhe como fica o gráfico: Não sei o que pode estar errado Novamente, muito obrigado pela ajuda!

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!