Ir ao conteúdo
  • Cadastre-se

Lucca Rodrigues

Membro Pleno
  • Posts

    1.081
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de Lucca Rodrigues em O básico de MATLAB em 4 dias? foi marcado como solução   
    Olá. Boa noite.
    Uma das minhas disciplinas atuais requere que eu saiba criar simulações usando o Matlab.
    Bem, só estou familiarizado com a linguagem C, então gostaria de perguntar se alguém teria uma sugestão de algo como uma série de vídeos para que eu possa aprender o básico neste feriado de carnaval, então seriam 4 dias pra isso.
    Também agradeço se tiverem sugestões de materiais, pois poderei usar ao longo do curso.
     
    Obrigado desde já!
  2. O post de Lucca Rodrigues em Contador BCD sincrono com FF's JK reinicia sempre no número 7 foi marcado como solução   
    Viram do tipo T:

    Sim.
     
    @Leandro Ribeiro de Souza Quando a entrada de clear é ativada, o flip-flop reseta (nível lógico 0). Você só teria que garantir que os flip-flops sejam resetados quando a contagem estiver em 10... Se a entrada de clear for barrada, então basta uma NAND (só sai 0 quanto todas entradas são 1) de 2 portas pegando Q1 (ou Qb) e Q3 (ou Qd), já que 10 em binário é 1010, e essa combinação de 1's é única. Se não for barrada, troque a NAND por uma AND (só sai 1 quanto todas entradas são 1).
     
    EDIT:
    Se é um contador síncrono, esqueça preset e clear.
    Faça a tabela verdade, MK's, etc. Você precisa entender como se chega naquilo, e então dúvidas como essa:
    vão ser automaticamente respondidas...
  3. O post de Lucca Rodrigues em algoritmo que realize o cálculo de PI para N termos foi marcado como solução   
    @Ieybdcbd Çcldcf O padrão é a main() retornar um int, por isso que normalmente a gente vê um "return 0" no final da main(), que significa que a execução foi bem sucedida.
     
    "N" então é um inteiro positivo, não double como você declarou. O enunciado pede para usar o tipo inteiro:
     
    Por que colocou 1.5 antes do especificador?
    Esse "1" não vai fazer diferença, isso é só pra deixar espaços à esquerda caso o mesmo seja um número maior que a quantidade de caracteres do ponto flutuante que você está imprimindo.
      
    Tentou mudar o tipo de double pra int, e usar o especificador d em vez de lf na scanf()? É só isso o que você tem que fazer a mais pra "funcionar", mas é bom fazer as mudanças que eu mencionei.
     
    Tente se acostumar a usar nomes de variáveis mais autoexplicativos, é fácil e poupa tempo.
    Da uma olhada aí:
    #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int N; int sinal = 1; double denominador = 1; double PI = 0; printf("Insira a quantidade de termos: "); scanf("%d", &N); for(int i = 0; i < N; i++){ PI += sinal * (4 / denominador); sinal = -sinal; denominador += 2; } printf("\nO valor de PI calculado é: %.5lf\n", PI); return 0; }
  4. O post de Lucca Rodrigues em Site de compras Wish é confiável? foi marcado como solução   
    @GabrielGMP Os anúncios são cheios de estratégias para chamar ao máximo sua atenção e/ou te deixar confuso em relação ao produto (daí você acaba comprando algo pensando que é outra coisa), como fotos apelativas e em grande quantidade, várias palavras sem conexão, descrições mal feitas, etc. Em resumo, eles atiraram para todos os lados, e isso parece funcionar pra eles.
    Eu já comprei lá algumas vezes, claro que preferi os anúncios que descreviam o produto com mais clareza, e também é importante ler o feedback de quem já comprou, principalmente os negativos. Como resultado, a maioria chegou com atraso (já que é da China, e alguns não chegaram depois de meses), mas não tive nenhuma surpresa com relação aos produtos, o que foi entregue é o que o pessoal descreveu no feedback, e algumas vezes foi até o que estava descrito no anúncio.
  5. O post de Lucca Rodrigues em Gerando números aleatórios (distribuição normal) foi marcado como solução   
    @Marcos Felipe Lino
    O que é "grupo"? O que é "P"? Seja mais claro, use termos de programação se você está se referindo à tal.
     
    Se vai repetir 20 jogadas 1000 vezes, então jogue 20000 vezes. Da no mesmo, mas nesse segundo caso, só precisa de 1 loop.
     
    O histograma é simples, como eu já havia mostrado:

    Num único lançamento (de uma única moeda honesta), você tem lá 50% de chance pra cada face, e na prática, conforme o valor de 'n' (número de lançamentos) aumenta, a frequência relativa tende a 0.5:

    Entenda, 20000 lançamentos não garantem exatas 10000 ocorrências para cada caso, e eu já dei uma ideia de como você poderia fazer:
    Não sei o que você quer dizer com "fazer um grupo" ou "fazer um histograma", apenas tente fazer isso daí que eu disse, e se quiser desenhar um histograma na console (ou fazer uma função que faça isso), use caracteres do teclado (vai dar trabalho).
  6. O post de Lucca Rodrigues em Gerando números aleatórios (distribuição normal) foi marcado como solução   
    @Marcos Felipe Lino
    O que é "grupo"? O que é "P"? Seja mais claro, use termos de programação se você está se referindo à tal.
     
    Se vai repetir 20 jogadas 1000 vezes, então jogue 20000 vezes. Da no mesmo, mas nesse segundo caso, só precisa de 1 loop.
     
    O histograma é simples, como eu já havia mostrado:

    Num único lançamento (de uma única moeda honesta), você tem lá 50% de chance pra cada face, e na prática, conforme o valor de 'n' (número de lançamentos) aumenta, a frequência relativa tende a 0.5:

    Entenda, 20000 lançamentos não garantem exatas 10000 ocorrências para cada caso, e eu já dei uma ideia de como você poderia fazer:
    Não sei o que você quer dizer com "fazer um grupo" ou "fazer um histograma", apenas tente fazer isso daí que eu disse, e se quiser desenhar um histograma na console (ou fazer uma função que faça isso), use caracteres do teclado (vai dar trabalho).
  7. O post de Lucca Rodrigues em Transistor: O que é ponto q? foi marcado como solução   
    @Jame Kirk
    Parece uma exigência...
    Não é nada como se o próprio Google não lhe respondesse:
    Ponto q - transistor
    Reta de carga - transistor
  8. O post de Lucca Rodrigues em Componente FC1 na serigrafia significa o que? foi marcado como solução   
    @Thiago Miotto É um capacitor de filtro de três terminais 103 (10nF) aparentemente 120V.
    Ta bem difícil de ler esse negócio, mas acho que é isso 
  9. O post de Lucca Rodrigues em Função usando vetores de floats foi marcado como solução   
    @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".
  10. O post de Lucca Rodrigues em Ler arquivos de texto em C foi marcado como solução   
    @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
  11. O post de Lucca Rodrigues em Configurar o codeblocks com uma estrutura básica. foi marcado como solução   
    @abcabc file > new > project > console application > C
    Já aparece assim:

  12. O post de Lucca Rodrigues em icone ascii errado no exe foi marcado como solução   
    @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
  13. O post de Lucca Rodrigues em Renomear arquivos em c foi marcado como solução   
    @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); }
  14. O post de Lucca Rodrigues em Looping para voltar no menu foi marcado como solução   
    @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.
  15. O post de Lucca Rodrigues em Como mostrar a diferença de dois relogios em c. USANDO STRUCT/ linguagem c foi marcado como solução   
    @Alan Andrade
    Exemplo:
    Diferença entre 12:56:48 e 14:34:23.
    (12*3600)+(56*60)+48 = 46608 segundos
    (14*3600)+(34*60)+23 = 52463 segundos
    Subtração:
    52463 - 46608 = 5855 segundos
    Convertendo de volta:
    5855 / 3600 = 1 hora (considerando resultado inteiro)
    (5855 - (1 hora * 3600)) / 60 = 37 minutos (considerando resultado inteiro)
    5855 % 60 = 35 segundos
    A diferença é de 01:37:35
  16. O post de Lucca Rodrigues em Programa em C para ranking foi marcado como solução   
    @Julia_Lucia Não são 5 notas? Por que então os vetores de float surf1, surf2 e surf3 tem espaço para 4 notas somente? A constante MAX deveria ser 5.
    E por que o vetor das médias tem espaço para 2 médias somente? Acho que você não entendeu muito bem como funcionam vetores:
    O primeiro elemento do vetor tem índice 0, o segundo, índice 1, e assim por diante, digamos algo como:
    int notas[5]; Logo, o comprimento desse vetor é 5, começando pelo índice 0 e indo até 4.
     
    O argumento é o vetor de 5 notas, nada mais.
    Você já sabe que o comprimento é 5, então você não precisa que o comprimento seja argumento da função.
    Daí, bastam 2 loops: 1 para obter a maior e a menor nota, outro para efetuar a soma das médias.
     
    O argumento desta outra função é um vetor com as 3 médias, então nada de colocar o tamanho do vetor como argumento de novo.
    Você não precisa dessas variáveis m1, m2 e m3, em vez disso, faça algo como:
    float medias[3]; medias[0] = media(surf1); printf("Média do surfista 1: %.2f\n", medias[0]); medias[1] = media(surf2); printf("Média do surfista 2: %.2f\n", medias[1]); medias[2] = media(surf3); printf("Média do surfista 3: %.2f\n", medias[2]); vencedor(medias);  
    Têm algumas coisas desnecessárias nesse seu programa, como mais da metade das bibliotecas (que não estão em uso), e também aquela função srand() dentro da main(), ela não tem uso nesse programa.
     
    Para fazer a função vencedor(), você pode usar essa árvore de possibilidades:

    Onde 'a' corresponde à medias[0], 'b' corresponde à medias[1] e 'c' corresponde à medias[3].
    Por fim, sua função vencedor() deve ser do tipo void(), já que ela não tem retorno.
     
    Teste isso:
    #include <stdio.h> #include <locale.h> #define MAX 5 // Calcula a média float media (float notas[MAX]) { int maior = 0, menor = 10, i; float media = 0; // Obter maior e menor nota for(i = 0; i < MAX; i++) { if (menor > notas[i]) { /* Se a variável menor for maior que a nota em questão, novo valor é atribuído */ menor = notas[i]; } /* Note que são 2 condições separadas, uma não depende da outra, então nada de if e else */ if (maior < notas[i]) { /* Se a variável maior for menor que a nota em questão, novo valor é atribuído */ maior = notas[i]; } } // Obter a soma for(i = 0; i < MAX; i++) { if(notas[i] != menor && notas[i] != maior){ /* Se a nota for diferente da menor e da maior nota, efetuar a soma */ media += notas[i]; } } media /= 3; return media; } // Calcula o vencedor e imprime na tela o ranking void vencedor (float medias[3]) { // Árvore de possibilidades if (medias[0] > medias[1]){ if(medias[1] > medias[2]){ printf("\n1º lugar = surfista 1 com média %.2f", medias[0]); printf("\n2º lugar = surfista 2 com média %.2f", medias[1]); printf("\n3º lugar = surfista 3 com média %.2f\n", medias[2]); } else if(medias[0] > medias[2]){ printf("\n1º lugar = surfista 1 com média %.2f", medias[0]); printf("\n2º lugar = surfista 2 com média %.2f", medias[2]); printf("\n3º lugar = surfista 3 com média %.2f\n", medias[1]); } else{ printf("\n1º lugar = surfista 1 com média %.2f", medias[2]); printf("\n2º lugar = surfista 2 com média %.2f", medias[0]); printf("\n3º lugar = surfista 3 com média %.2f\n", medias[1]); } } else if (medias[1] > medias[2]){ if(medias[2] > medias[0]){ printf("\n1º lugar = surfista 1 com média %.2f", medias[1]); printf("\n2º lugar = surfista 2 com média %.2f", medias[2]); printf("\n3º lugar = surfista 3 com média %.2f\n", medias[0]); } else{ printf("\n1º lugar = surfista 1 com média %.2f", medias[1]); printf("\n2º lugar = surfista 2 com média %.2f", medias[0]); printf("\n3º lugar = surfista 3 com média %.2f\n", medias[2]); } } else{ printf("\n1º lugar = surfista 1 com média %.2f", medias[2]); printf("\n2º lugar = surfista 2 com média %.2f", medias[1]); printf("\n3º lugar = surfista 3 com média %.2f\n", medias[0]); } } int main(){ setlocale(LC_ALL, "Portuguese"); int i; float surf1[MAX], surf2[MAX], surf3[MAX], medias[3]; // Lê as notas for(i = 0; i < MAX; i++) { printf("Digite a %dº nota do surfista 1: ", i+1); scanf("%f" , &surf1[i]); } printf("\n"); for(i = 0; i < MAX; i++) { printf("Digite a %dº nota do surfista 2: ", i+1); scanf("%f" , &surf2[i]); } printf("\n"); for(i = 0; i < MAX; i++) { printf("Digite a %dº nota do surfista 3: ", i+1); scanf("%f" , &surf3[i]); } // Envia as notas para a função e armazena as médias em um vetor medias[0] = media(surf1); printf("Média do surfista 1: %.2f\n", medias[0]); medias[1] = media(surf2); printf("Média do surfista 2: %.2f\n", medias[1]); medias[2] = media(surf3); printf("Média do surfista 3: %.2f\n", medias[2]); vencedor(medias); return 0; }
  17. O post de Lucca Rodrigues em VHDL - Dificuldade com projeto de Calculadora foi marcado como solução   
    Boa tarde a todos!
    Me foi passada uma atividade para que eu e meu grupo montemos uma calculadora contendo as seguintes operações: soma, subtração, divisão, multiplicação, exponenciação, módulo, resto da divisão e absoluto, além de algumas conversões entre dados.
    Terei que realizar o projeto com a ajuda do simulador online de VHDL e outras linguagens: EDA Playground.
     
    A calculadora deverá contar com 8 casas inteiras e 8 decimais, e bom, minha ideia inicial era utilizar o data type REAL para realizar as operações entre 2 operandos, e eu teria que procurar nos pacotes padrões de VHDL para ver onde essas operações são definidas.
    Até aí tudo bem, contudo, há um porém: deverá ser algo sintetizável, então não posso usar o data type REAL.
    Me foi aconselhado a utilizar o data type std_logic_vector, e pelo o que eu saiba, apenas os pacotes std_logic_signed e std_logic_unsigned da biblioteca ieee contém funções que permitem a realização de operações com vetores de std_logic.
    Acessando este link, pude encontrar as seguintes definições:
     
    std_logic_unsigned:
    function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; function "-"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; function "*"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; std_logic_signed:
    function "ABS"(L: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR; std_logic_arith_ex:
    function "/" (op1, op2 : STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR;  
    Porém, os operadores ** (EXP), REM e MOD, só encontrei nos pacotes math_real, numeric_bit e numeric_std, e nada de operações com std_logic_vector. Este é o problema 1.
     
    O problema 2 é como tratar binário com casas após a vírgula em VHDL, não faço ideia de como fazer isso.
    Sei, por exemplo, converter binário para decimal, já que basta somar as potências em que o bit é 1, e o mesmo vale para binário com casas após a vírgula, já que antes da vírgula, o expoente começa em 0, e depois da vírgula, em -1, então da esquerda para a direita, o expoente é decrementado em 1 a cada novo bit.

    Esta seria uma das conversões essenciais que eu teria que fazer, mas nada disso adianta se eu não puder trabalhar com binário com casas após a vírgula, o que faço para implementar isso com o data type std_logic_vector? Ou não é permitido?
     
    Obrigado desde já por qualquer ajuda!
  18. O post de Lucca Rodrigues em Comando de uma função em C foi marcado como solução   
    @PenseC Veja a tabela ASCII:

    Percebe que o caractere A maiúsculo equivale a 65 em decimal e o A minúsculo, 97?
     
    Agora, vamos ao código:
    Isso se traduz como: caso a variável ch esteja entre as letras A e Z minúsculas, o que será retornado (considerando que sua função é do tipo inteiro) é a variável ch + o valor em decimal de A maiúsculo - o valor em decimal de A minúsculo, isto é, ch + (65 - 97).
    65 - 97 = -32, e observando a tabela ASCII, é notável que a diferença entre as letras maiúsculas e minúsculas é exatamente 32, então, se o caractere em questão for uma letra minúscula, será subtraído 32 de seu valor em decimal para convertê-lo para uma letra maiúscula.
    Acho que seria mais simples apenas retornar ch - 32, não sei pra que essa complicação...
  19. O post de Lucca Rodrigues em Erro de lógica em C foi marcado como solução   
    @carlinhos andrade
    O comportamento de fflush() para fluxos de entrada é indefinido, não o use dessa forma.
    Talvez isso sirva no lugar:
    int ch; do { ch = fgetc(stdin); } while (ch != EOF && ch != '\n'); É o que eu costumo usar, mas claro que existem várias outras formas de limpar o buffer.
    É bem simples: fgetc() lê o caractere presente na posição atual do fluxo interno. Após a leitura, a posição atual é avançada para o próximo caractere, e isso se repete enquanto a condição do while for verdadeira.
     
    É lógica incorreta mesmo.
    Se, por exemplo, eu tenho um vetor com largura 3, e o índice começa em 0, então o mesmo vai até 2.
    Logo, se eu insiro 3 como a quantidade de elementos para o vetor, o índice i tem que começar em x-1, que corresponde a 2, no segundo loop for.
  20. O post de Lucca Rodrigues em Contador de letras em C foi marcado como solução   
    @oTRG
    Você entendeu o que foi feito? Ou só testou o programa sem mais nem menos? 😕
    fgetc() efetua a leitura caractere por caractere até encontrar um \n, porém, se antes encontrar um til, então break entra em ação e sai do loop. Todo o resto é ignorado.
     
    De volta ao enunciado:
    Talvez a condição do while() devesse ser c=fgetc(stdin)!='~', já que os "Enters" devem ser ignorados, e o que vale para sair do loop é o '~'. Se bem que dessa forma também seria necessário apertar a tecla Enter depois de inserir um til...
    Talvez getch() sirva no lugar de fgetc().
     
    Há essa condição também, o texto não pode passar de 200 caracteres (não-nulos).
     
    Dê uma olhada nisso, eu expliquei bem o que se passa no programa com comentários:
    #include <stdio.h> #include <conio.h> #include <locale.h> #include <windows.h> int main() { setlocale(LC_ALL, "Portuguese"); int ch; char letras[201]; // 200 não-nulos + 1 nulo (terminador) int i = 0; printf("Insira os caracteres:\n"); /* Caso o caractere seja o '~' ou a string seja completamente preenchida, então sai do loop while */ while ((ch = getch()) != '~' && i < sizeof(letras) - 1) { if (ch == '\b' && i > 0) { // Caso o usuário dar um backspace printf("\b \b"); i--; letras[i] = '\0'; } if(ch >= 'A' && ch <= 'Z'){ /* Caso sejam letras maiúsculas, converter para minúsculas */ ch = ch + 32; } if(ch >= 'a' && ch <= 'z') { // Imprimindo caractere digitado printf("%c", ch); letras[i++] = (char)ch; } } /* Limpando o buffer de entrada da console, já que é preciso digitar dois '~' para que o mesmo seja impresso, e um deles fica no buffer */ FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); // Finalizando a string letras[i] = '\0'; printf ("\n\nCaracteres inseridos: %s\n", letras); return 0; } Caracteres especiais são então ignorados, e a única coisa que é impressa são letras de A a Z minúsculas. Se são maiúsculas, são convertidas para minúsculas, e se o usuário der um Backspace, a letra anterior é "apagada".
    Depois do loop, eu limpei o buffer com a função FlushConsoleInputBuffer(), já que quando digitamos '~', é preciso apertar a tecla duas vezes para que este caractere seja impresso, deve ser porque é esperado que apertemos uma letra em seguida, para que a mesma fique acentuada.
     
    Bom, o que resta agora é imprimir a quantidade de cada letra. Você já tem a string em mãos, agora é com você
  21. O post de Lucca Rodrigues em Componente para acionamento rápido sem retenção foi marcado como solução   
    @Jimmy 2
    Bom, parece um sensor de vibração, já tentou pesquisar por isso?

  22. O post de Lucca Rodrigues em Contador síncrono de 4 bits up/down no PSpice foi marcado como solução   
    Consegui fazer funcionar.
    Pelo visto eu tinha que ir em edit simulation profile > options > general > DigInitState e mudar de X para 0.
    Ele está contando de 0 a 9 e de 9 a 0 perfeitamente do jeito que eu tinha montado, só tive que alterar o tempo para 90ms em ambos os switches e 180ms na simulação.
  23. O post de Lucca Rodrigues em Como Controlo um Vetor em C?? foi marcado como solução   
    @NLDDHades
    Meio confuso esse modo que você tentou explicar.
     
    Você quer que o usuário entre com os elementos do vetor, e se ele não quiser inserir mais nenhum número, quer que saia do loop? Você pode usar o comando break, mas existem outras formas de fazer isso.
    Não tente imprimir todos os elementos do vetor, porque há a possibilidade do usuário não inserir todos eles, e você não inicializou o vetor com nada, então se quer imprimir, ao menos o inicialize com alguma coisa.
    Um outro problema que eu vi aí é que você redeclarou o índice "i" quando foi inicializar ele no segundo loop for.
    Por fim, se ele digitar os 3 números, o usuário ainda vai ter que dizer se quer ou não continuar, o que não faz muita diferença, então temos que driblar essa possibilidade.
     
    Teste isso:
    #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL, "Portuguese"); int i; int es; int num[3] = {0,0,0}; for(i=0; i<3; i++){ printf("\nEntre com o número %d: ", i+1); scanf("%d",&num[i]); if(i < 2){ printf("\nContinuar: \n1 - Sim\n2 - Nao\n"); scanf("%d",&es); if(es != 1){ break; } } } printf("\nNúmeros:"); for(i=0; i<3; i++){ printf("\n%d",num[i]); } }
  24. O post de Lucca Rodrigues em Porque meu Laço DO WHILE não funciona foi marcado como solução   
    @eduwill
    Faltou o especificador na função printf() e um & na função scanf().
     
    Você declarou muitas variáveis, não prefere usar vetores?
    Também acharia interessante usar a estrutura condicional switch/case para avaliar a variável produto.
  25. O post de Lucca Rodrigues em É possível somar dois contadores no laço FOR? foi marcado como solução   
    Talvez o problema seja você estar incrementando o índice "l" antes mesmo de declará-lo. Primeiro declara-se uma variável para depois usá-la.

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!