Ir ao conteúdo
  • Cadastre-se

April

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

3
  1. Olá! Estava tentando fazer um jogo da velha, mas estou com um problema para determinar o vencedor: o código lê as entradas mas sempre retorna empate. Tentei fazer com base em outro código que vi e não consigo identificar o que fiz de errado. Alguém pode me esclarecer isso? Obrigado! #include <stdio.h> #include <stdlib.h> char mat[3][3]; int fim = 0; int mov = 0; char ent; void inicializa_matriz() { int i, j; for(i = 0; i < 3; i++) for(j = 0; j < 3; j++) mat[i][j]= ' '; } void mostrar_tabuleiro() { int i, x; x = 0; system("clear"); printf(" 0 1 2 "); while(x < 3) { i = 0; printf("\n%d", x); while(i < 3) { if(i == 1) printf("| %c |", mat[x][i]); else printf(" %c ", mat[x][i]); i++; } printf("\n"); if(x < 2) printf(" ____________"); x++; } } void ler_jogada1() { int x, y; printf("Jogador 1 (X) - Insira linha e coluna: "); scanf("%d %d", &x, &y); if (mat[x][y] != ' ') { printf("\nJogada invalida.\n\n"); ler_jogada1(); } else { mat[x][y] = 'X'; } } void ler_jogada2() { int x, y; printf("Jogador 2 (O) - Insira linha e coluna: "); scanf("%d %d", &x, &y); if (mat[x][y] != ' ') { printf("\nJogada invalida.\n\n"); ler_jogada2(); } else { mat[x][y] = 'O'; } } char verifica_vit() { int i; for (i = 0; i < 3; i++) { // verifica linhas if (mat[i][0] == mat[i][1] && mat[i][0] == mat[i][2]) return mat[i][0]; // verifica colunas if (mat[0][i] == mat[1][i] && mat[0][i] == mat[2][i]) return mat[0][i]; } // verifica diagonal principal if (mat[0][0] == mat[1][1] && mat[1][1] == mat[2][2]) return mat[0][0]; // verifica diagonal secundaria if (mat[0][2] == mat[1][1] && mat[1][1] == mat[2][0]) return mat[0][2]; // retorna ' ' se nenhum dos comandos funcionar return ' '; } int main() { int i, j; char resultado = ' '; printf("## JOGO DA VELHA ##\n"); printf("Jogador 1 - X\nJogador 2 - O\n"); inicializa_matriz(); mostrar_tabuleiro(); while(fim == 0) { mostrar_tabuleiro(); ler_jogada1(); mov++; if(mov == 9) break; resultado = verifica_vit(); if(resultado != ' ') break; mostrar_tabuleiro(); ler_jogada2(); mov++; if(mov == 9) break; resultado = verifica_vit(); if(resultado != ' ') break; } char resultado1 = verifica_vit; mostrar_tabuleiro(); if (resultado1 == 'X') { printf("Jogador 1 (X) ganhou!\n\n"); } else if (resultado1 == 'O') { printf("Jogador 2 (O) ganhou!\n\n"); } else { printf("Empate.\n\n"); } return 0; }
  2. Boa noite! Numa parte de um algoritmo que estou tentando fazer, se insere o valor de uma compra (float) e o número de parcelas (int) em que o usuário deseja parcelar o valor previamente fornecido. Supondo que o valor, representado por val, seja 1000 e o número de parcelas (nparc) seja 10, o resultado esperado seria 103, mas ele me retorna 0. Acho que é um erro de conversão, alguém poderia me ajudar? Obrigado! #include <stdio.h> float mParc(float val, int nparc) { float val1 = ((val + (val * 3.00)/100.00))/ (float) nparc; return val1; } int main() { float val, saida; int nparc; printf("valor:\n"); scanf("%f", &val); printf("numero de parcelas:\n"); scanf("%d", &val); saida = mParc(val, nparc); printf("saida: \n%.2f\n", saida); return 0; }
  3. Olá! Ontem minha mãe fez uma compra na Amazon usando o notebook dela e, hoje a tarde, ela recebeu um e-mail do PagSeguro, notificando uma compra realizada no cartão de crédito. A compra foi de moedas num jogo de celular que ninguém daqui joga, ela contestou a compra imediatamente e o cartão dela foi bloqueado. Apesar dela não ter que arcar com nenhum prejuízo, fiquei preocupado com a possibilidade de ter algo no computador dela que tenha possibilitado o vazamento desses dados. Sou leigo no quesito de segurança, mas tenho algum conhecimento sobre computadores e gostaria de saber se posso fazer alguma coisa a respeito. Obrigado!
  4. Olá! Recentemente algumas as teclas z, x, c, n e m do meu notebook deixaram de funcionar. Todas as outras funcionam, menos essas. Já tentei algumas soluções que vi na internet e nada deu certo. Alguém tem ideia do que pode ser? Preciso muito de usá-lo para trabalhar. Grato!
  5. @Isadora Ferraz muito, muito obrigado! Que erro bobo o meu oasijoajsdo
  6. Olá! Comecei a programar recentemente, e estou tentando resolver alguns exercícios. Eu escrevi o código e tal, mas ele não está efetuando as operações. Já tentei de praticamente tudo, o algoritmo roda mas no final não aparece o preço. Alguém pode me indicar o que estou fazendo de errado? Obrigado. #include <stdio.h> main () { char esquina, regiao; float tamanho = 0, preco = 0; printf("Informe, em metros quadrados, o tamanho do terreno que deseja comprar: \n"); scanf("%f", &tamanho); fflush(stdin); printf("Informe a regiao do terreno (Use 'n' para norte e 's' para sul): \n"); scanf("%c", &regiao); fflush(stdin); printf("O terreno fica em uma esquina? (s ou n) \n"); scanf("%c", &esquina); if(regiao == 'n') { preco = tamanho*100; }else if(regiao == 's') { preco = tamanho*150; } if(tamanho>400) { preco = preco+(preco*0.25); } if(esquina == 's'); { preco = preco+600; } printf("O valor a ser pago pelo terreno sera de R$ %f", &preco); return 0; }

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