MassakiMsk
Membro Pleno-
Posts
470 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que MassakiMsk postou
-
@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.
-
@Xandrules Use um vetor então. Isso deixa praticamente com tamanho infinito
-
Programa que fale se ano e bissexto e seus antecessores e sucessores
MassakiMsk respondeu ao tópico de BlizzarDss em C/C#/C++
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] -
Long Long int, nao Int.
-
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.
-
Exibir mensagem caso usuário demore a digitar
MassakiMsk respondeu ao tópico de Mateus_Sousa em C/C#/C++
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. -
utilize Double em vez de Float
-
Imprimir a frase somente se a primeira letra for maiúscula ?
MassakiMsk respondeu ao tópico de MatheusPJ em C/C#/C++
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 -
Loop termina antes da hora porque li (dentro do loop) uma string com espaço
MassakiMsk respondeu ao tópico de Lucas Ribas em C/C#/C++
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. -
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.
-
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.
-
@1freakday Até parei de responder os posts, estão apagando meus comentários também.
-
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.
-
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.
-
Arquivos - ler um arquivo e determinar o que será mostrado...
MassakiMsk respondeu ao tópico de iLoveProg em C/C#/C++
Não seria: Em vez de: ?? -
Onde esta o erro do meu codigo? (matriz e função)
MassakiMsk respondeu ao tópico de Guilherme Sixe em C/C#/C++
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; } -
Função bhaskara - o que esta de errado com o meu codigo?
MassakiMsk respondeu ao tópico de iLoveProg em C/C#/C++
Se for o valor errado acredito q seja isso... a falta do parenteses na parte do divisor. -
@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í.
-
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.
-
@CiroboyBR Valeu, isso serve, apesar de ser difícil decorar kkkkkkkk
-
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.
-
@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:
-
Imprimir determinada posição de uma matriz
MassakiMsk respondeu ao tópico de Gustavo Bove em C/C#/C++
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]; -
É 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:
-
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