Ir ao conteúdo
  • Cadastre-se

Lucca Rodrigues

Membro Pleno
  • Posts

    1.065
  • Cadastrado em

  • Última visita

Tudo que Lucca Rodrigues postou

  1. Olá. Há um tempo criei um tópico semelhante, mas era de um contador up/down 0-30, e não foi resolvido. Sinceramente to bem frustrado com as inúmeras tentativas de fazer funcionar que foram em vão, não tenho mais a quem recorrer, alguém pode me ajudar? Vamos lá: Decidi fazer o contador crescente e decrescente separados, estou usando flip-flops do tipo T. Para o contador crescente, haviam 3 tabelas: a do estado atual, a do próximo estado e a das entradas T dos flip-flops, eu fiz a tabela do próximo estado simplesmente incrementando 1, e quando o estado era 11110 (30) ou 11111 (31), eu mandei para 00000, pois a contagem é de 0 a 30: Para o decrescente, a mesma coisa, porém, eu decrementei 1, e dessa vez para o estado 11110, eu mandei para 11101 (29), e para o estado 11111, mandei para 00000: Estou usando componentes genéricos de simulação, e estou simulando no OrCAD PSpice. O contador é esse, e logo abaixo, eu conectei os circuitos que obtive a partir da tabela, porém, acho que fica muito extenso pra postar aqui: Se quiserem visualizar os circuitos, os links são esses: Crescente: Te, Td, Tc, Tb, Ta. Decrescente: Te, Td, Tc, Tb, Ta. O curioso é que se eu inverto as entradas T quando vou conectar os circuitos, isto é, troco Ta por Te e Tb por Td, aparentemente funciona, segue a imagem do gráfico para o contador crescente que fiz essa inversão: Porém, se não a faço, vejam como fica a contagem:
  2. Olá. Haveria alguma forma de, entre os colchetes do scanset, eu dizer quais conjuntos de caracteres eu quero e não quero? Por exemplo, da seguinte forma, eu defino os conjuntos de caracteres que devem ser lidos: scanf("%[a-z,0-9]", str); E dessa outra forma, eu defino os conjuntos de caracteres que devem ser negados: scanf("%[^a-z,0-9,-]", str); Minha primeira dúvida é se a vírgula é realmente necessária, porque eu testei sem ela e funcionou. Algumas fontes dizem que precisa da vírgula e outras nem a usam. Minha segunda dúvida é se há como especificar quais conjuntos de caracteres devem ser lidos e quais devem ser negados em apenas um scanset. Obrigado desde já!
  3. @Trainn Há vários problemas no seu programa: - Você declarou variáveis do tipo char, e não são strings; - Se o usuário digitar algo no formato DD/MM/AAAA, caso você tivesse declarado strings, só a primeira string armazenaria a data; - Você não precisa do & para ler strings com scanf(); - Está tentando atribuir o valor de retorno de fuc_conversao() à variável resposta (que também não é uma string), mas está imprimindo as variáveis dia, mes e ano, então essa atribuição não serviu de nada; - "janeiro" não é um caractere, é uma string, então não use apóstrofos, você deveria usar aspas. Acho mais fácil declarar inteiros, da uma olhada: #include <stdio.h> int main(){ int dia, mes, ano; printf("Digite uma data no formato DD/MM/AAAA.\n"); scanf("%d/%d/%d", &dia,&mes,&ano); printf("%02d de %02d de %04d",dia,mes,ano); return 0; } Com strings, não seria muito diferente disso aí.
  4. @Duds1994 Você pode pegar todo o conteúdo, exceto a parte da consulta que você quer cancelar, passar para outro arquivo texto, depois deletar o arquivo original com remove() e renomear esse novo arquivo com rename().
  5. @Duds1994 Se foi agendado e armazenado em um arquivo texto, basta buscar por tal agendamento e "deletar" do arquivo. Sim.
  6. @Honório Lucas Parece que você pegou esse código da documentação do Windows, onde tinha lá um exemplo de como criptografar um arquivo, e mudou algumas coisas. Isso explica o motivo dos comentários serem todos em inglês Bem, Imagino que vai ser difícil te ajudarem, tendo em vista que o código nem sequer é seu... Se quiser, mostre aí o que conseguiu fazer por conta própria, que aí nós te ajudamos no que você precisar. Abraço.
  7. @Duds1994 Use o botão Code para postar seus programas: Facilita a visualização... E não se esqueça de escolher a opção "C, C++, C#, Java, Objective C" antes de postar. Caso esteja armazenando dados em um arquivo texto por exemplo, daí você pode anexar o arquivo, mas o código é melhor postar mesmo.
  8. @Daniel Bittencourt Talvez deveria usar a função SetConsoleTextAttribute() da seguinte forma: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), chars | (fundo << 4)); // chars e fundo são 2 variáveis do tipo inteiro Daí você consegue definir a cor do fundo e a do caractere em questão. São essas as cores que você tem acesso: preto 0 azul 1 verde 2 ciano 3 vermelho 4 magenta 5 marrom 6 cinza claro 7 cinza escuro 8 azul claro 9 verde claro 10 ciano claro 11 vermelho claro 12 magenta claro 13 amarelo 14 branco 15
  9. @Julia_Lucia Bom, se fez as alterações que eu disse, então deveria funcionar do jeito que seu código já funcionava, e a única diferença seria que o usuário agora insere o diretório, por exemplo, poema.txt (lembre-se de colocar um .txt no final). Mostre o código.
  10. @Daniel Bittencourt Conseguiu compilar desta forma? O loop for tem uma seção para a inicialização de variáveis, outra para a condição e outra para os incrementos. Não há um ; após a seção de incrementos, mas há um antes da condição. Fora isso, é péssimo tentar interpretar o código de alguém quando não há comentários e o nome das variáveis não querem dizer nada...
  11. @Daniel Bittencourt Sempre tente facilitar o trabalho de quem quer te ajudar. Você pode anexar os arquivos. É simples: se deu algum erro de declaração implícita ou algo do tipo a respeito de uma função, então você não incluiu a biblioteca necessária, daí basta pesquisar onde tal função é definida, e assim você vai aprendendo. Não significa que você tem 100% de certeza que consegue imprimir todos os caracteres ta tabela ASCII só porque estão lá, depende de um monte de coisas, tais como a fonte em uso na console, a code page da console e a de saída também, etc. Veja aí, todos os que eu consigo imprimir a partir do caractere 128, e eu defini a code page da console e a de saída para a 437, contudo, por causa da minha fonte em uso, não consigo imprimir todos os caracteres da "ASCII convencional estendida": Se não pretende compartilhar e está conseguindo imprimir os caracteres que quer, então ok. Como sabe que é a 437? Faça o seguinte: #include <stdio.h> #include <windows.h> int main() { int CP = GetConsoleCP(); printf("Code Page: %d", CP); return 0; } E descubra!
  12. @Daniel Bittencourt Era isso o que deveria acontecer? Pelo visto, você usou o modo r+ na função fopen(), e para este modo, o arquivo deve existir, o que não é o caso para quem quiser testar seu programa. O que é isso? De todas essas aí, você só precisa de duas, e algumas destas que você incluiu fazem parte da biblioteca padrão do C, não do C++. Em geral, se sua postagem não fosse em C++, eu diria que você está programando em C, até porque tudo que fez daria pra ser feito em C. Tem certeza que a code page da console é a 437? Sabe se a fonte em uso na console tem o caractere que precisa? Se funciona em sua máquina, beleza, mas pode não funcionar na dos demais, por isso é importante definir tudo o que precisa, e restaurar depois, já que mudanças na configuração da console permanecem depois da execução do programa.
  13. @gabriel eloi costa Mostre aí o que conseguiu fazer, que aí nós te ajudamos no que você precisar. No mais, é proibido aqui que o usuário só coloque o enunciado sem tentar fazer antes... As pessoas não podem fazer o seu trabalho! Abraço.
  14. @Ryan Henrique Você pode criar uma matriz de comprimento e largura variáveis ou usar alocação dinâmica. Pra esse primeiro caso, o usuário digita 2 valores inteiros e depois você cria uma matriz com comprimento e largura baseados nesses valores.
  15. @Ryan Henrique Mostre aí o que conseguiu fazer, que aí nós te ajudamos no que você precisar. No mais, é proibido aqui que o usuário só coloque o enunciado sem tentar fazer antes... As pessoas não podem fazer o seu trabalho! Abraço.
  16. @Julia_Lucia Onde está a parte de renomear o arquivo no enunciado? Está bem claro lá que o arquivo não pode ser alterado: Veja o protótipo de fopen(): FILE *fopen(const char *filename, const char *mode) O parâmetro filename é a string contendo o nome do arquivo a ser aberto, então é isso o que o programa deverá pedir ao usuário. Você poderia fazer algo assim: char file[101]; printf ("Digite o diretório do arquivo texto:\n"); scanf ("%100s", file); FILE * fs = fopen (file, "r"); if (fs == NULL) { printf("\nNão foi possível abrir o arquivo!"); exit(1); }
  17. @Antonio Calixto Mostre aí o que conseguiu fazer, que aí nós te ajudamos no que você precisar. No mais, é proibido aqui que o usuário só coloque o enunciado sem tentar fazer antes... As pessoas não podem fazer o seu trabalho! Abraço.
  18. @Lucas Virosta A data de hoje é 18/11/2020, considere a data de nascimento 03/09/2001. (dia de hoje >= dia do nascimento E mês de hoje == mês do nascimento) OU mês de hoje > mês do nascimento? Se sim, então faça 2020 - 2001 = 19 anos, caso contrário, faça (2020 - 1) - 2001 = 18 anos.
  19. @Eduardo Ozelame O caminho é esse: Fora isso, eu já disse como a função deve ser feita.
  20. @Kerolaine Jacovani No loop while, você está comparando a variável opt com os caracteres 1, 2 e 0, que correspondem aos decimais 49, 50 e 48, respectivamente. Veja na tabela ASCII. Tente inserir 49, veja que o programa encerra porque opt = 49 = '1', então nenhuma das condições que você estabeleceu são satisfeitas, e ele nem entra no loop while. No entanto, se opt = 1, então logo a primeira condição é satisfeita (opt == 1), porém, acaba entrando no loop while. Aliás, o jeito que você usou a estrutura condicional switch/case está errado, veja nessa referência como usar corretamente.
  21. @bollabong Use 2 loops: um dos loops vai de 1 até n, e o outro, que está dentro deste primeiro, vai de 1 até 10, igual este que você já fez.
  22. @Eduardo Ozelame Dê uma olhada nessa referência, pesquise mais sobre funções. PS: eu vi que você criou 2 outras postagens, e aqui no fórum esperamos que você mostre o que tentou fazer, assim como acabou de mostrar, para que possamos ajudar Faça o mesmo com as outras 2, caso contrário, não terá resposta alguma.
  23. @Eduardo Ozelame Você tem que criar uma função do tipo inteiro, cujo argumento é um número inteiro, que retorna a raiz que você encontrou. O programa parece que funciona, então o que resta é criar essa função.
  24. @Eduardo Cândido iostream faz parte da biblioteca padrão do C++, você só inclui outra biblioteca se precisar usar algo dela, por exemplo, se quiser usar a system(), tem que incluir a cstdlib. Armazene os títulos de eleitor em um vetor, e a cada novo título de eleitor inserido, use um loop para fazer a verificação com todos os elementos do vetor. Se o título inserido for igual à algum título armazenado no vetor, então já votou. Pesquise por algoritmos de ordenação.
  25. @Eduardo Cândido Só uma dica... Tente não simplesmente colocar o enunciado e o código na postagem e esperar que alguém resolva seu problema. Falta dissertação, você só foi falar do seu problema dentro do código por meio de um comentário feito lá, e também, "não consegui fazer" é meio vago. Tente motivar quem está aqui de boa vontade à te ajudar, falar que falta arrumar tal coisa e nada mais acaba fazendo o contrário

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!