Ir ao conteúdo
  • Cadastre-se

Midori

Membro Pleno
  • Posts

    3.563
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. Midori

    Ajuda em programas em C

    Sim, qual é a dúvida?
  2. Em que parte do programa, especificamente, você está tendo dificuldade?
  3. Configure o ambiente para buscar os includes na pasta correta.
  4. Uma forma simples resolver seria char str[] = "teste", *s; s = str; while(*s){ printf("%s\n", s++); s[strlen(s) - 1] = '\0'; }
  5. 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.
  6. 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;}
  7. 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)
  8. 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
  9. Midori

    Arquivo em C

    Já tentou usar a função strcmp para comprar? Quando ao teste, você está passando 0 como segundo argumento da função fgets..
  10. 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.
  11. 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.
  12. 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.
  13. Então você não está incrementando a variável. Dentro do while, coloque i = i + 1 (ou i++)
  14. 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)
  15. 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; }
  16. Você pode armazenar numa matriz e ordernar os elementos
  17. Declare um ponteiro para a estrutura do tipo FILE e use as funções básicas, fopen, fwrite, putc, etc.
  18. 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).
  19. 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");
  20. Qual é a mensagem de erro? Você tem o g++ instalado? Caso não tenha, entre com o comando: sudo apt-get install g++
  21. Se no seu código você utilizou apenas as bibliotecas padrões da linguagem, poderá compilar o mesmo código no g++
  22. Como a variável xsexo receberá apenas um caractere f/m, você só precisa especificar o tamanho do vetor: char xsexo[100]
  23. Midori

    Scanner de portas em C

    Se estiver compilando no windows, use Winsock2
  24. 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!