Ir ao conteúdo
  • Cadastre-se

Ikkyy

Membro Pleno
  • Posts

    33
  • Cadastrado em

  • Última visita

Reputação

11
  1. Uso ventilador de teto no quarto, constantemente. (100% do tempo) A TV e os Computadores não ficam ligados juntos. Quando eu saio do computador e vou pra TV, eu não deixo o PC ligado, e se minha esposa estiver no computador dela, eu vou pra TV da sala. Ela só usa o PC dela nos finais de semana praticamente.
  2. o chão até que é uma opção, mas a última por agora. - Calor vai subir direto na gente, a bancada tem pouco espaço, então provavelmente vou ficar batendo o pé na CPU ou o joelho e perco o espaço de guardar as cadeiras, como eu disse o apertamento aqui é pequeno. Mas será que é tão ruim deixar de tampa aberta como tá agora? costumo tirar a poeira do PC sempre que começa a acumular e no apartamento tem tela, não vem sujeira de fora.
  3. não cabe, teria que mudar muita coisa, principalmente o espaço traseiro dos cabos sobre a bancadinha.
  4. Fala galera, tenho um espaço limitado aqui no apartamento e meu computador e da minha esposa ficam atrás de uma TV, como podem ver na imagem anexada. Os 2 computadores tem 1 Fan na saída traseira, só que tem alguns problemas com isso e acabei comprando 2 fans novas pra isso. Problema que eu identifiquei o Computador da Direita joga ar Quente no da direita. Minha duvida é como organizar melhor esses computadores? Atualmente eu estou inclinado a fazer a seguinte config mas queria uma segunda opinião. PC 1 Esquerda = Tampa Aberta, Fan Traseira e Superior tirando o Ar. PC 2 Direita = Tampa Aberta, 2 Fan Superiores tirando o Ar. (ia mover da traseira pra superior) Ou acham melhor deixar fechado a tampa e colocar fan na frente e atrás?
  5. @devair1010 O loco !! Estou tentando entender em que momento eu inverti isso !! pois funcionava antes hahaha.. Obrigado Devair ajudou pacas, eu nao ia reparar nisso, pois como funcionava antes, eu ignorava. !!
  6. Olá @devair1010 , obrigado pela ajuda. Então na imagem abaixo acontece um sucesso na primeira rodada do laço while/do o problema é na hora de reiniciar esse laço: como pode ver na imagem acima, o laço }while (personagem[1].vida <= 0 || personagem[0].vida <= 0); não foi atingido, afinal os valores estão maiores que 0. esse laço normalmente reinicia lá pro começo do código, no DO, após eu adicionar uns testes extras, ele parou de funcionar como o planejado, não era pra sair do laço, afinal não foi atingido o valor para sair dele. Consegui ver agora?
  7. Fala pessoal, estou estudando Analise e Desenvolvimentos de Sistemas, comprei alguns cursos na internet na linguagem C/C++ pra praticar nas férias e aprender mais sobre a linguagem, inclusive tirei algumas duvidas sobre VisuALG aqui no fórum mesmo, onde o @Simon Viegas me ajudou bastante. Depois te entender bem a lógica do portugol, passei pro C, numa ordem de aprendizado e como eu não gosto dessas questões que aparecem em sites pra treinar a linguagem, eu segui um dica de programar algo que eu goste, sou viciado em jogos, então estou desenvolvendo um sistema simples de rpg based text, apenas para aprendizagem... Porém estou com um problema que não consigo identificar, estou uns 3 dias tentando resolver, antes de pedir ajuda. Segue meu código completo: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> // define estrutura da ficha do personagem struct ficha { char nome[20]; int forca; int habilidade; int vitalidade; int armadura; int vida; int level; int experiencia; }; struct ficha personagem[10]; //cria o personagem void criacao(){ int forcatotal; while(forcatotal != 7){ printf("Digite o nome do seu Personagem:"); scanf("%s", &personagem[0].nome); printf(" voce tem 7 pontos para distribuir na ficha do seu personagem. \n As caracteristicas sao: Forca, Habilidade, Vitalidade e Armadura.\n Quantos pontos voce gostaria de por em Forca? :"); scanf("%i", &personagem[0].forca); printf("em Habilidade?"); scanf("%i", &personagem[0].habilidade); printf("em Vitalidade?"); scanf("%i", &personagem[0].vitalidade); printf("em Armadura?"); scanf("%i", &personagem[0].armadura); //soma os pontos para conferencia forcatotal = personagem[0].forca + personagem[0].habilidade + personagem[0].vitalidade + personagem[0].armadura; //checa se todos os pontos foram distribuidos if (forcatotal > 7){ system("CLS"); printf("voce gastou mais que 7 pontos, crie novamente o seu personagem[0].\n\n" ); } if (forcatotal < 7){ system("CLS"); printf("voce gastou menos que 7 pontos, crie novamente o seu personagem[0].\n\n"); } if (forcatotal == 7){ system("CLS"); printf("Personagem criado com sucesso.\n"); personagem[0].vida = personagem[0].vitalidade * 5; personagem[0].experiencia = 0; personagem[0].level = 1; if (personagem[0].vida == 0){ personagem[0].vida = 1; } mostra(); system("pause"); system("CLS"); } } } // mostra ficha do personagem int mostra() { printf("Nome do Personagem: %s \n", personagem[0].nome); printf(""); printf("Forca: %i \n", personagem[0].forca); printf("Habilidade: %i \n", personagem[0].habilidade); printf("Vitalidade: %i \n", personagem[0].vitalidade); printf("Armadura: %i \n", personagem[0].armadura); printf(""); printf("Pontos de Vida: %i \n", personagem[0].vida); printf("Pontos de Experiencia: %i \n", personagem[0].experiencia); system("pause"); system("CLS"); return 1; } // inimigos int inimigos(){ strcpy (personagem[0].nome, "Ikkyy"); personagem[0].forca = 3; personagem[0].habilidade = 3; personagem[0].vitalidade = 1; personagem[0].armadura = 1; personagem[0].vida = personagem[0].vitalidade * 5; strcpy (personagem[1].nome, "Coelho Selvagem"); personagem[1].forca = 1; personagem[1].habilidade = 2; personagem[1].vitalidade = 1; personagem[1].armadura = 1; personagem[1].vida = personagem[1].vitalidade * 5; strcpy (personagem[2].nome, "Goblin Sorrateiro"); personagem[2].forca = 1; personagem[2].habilidade = 2; personagem[2].vitalidade = 1; personagem[2].armadura = 2; personagem[2].vida = personagem[2].vitalidade * 5; strcpy (personagem[3].nome, "Esqueleto Guerreiro"); personagem[3].forca = 3; personagem[3].habilidade = 1; personagem[3].vitalidade = 2; personagem[3].armadura = 1; personagem[3].vida = personagem[2].vitalidade * 5; return 1; } int combate(){ inimigos(); // encontra o inimigo printf("\nVoce encontrou um %s \n", personagem[1].nome); printf("\n Deseja Atacar ou Correr?"); printf("\n1- Atacar"); printf("\n2- Correr\n"); int decisão = 0; scanf("%i", &decisão); if (decisão == 1){ // entra no laco sobre vida // personagem 1 x personagem 0 do { int dado[6], i, x, y, dano, defesa; dado[0] = 0; dado[1] = 0; dado[2] = 0; dado[3] = 0; dado[4] = 0; dado[5] = 0; x = 0; y = 0; printf("\nOs resultados dos dados de Habilidade foram:"); for (i = 0; i < personagem[0].habilidade; i = i + 1){ srand((unsigned) time(NULL)); dado[i] = (rand() % 6) + 1; //mostra os dados separados printf(" %i", dado[i]); } if (dado[0] >= 5|| dado[1] >= 5 || dado[2] >= 5 || dado[3] >= 5 || dado[4] >= 5 || dado[5] >= 5){ printf("\nOs resultados dos dados de Ataque foram:"); srand((unsigned) time(NULL)); // calcula os dados de ataque for (i = 0; i < personagem[0].forca; i = i + 1){ dado[i] = (rand() % 6) + 1; //mostra os dados separados printf(" %i", dado[i]); x = dado[i] + x; } // soma os dados printf("\nA soma dos seus Dados de Ataque foi: %i", x); // // calcula os dados de defesa printf("\n Os resultados dos dados de Defesa foram:"); srand((unsigned) time(NULL)); // calcula os dados de defesa do inimigo for (i = 0; i < personagem[1].armadura; i = i + 1){ dado[i] = (rand() % 6) + 1; printf(" %i", dado[i]); y = dado[i] + y; } // soma os dados printf("\nA soma dos Dados de Defesa foi: %i", y); dano = x - y; // calcula diferenca entre ataque e defesa printf("\n%s recebeu %i de dano", personagem[1].nome, dano); // dano menor ou igual a zero, nao da dano if(dano <= 0){ printf("\nVoce nao causou dano ao inimigo."); // dano sendo maior que 0, calcula a vida restante. }else{ personagem[1].vida = personagem[1].vida - dano; // printf("\nVoce atacou ele com sua forca e deu %i de dano.", dano); printf("\nAgora o %s tem %d de vida.", personagem[1].nome, personagem[1].vida); } // se defensor estiver sem vida, acabou. if(personagem[1].vida <= 0){ printf("\nVoce derrotou %s \n", personagem[1].nome); printf("\nVoce ganhou 5 pontos de experiencia.\n"); system("pause"); personagem[0].experiencia += 5; if (personagem[0].experiencia >= 10) { experiencia(); } system("CLS"); break; } }else{ printf("\n voce nao acertou o %s .\n", personagem[1].nome); } // Defesa x = 0; y = 0; dado[0] = 0; dado[1] = 0; dado[2] = 0; dado[3] = 0; dado[4] = 0; dado[5] = 0; printf("\nOs resultados dos dados de Habilidade foram:"); for (i = 0; i < personagem[1].habilidade; i = i + 1){ srand((unsigned) time(NULL)); dado[i] = (rand() % 6) + 1; //mostra os dados separados printf(" %i", dado[i]); } if (dado[0] >= 5|| dado[1] >= 5 || dado[2] >= 5 || dado[3] >= 5 || dado[4] >= 5 || dado[5] >= 5){ printf("\nOs resultados dos dados de Ataque do %s foram:", personagem[1].nome); srand((unsigned) time(NULL)); for (i = 0; i < personagem[1].forca; i = i + 1){ dado[i] = (rand() % 6) + 1; printf(" %i", dado[i]); x = dado[i] + x; } printf("\nA soma dos Dados de Ataque do %s foi: %i", personagem[1].nome, x); printf("\n Os resultados dos seus dados de Defesa foram:"); srand((unsigned) time(NULL)); for (i = 0; i < personagem[0].armadura; i = i + 1){ dado[i] = (rand() % 6) + 1; printf(" %i", dado[i]); y = dado[i] + y; } printf("\nA soma dos Dados de Defesa foi: %i", y); dano = x - y; printf("\n%s recebeu %i de dano", personagem[0].nome, dano); if(dano <= 0){ printf("\nNao causou dano."); }else{ personagem[0].vida = personagem[0].vida - dano; // printf("\nVoce atacou ele com sua forca e deu %i de dano.", dano); printf("\nAgora voce tem %d de vida.", personagem[0].vida); } if(personagem[0].vida <= 0){ printf("\nVoce foi derrotado %s \n", personagem[0].nome); gameover(); exit(0); } }else{ printf("\n %s nao te acertou.\n", personagem[1].nome); } }while (personagem[1].vida <= 0 || personagem[0].vida <= 0); } } int experiencia() { system("CLS"); personagem[0].experiencia = 0; printf("\nVoce subiu de level !!"); printf("\nQual atributo voce gostaria de melhorar? !!"); printf("\n 1- Forca?"); printf("\n 2- Habilidade?"); printf("\n 3- Vitalidade?"); printf("\n 4- Armadura?"); int decisao2 = 0; scanf("%i", &decisao2); if(decisao2 == 1){ personagem[0].forca += 1; printf("\nVoce aumentou sua forca!"); } if(decisao2 == 2){ personagem[0].habilidade += 1; printf("\nVoce aumentou sua habilidade!"); } if(decisao2 == 3){ personagem[0].vitalidade += 1; personagem[0].vida += 5; printf("\nVoce aumentou sua Vitalidade. \n Pontos de Vida: +5!\n"); } if(decisao2 == 4){ personagem[0].armadura += 1; printf("\nVoce aumentou sua Armadura!"); } return 1; } int gameover() { printf("\n _____ _____ _____ _____ _____ _____ _____ _____ "); printf("\n| __| _ | | __| | | | | __| __ |"); printf("\n| | | | | | | __| | | | | | __| -|"); printf("\n|_____|__|__|_|_|_|_____| |_____| ___/|_____|__|__|\n"); return 0; } //sair do jogo void sair() { printf("Tchau !!\n"); } int main() { { int continuar = 1; do { // menu inicial printf("+++++++++++++++++++++++++++++++++++"); printf("\n"); printf("++++++++ Meu Poderoso RPG +++++++++"); printf("\n"); printf("++++++++ 1. Criar Personagem ++++++"); printf("\n"); printf("++++++++ 2. Ver Personagem ++++++++"); printf("\n"); printf("++++++++ 3. Jogar +++++++++++++++++"); printf("\n"); printf("++++++++ 0. Sair ++++++++++++++++++"); printf("\n"); printf("+++++++++++++++++++++++++++++++++++"); printf("\n"); scanf("%i", &continuar); system("CLS"); switch(continuar) { case 1: criacao(); break; case 2: mostra(); break; case 3: combate(); break; case 0: sair(); break; default: printf("Digite uma opcao valida\n"); } } while(continuar); } return 0; } Alguns valores já estão inseridos apenas para testes, para chegar no meu problema, Execute o código, aperta 3 para Jogar, nas situações que o Coelho Selvagem é derrotado, tá certo, o problema é no final dos testes de habilidade tanto do personagem[0] e do [1] , ele encerra o laço após e não volta no meu while/do. Isso começou a acontecer depois que acrescentei o teste de habilidade no combate. Se alguém puder me apontar o problema. é bem provável que meu código pode ser muito aprimorado, mas não é o caso, quero aprender passo a passo sem pular etapas. Obrigado pela atenção. EDIT: Aproveitar pra tirar uma duvida, quando eu vou usar um valor random (rand) eu sempre preciso por o srand((unsigned) time(NULL)); ou ele só precisa ser lido uma vez durante a execução de um código?
  8. Ikkyy

    C Valor de Soma Diferente

    @Mauro Britivaldocaraca, algo estão simples, sabe me explicar porque isso acontece em algumas maquinas e em outras nao? como eu disse, um amigo rodou o codigo identifico e obteve o resultado desejado.
  9. int dado (){ int dado[30], i, x; printf("Os resultados dos dados foram:"); srand((unsigned) time(NULL)); for (i = 0; i < 3; i = i + 1){ dado[i] = (rand() % 6) + 1; printf(" %i", dado[i]); x = dado[i] + x; } printf("\nTotal %d", x); } int main(){ dado(); return 0; } Fiz esse código pra simular uma rolagem de 3 dados 6 faces (ignorem o tamanho da array). Porém o output do x, vem com um numero maior(acredito que seja octal). quando eu coloco o mesmo código dentro do int main, ele funciona direitinho, porém estou tentando rodar ele fora, em uma void ou int. Estranhamente passei o mesmo código para um amigo e no dele deu o resultado certo. Alguem tem uma luz doq pode estar acontecendo? Obrigado pela atenção !
  10. algoritmo "tabuada" var i,num:inteiro inicio escreva("escreva um numero de 1 a 10: ") leia(num) para i de 0 ate 10 faca escreval (num," x",i," =",i*num) fimpara fimalgoritmo Tentei ajudar e incrementar um pouco.. com o escreval fica melhor organizado um resultado por linha, facilitando a leitura do resultado. dentro das strings " " foi adicionado um espaço para alinhar.
  11. Eu ia fazer esquema pra digitar o cpf do cliente, ele buscar no registro e voltar com os dados do cliente, cruzando as informações de cada registro, mas já fiz tanto código pra esse trabalho e tenho outro pra finalizar.. tá corrido, mas tá super legal aprendendo horrores. Só falta essa parte que nao faz sentido o erro pra mim.. essa parte locacao[codLoca].valor_final2 <- locacao[codLoca]valor_final + locacao[codLoca]valor3
  12. @Simon Viegas estou postando parcial, só na minha duvida mesmo, o trabalho vou entregar hoje e não queria que aparecesse outro igual e o professor anular por plágio ou algo assim.
  13. Surgiu outra dúvida se puder me ajudar @Simon Viegas Seguindo os mesmos moldes do outro caso 3 se (codClass <= 10) então repita escreval ("Digite o nome da classificação: ") leia (classificacao[codClass].nome) escreval ("Digite o Valor: ") leia (classificacao[codClass].valor) escreval ("Classificação Cadastrada com Sucesso!") escreval ("") escreval ("Código do Classificação:", codClass) escreval ("Nome:", classificacao[codClass].nome) escreval ("Valor: R$ ", classificacao[codClass].valor) escreval ("") se (codAuto < 10 ) então escreval ("Gostaria de cadastrar outra Classificação? (S/N)") leia (x) escreval ("") senao x <- "N" fimse ate (x = "N") senao escreval ("Operação inválida: não é possível exceder o limite de 10 automóveis cadastrados :)") escreval ("") fimse tipo cadastro_classificacoes=registro nome: caractere valor: inteiro fimregistro Var classificacoes: vetor [1..10] de cadastro_classificacoes Não estou conseguindo prefinir valores para os vetores 1 ao 3 desse registro. classificacoes[1,1] <- "Básico" classificacoes[1,2] <- 50 Acho que consegui, durante eu redigia a duvida..
  14. @tainabosio o que eles querem dizer, que basicamente é que não vão fazer o trabalho todo pra você. Você tem que se exercitar, pensar, compreender e planejar seu código... quando voce tiver uma dificuldade no código, os membros do fórum vão te ajudar, ou seja voce precisa começar o código, começar a declarar as variaveis, etc
  15. Coloquei o código no começo do código, ou seja, só vai incrementar quando entrar no registro do cliente, já que ele foi incrementado no começo, não precisa ser feito na saida em nenhum dos casos. Era isso? edit; codigoC <- 0 (começando do 0) se (codigoC <= 10) então repita codigoC <- codigoC + 1 escreval ("Digite o nome: ") leia (clientes[codigoC].nome) escreval ("Digite o RG: ") leia (clientes[codigoC].rg) escreval ("Digite o CPF: ") leia (clientes[codigoC].cpf) escreval ("Digite o endereço: ") leia (clientes[codigoC].cendereco) escreval ("Digite a data de nascimento: ") leia (clientes[codigoC].data_nascimento) escreval ("Digite a carteira de habilitação: ") leia (clientes[codigoC].carteira_hab) escreval ("") se (codigoC < 10 ) então escreval ("Gostaria de cadastrar outro cliente? (S/N)") leia (x) escreval ("") senao x <- "N" fimse ate (x = "N")

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...