Ir ao conteúdo
  • Cadastre-se

1freakday

Membro Pleno
  • Posts

    670
  • Cadastrado em

  • Última visita

Tudo que 1freakday postou

  1. @appdroidmega se quiser postar o código para estudo, o pessoal agradece.
  2. 1freakday

    C Biblioteca math.h em C

    @Willgo nas bibliotecas padrões eu nunca encontrei, mas você pode fazer uma função para ja fazer isso e retornar o resultado, exemplo: #define PI 3.1415926535 double graus_rad(double Graus){ return (Graus * (180.0 / PI)); }
  3. Faltou o default em switch...case, para finalizar digite o num1, depois igual e o num2, ai vai finalizar.
  4. @appdroidmega Primeiro aprenda um pouco sobre como usar os argumentos pela função main. Pois para receber argumentos, o main deve iniciar assim: main(int argc, char *argv[]) Após certa pesquisa você vai entender que ao usar: BAIXAR <argumento>, o programa receberá o argumento através da sua inicialização. O argumento você já deixou claro que irá criar um programa para enviar isso, portanto, antes de executar system... você deve ter esse argumento pronto, por que? Por que você precisa anexar as strings do nome do programa, seja "BAIXAR" e a do site do arquivo, sendo "http://meuarquivo.corp". Para fazer isso use: #include <string.h> #define SITE "http://meuarquivo.corp/" char argumento[100], arquivo[50]; printf("Digite o nome do arquivo: "); scanf("%s", &arquivo); sprintf(argumento, "BAIXAR %s%s", SITE, arquivo); //Agora o argumento contem: BAIXAR http://meuarquivo.corp/<arquivo> //basta enviar para o system Agora na questão do programa que irá baixar, eu recomendo usar o libcurl, facilita muito e você não precisa ficar lidando com sockets.
  5. Tenta elaborar mais essa questão, existe um tópico direto para microcontroladores, o pessoal aqui só conseguira sanar suas duvidas se você postar o seu código e duvidas relacionado a C,C++ ou C#. LEIA ESSE ARTIGO: http://autocorerobotica.blog.br/aprenda-utilizar-o-sensor-de-tensão-com-arduino/
  6. 1freakday

    C Biblioteca math.h em C

    Da uma olhada nesse exemplo: http://www.cplusplus.com/reference/cmath/tan/ Traduzindo o printf: printf ("O tangente do grau %f é %f.\n", param, result );
  7. No codeblocks você pode compilar de duas maneiras, usando um projeto ou usando um arquivo, sendo que: Em um projeto você pode salvar vários tipos de configurações essenciais para melhorar o programa, assim como para controlar(linker, includes, etc). Assim toda vez que você abre ele, é possivel continuar com as mesmas configurações. Mas quando você usa um arquivo, você precisa configurar o codeblocks "inteiro", quando necessário o uso de linker, includes, entre outros, para poder compilar o programa normalmente. Então sabendo que existe esses dois formatos e analisando o seu erro, é necessário que você crie um projeto para poder compilar um projeto.(redundância proposital) Para compilar um arquivo, basta manter o foco sobre o 'main' e ir no compilar. O seu erro quer dizer duas coisas também, ou ja foi compilado e o codeblocks não tem o que fazer, ou você não selecionou o main.
  8. @hermesjunior cria um novo post e mostra seu código e os problemas...
  9. Primeiro você deve declarar duas variáveis, uma para o n e outra para o resultado acumulativo(x): Então use scanf para obter n... Depois você pode usar um for para ir diminuindo o n, até chegar ao 1. No for, as condições seriam: n; n > 0; n++ e a variável acumulativa dentro do for: x = x*n; No final basta imprimir x.
  10. De nada, qualquer coisa pode perguntar, esse ? é meio que um if, serve para verificar determinadas condições, e com sua validação podemos obter um valor, quando verdadeiro ou falso, assim: variavel = condicao ? verdadeido : falso;
  11. Como o salto2 é -4, ao usar: letra = Convert.ToInt32(palavra) + salto2; é volta 4 letras, então, suponho que elas são ignoradas nessa parte. Mude para que aumente 4/8/16 em vez de diminuir.
  12. @erique a lógica é sempre desenhar quando houver alguma atualização, se ficar em um loop é claro que vai repetir, então só usa o draw do fundo quando houver alguma atualização.
  13. O problema é que você não está verificando se o local não foi usando, você apenas verifica se existe o submarino e depois diminui a vida. Antes de mudar o campo, verifique se ele já não foi mudado com if, fiz uma versão com switch para simplificar esses for: #include <stdio.h> #include <stdlib.h> #include <locale.h> struct almirante //Perfil e dados dos jogadores { char nome[100]; int placar; }; void batalha_naval () //Jogo { char campo[14][14]; //Campo int hidro_cont, porta_cont, des_cont; int l, c; int c1 = 0, l1 = 0; int vida = 36; struct almirante jogador; jogador.placar = 0; //Placar hidro_cont = 0; porta_cont = 0; des_cont = 0; char inimigo[14][14] = { //Arena do jogo {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 4}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0}, {4, 4, 4, 0, 0, 0, 2, 3, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0}, {0, 3, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0}, {0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2}, {0, 3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0}, {0, 3, 3, 3, 3, 3, 2, 0, 2, 0, 0, 1, 0, 2} }; //Desenha a arena for(l = 0; l < 14; l = l + 1) { for(c = 0; c < 14; c = c + 1) { campo[l][c] = '~'; printf(" \t%c" , campo[l][c]); } printf("\n"); } //Condição para continuar jogando while (vida != 0) { //Tentativa printf("Vida: %i\n", vida); printf("Informe a linha: "); scanf("%i", &l); printf("Informe a coluna: "); scanf("%i", &c); printf("\n"); if(l < 14 && l >=0 && c < 14 && c >=0 && campo[l][c] == '~'){ switch(inimigo[l][c]){ case 0: campo[l][c] = '*'; printf("Vazio :S\n"); break; case 1: campo[l][c] = 'S'; vida--; printf("Submarino destruido!\n"); break; case 2: campo[l][c] = 'H'; vida--; hidro_cont = (hidro_cont == 3 ? 0 : hidro_cont+1); printf("Hidro-Aviao destruido!\n"); break; case 3: campo[l][c] = 'P'; vida--; porta_cont = (porta_cont == 4 ? 0 : porta_cont+1); printf("Porta-avioes destruido!\n"); break; case 4: campo[l][c] = 'D'; vida--; des_cont = (des_cont == 3 ? 0 : des_cont+1); printf("Destroyer destruido!\n"); break; default: printf("ErrROU!\n"); } } //desenha for(l = 0; l < 14; l = l + 1) { for (c = 0; c < 14; c = c + 1){ printf(" \t%c", campo[l][c]); } printf("\n"); } if(vida == 0){ system("cls"); puts("FIM DO JOGO"); jogador.placar = jogador.placar + 1; printf("Placar: %i", jogador.placar); } } } int main () { setlocale(LC_ALL,"portuguese"); batalha_naval (); system("pause"); return 0; }
  14. O buffer é usado no segundo scanf, então limpe o buffer com fflush, ou coloque assim: scanf(" %c",&s); Outra questão, é que você não pode usar virgula no código para float, o certo é usar ponto, pois é padrão americano, como nas calculadoras atuais: m = (72,7 * h) - 58; //-> m = (72.7 * h) - 58;
  15. A biblioteca string contém funções próprias, desconexo à biblioteca iostream, então caso for manipular strings é importante incluir a string. A string em si, é um template, e é possível que a iostream inclua em seu código no seu compilador, mas em alguns podem não ter a string direta no iostream e quando alguém tentar compilar vai dar erro.
  16. @devair1010 Não sei se é relevante, mas não tem como fazer o código em um for para contar quem tem as menores letras e ir seguindo até determinar qual palavra teve menos contagem, exemplo, tem duas palavras: 1) joao 2) mari j < m -> palavra1++ o > a -> palavra2++, mas como a 'j' já é menor, então não tem necessidade de continuar... só se fossem iguais usando um if: if(palavra1 < palavra2){ //... }
  17. @Antharaz Você pode criar um programa externo que faz essa troca. Quando o programa termina o download do update, ele abre esse programa externo e fecha a si mesmo( usando system() ), então depois que é feito a troca de nome, o programa finaliza o update. Outra opção é usar dll e atualizar elas.
  18. Essa parte aqui nem precisa, como ja é subtraída antes ela não é necessária não, segue: if(campo[l][c] == 'S') { vida = vida - 0; }
  19. @hermesjunior Esse post é de 2011...
  20. @erique esse false/true só é reconhecido no C++, no caso use o arquivo .cpp, se não funcionar, use FALSE/TRUE.
  21. @mosiah santos Aqui esta com a váriavel i, mas em for é k: valorfinaldeloc = Carro[i].valor*dias; //-> valorfinaldeloc = Carro[k].valor*dias;
  22. Veja esse tópico idêntico: https://www.clubedohardware.com.br/forums/topic/1260676-usar-resultado-de-uma-operação-para-a-outra-em-c/
  23. @MarcelloSM Agora inicie a variável resultado com -1, e use um if no inicio do loop para ver se essa variável já foi alterada, ai é só usar ela em vez de scanf("%d",&num1);

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!