-
Posts
3.563 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Midori postou
-
Sim, qual é a dúvida?
-
Em que parte do programa, especificamente, você está tendo dificuldade?
-
Configure o ambiente para buscar os includes na pasta correta.
-
Uma forma simples resolver seria char str[] = "teste", *s; s = str; while(*s){ printf("%s\n", s++); s[strlen(s) - 1] = '\0'; }
-
A forma mais simples de resolver é implementar uma função void com dois parâmetros, aí os argumentos passados serão os dois arrays já declarados na função principal.
-
No primeira, passe o ponteiro como argumento da função. Aí vá incrementando em um loop enquanto for diferente de nulo. O retorno da função será o endereço incrementando menos o original. No segundo, é somar os caracteres da string. Por exemplo, a codificação considerando apenas maiúsculas while(*nova++ = *original++){ *(nova - 1) += *(nova - 1) == 90 ? 66 - 90 : 2;}
-
Se você quer informar um nome, no primeiro input, então deve usar uma string. E não um inteiro Então a declaração de x pode ser ser char x[20]. Para receber um nome de até 20 caracteres em scanf("%s", x)
-
Uma alternativa é usar um loop infinito e sair com break logo após o input, aí ficaria assim: int main(){ int r, num, i = 0; srand(time(NULL)); r = rand() % 100; for(;{ printf("Numero[%d]: ", ++i); scanf("%d", &num); if(num == r || i >= 6){ if(num != r){ printf("Game Over: O numero correto e %d\n", r); }else{ puts("Acertou!"); } break; } if(num > r){ puts("Errou: Precisa ser menor"); }else{ puts("Errou: Precisa ser maior"); } } return 0;} Ou você pode colocar um if antes da mensagem de erro, para não exibir nada caso i seja >= 6
-
Já tentou usar a função strcmp para comprar? Quando ao teste, você está passando 0 como segundo argumento da função fgets..
-
Isso acontece pois o input é no início do loop enquanto o incremento e verificação do valor de i, é no final. Então quando o sexto valor é digitado, o restante do bloco while deve processado pela última vez.
-
Quando é usado o caractere especial \n em printf, o cursor vai para a próxima linha. Veja se você não colocou algum a mais.
-
Dessa forma está errada. Quando eu disse dentro do while, é dentro do bloco while... por exemplo do{...i = i + 1;}while(num != r && i < 6);Até dá para incrementar e comprar no mesmo comando, mas não é da forma que você fez.
-
Então você não está incrementando a variável. Dentro do while, coloque i = i + 1 (ou i++)
-
Por exemplo, int r, num, i = 0
-
Declare uma variável do tipo int com o valor 0. Aí é só incrementá-la dentro do loop e acrescentar a condição no while while(num != r && i < 6)
-
O contador do while não funciona corretamente.
Midori respondeu ao tópico de Danilo Lopes em C/C#/C++
O problema aí é que quando i recebe o valor do somador, que será metade da massa que provavelmente será maior que 0.5, já será a condição de parada pois o loop acontece enquanto i < 0.5. Você poderia resolver assim, comparador = massa; while(comparador > 0.5){ comparador /= 2; tempo += 50; } -
Você pode armazenar numa matriz e ordernar os elementos
-
Declare um ponteiro para a estrutura do tipo FILE e use as funções básicas, fopen, fwrite, putc, etc.
-
Primeiro, no scanf do nome retire o operador &. Pois quando a função scanf recebe um vetor de char, o próprio vetor já representa o endereço na memória. Por isso não se deve usar o operador & nesse caso. E no if da mensagem, é claro que a apresentação da mensagem está trocada. Veja: if (media < 5.0){printf ("\nParabéns %s, voce foi aprovado(a) com:%5.0f\n", nomealuno, media );}Se media < 5.0, aprovado... Basta mudar para >= 5.0Mas seu if-else pode ser mais simples, pois basta fazer: if(media >= 50) printf("Parabens %s, voce foi aprovado(a) com a media %.2f\n", nomealuno, media);else printf("%s, voce foi reprovado(a) com a media %.2f\n", nomealuno, media); Sobre a linha int main(int argc, char *argv[])A função main pode ser usada com esses parâmetros para receber argumentos na linha de comando.O parâmetro argc retorna o número de argumentos passados e argv, que é um ponteiro para array de char, o argumento passado (sendo argv[0] o nome do próprio arquivo binário).
-
Declare três variáveis, prova1, prova2 e media, ambas to dipo float. O input das notas será atráves da função scanf. feito isso basta calcular a média media = (prova1 * 0.4) + (prova2 * 0.6)aí é só informar se foi aprovado ou não if(media >= 50) puts("aprovado"); else puts("reprovado");
-
abrir exe programa feito em dev c++ feito no windows em linux fedora ide
Midori respondeu ao tópico de Octavio Queiroz em C/C#/C++
Qual é a mensagem de erro? Você tem o g++ instalado? Caso não tenha, entre com o comando: sudo apt-get install g++ -
abrir exe programa feito em dev c++ feito no windows em linux fedora ide
Midori respondeu ao tópico de Octavio Queiroz em C/C#/C++
Se no seu código você utilizou apenas as bibliotecas padrões da linguagem, poderá compilar o mesmo código no g++ -
][Linked error] undefined reference to, como consertar?
Midori respondeu ao tópico de Juan Peixoto em C/C#/C++
Como a variável xsexo receberá apenas um caractere f/m, você só precisa especificar o tamanho do vetor: char xsexo[100] -
Se estiver compilando no windows, use Winsock2
-
Você está comparando string com char. Já que o input será de caractere, declare char sexo. Além disso faltou o operador << no cout do peso, antes das variáveis M/H
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