Ir ao conteúdo
  • Cadastre-se

MassakiMsk

Membro Pleno
  • Posts

    470
  • Cadastrado em

  • Última visita

Tudo que MassakiMsk postou

  1. @Eduardo Ribeiro_720097 Utilize ponteiro ao invés de retornar um vetor, fica mais fácil. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> void vetorCaptcha(char *captcha){ int cont; for(cont = 0; cont < 6; cont++){ *(captcha+cont) = 65+rand()%26; } } void captchaDigitado(char *leitura, char *codigo){ int cont; for(cont = 0; cont < 6; cont++){ printf("%c", *(codigo+cont)); } printf("\nPor favor, prove que você não é um robô digitando o código exibido:\n"); fflush(stdin); gets(leitura); fflush(stdin); } int validar(){ int cont, erro; char *leitura=(char*)malloc(6*sizeof(char)); char *codigo=(char*)malloc(6*sizeof(char)); vetorCaptcha(codigo); captchaDigitado(leitura, codigo); erro=0; for(cont = 0; cont < 6; cont++){ if(*(leitura+cont)!=*(codigo+cont)){ erro++; } } if(erro == 0){ return 0; } else{ return 1; } } int main() { srand(time(NULL)); setlocale(LC_ALL,"portuguese"); int verifica; do{ verifica=validar(); if(verifica==0) printf("Acertou!\n\n"); else printf("Errou!\n\n"); }while(verifica!=0); return 0; } Juro q tentei entender seu gerador de captcha, mas é confuso. então só para explicar eu fiz um que gera apenas letras maiúsculas. Se não entender alguma parte pode perguntar.
  2. @Xandrules Use um vetor então. Isso deixa praticamente com tamanho infinito
  3. Eu acho que o If tem que ficar assim para dar certo De 4 em 4 anos é ano bissexto. De 100 em 100 anos não é ano bissexto. De 400 em 400 anos é ano bissexto. Prevalecem as últimas regras sobre as primeiras.[2]
  4. Utilize Long Long Int ao invés de Int para a variável valorint. Ou use vetor, fica mais fácil e há mais possibilidades.
  5. A unica coisa que sei sobre isso é Threads. Nao sei explicar pois nao entendo também como usar isso. Mas parece q threads executam simutaneamente.
  6. utilize Double em vez de Float
  7. A função isupper(char) retorna um valor diferente de zero se for uma letra maiúscula ou retorna zero caso contrário. Funções devem ser usadas com parenteses e o parametro dentro se necessario, então fica assim
  8. O scanf com o %s pega uma string até que o usuário digite enter ou espaço, ou seja, o espaço no meio do nome finaliza a captura da string, mas não sei explicar o motivo pelo qual o loop é finalizado, tente usar esse trecho para receber o nome: esse %*c é para eliminar o lixo do buffer do teclado e o [^\n] é para que seja capturado tudo que o usuário digitar até o \n (enter). Ou use simplesmente um gets: O Gets pega tudo que o usuário digitar até o enter, e o fflush é para limpar o buffer do teclado.
  9. Você tá usando prox como se fosse um membro da estrutura Produto. Mas na sua declaração não tem nenhuma variável chamada prox.
  10. Tente fazer assim Porque que eu saiba precisa fazer a comparação para cada situação. E também na função que calcula a media ponderada você não está dando o retorno do resultado, por isso está imprimindo lixo de memoria.
  11. @1freakday Até parei de responder os posts, estão apagando meus comentários também.
  12. Nessa parte tem dois else seguidos if(Resto==0) { if(D>0 && D<30) { printf("Data VÁLIDA"); } else //// aqui printf("Data INVÁLIDA"); else ///// e aqui { if(D>0 && D<29) { printf("Data VÁLIDA"); } else printf("Data inválida"); } } Aqui também tem erro pois falta um if antes do else if(M=4 || 6 || 9 || 11) { if(D>0 && D<31) { printf("Data VÁLIDA"); else ///aqui printf("Data INVÁLIDA"); } } if(D>0 && D<32) { printf("Data VÁLIDA"); else ///e aqui printf("Data INVÁLIDA"); getch(); } Você tem que ter sempre um if ou um else if antes de um else. Também aconselho a deixar as chaves alinhadas para ser mais fácil encontrar os erros. Se estiver usando o CodeBlocks basta clicar com o botao direito em qualquer parte do código e selecionar "Format use AStyle" que ele organiza seu código inteiro.
  13. Veja se você entende #include <stdlib.h> #include <stdio.h> #include <string.h> #define TAMANHO 10 typedef struct palindromo { char palin[TAMANHO]; char palin2[TAMANHO]; } palindromo; int main() { int i,digitado,num,invertido,digito; palindromo p[TAMANHO]; for(i=0;i<TAMANHO;i++) { do{ printf("Digite a palavra [%d]: ", i); scanf("%s", p[i].palin); if(strlen(p[i].palin)>TAMANHO) { printf("A palavra nao pode ter mais de [%d] caracteres.\n", TAMANHO); } else{ strcpy(p[i].palin2, p[i].palin); strrev(p[i].palin2); if(strcmp(p[i].palin, p[i].palin2)==0) printf("Igual\n"); } }while(strlen(p[i].palin)>TAMANHO); } return 0; } Qualquer duvida me pergunte, essa é a parte que vê se as palavras são palindromos, mas é só para você entender como funciona.
  14. A variável pares na main não foi declarada. pares(vet1) está errado, pois pares não é uma função. Para ver se um número é par você faz Precisa de uma variável do tipo inteiro que guarde a quantidade de pares. O retorno da função está errado, pois ali ele apenas retornaria o primeiro valor par encontrado. O código arrumado: #include <stdio.h> #include<stdlib.h> int par( int v[]); int main (){ int vet1[15] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int pares; pares = par(vet1); printf("%d", pares); system("pause"); system("pause"); return 0; } int par(int v[]){ int i, par=0; for(i=0;i<15;i++) if(v[i] % 2==0){ par++; } return par; }
  15. Se for o valor errado acredito q seja isso... a falta do parenteses na parte do divisor.
  16. @1freakday É que o enunciado diz que a maquina só emite valores inteiros, então acho que não é considerado valores quebrados nesse exercício aí.
  17. Basta você criar uma variável do tipo inteiro para cada valor, onde essas variáveis irão contar a quantidade de notas necessárias (lembre-se de iniciá-las com o valor 0). Crie também uma variável do tipo inteiro para guardar o valor a ser sacado. Depois você faz um ciclo que termina quando o valor for 0. Dentro desse ciclo você coloca um if seguido de vários else if, sendo que cada um vai ter a condição "valor a ser sacado menos valor da nota maior ou igual a zero" (lembre que os if's tem que estar na ordem decrescente de valor da nota), se sim, você aumenta um na variável de valor que está no if e atualiza o valor a ser sacado para "valor a ser sacado menos valor da nota". Acho que dá para entender o que eu quis escrever aqui.
  18. @CiroboyBR Valeu, isso serve, apesar de ser difícil decorar kkkkkkkk
  19. Pessoal, queria saber se tem em C alguma função que retorne o local onde o código está salvo. Pode ser o executável também.
  20. @Larissa Toral Você pode por exemplo usar a variável media logo após a idade ser coletada, fazendo E depois que acabar de receber todas as idades você faz:
  21. for(j=0;j<5;j++) printf("%d ", matriz[0][j]; for(j=0;j<5;j++) printf("%d ", matriz[2][j]; for(j=0;j<5;j++) printf("%d ", matriz[14][j];
  22. É porque você finaliza o ciclo while com a variável idade=0. Daí na hora de fazer média fica 0/cont que é 0. Para fazer a média é só você criar uma variável que armazene a soma de todas as idades. Quanto a porcentagem eu acho que o problema está nesse if: Que deve ser escrito assim:
  23. Para mexer em um ponteiro você tem que somar a posição dele, se não vai ficar só usando a primeira posição. Para acessar o valor: Para receber o valor: Para comparar com a media, porém não é necessário ficar chamando a função média toda vez, é melhor guardá-la em uma variável para não ficar consumindo processo. E tem que ficar dentro de um ciclo for:

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!