Ir ao conteúdo
  • Cadastre-se

Fábio Henrique Borecki

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

8
  1. Pessoal, estou iniciando meus estudos em Java e me deparei com um problema... Estou criando um app para ler alguns dados, conforme código abaixo: package central; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner (System.in); System.out.println("Digite o numero da conta\n"); int numero = sc.nextInt(); System.out.println("Digite o nome do titular da conta"); String nome = sc.nextLine(); //////////////////////// ESSE COMANDO NÃO É EXECUTADO, SIMPLESMENTE PULA System.out.printf("Você Deseja realizar um deposito inicial?\nDigite (S) para sim e (N) para não"); String op = sc.nextLine(); if (op == "S") { /////// ESSA COMPARAÇÃO NÃO FUNCIONA, JÁ TENTEI COM ASPAS SIMPLES E NADA também... System.out.printf("Digite o Valor do deposito inicial"); int deposito = sc.nextInt(); sc.close(); } } } Como escrevi no código, a linha para leitura da variável 'nome' é ignorada, isso me lembrou muito do comando fflush(stdin) em C, que realizava a limpeza do buffer, quando esse tipo de problema acontecia em C. Então gostaria de saber: é realmente problema de limpeza de buffer, ou alguma outra coisa? E se sim, como faço esse comando? Não achei nada esclarecedor na internet... Também não entendo porque meu "if ...==...'S' " não funciona também... Obrigado desde já!
  2. @KXSY Funcionou, mas porque você colocou no rand 100? não deveria obedecer o limite da linha e da coluna? Sobre a IA, sinceramente como esse é o level fácil eu não vou implementar muita coisa, vai ser somente a "jogada" randômica do pc.
  3. Pessoal, estou tentando fazer uma função para um jogo da velha. O jogo terá 3 níveis: fácil, intermediário e o difícil. Até aí ok Estou tentando fazer a fase fácil. Mas antes disso to testando ver como implementar o código do computador não repetir a casa da jogada, vou mostrar o que eu fiz #include <stdio.h> #include <stdlib.h> #include <time.h> int a,b,j,h,c; char jogo[3][3]; void inicializa_velha(){ int a,b; for (a=0;a<3;a++){ for (b=0;b<3;b++){ jogo[a][b]= '-';}}} void main (){ inicializa_velha(); srand(time(NULL)); while (j<10){ a= (rand() % 3) ; b= (rand() % 3) ; if (jogo [a][b] != 'X' || jogo [a][b] != 'O'){ jogo[a][b]= 'X';} for (h=0;h<3;h++){ for (c=0;c<3;c++){ printf ("|%c|",jogo[h][c]); } printf ("\n"); } Já tentei colocar um monte de IF While ou o q for, pra ele só marcar na posição rand que não existe o X, mas nao consigo, olha como eu queria q fosse:
  4. @Herbertbahia char jogador1[10]; char jogador2[10]; //variáveis globais escolha_simb(jogador1,jogador2); // chamada da função dentro do corpo principal.
  5. Oi pessoal Tô tentando criar uma função para implementar em um jogo da velha A função é a seguinte: void escolha_simb(char *jog1, char *jog2){ //funcao para recolher os nomes, utilizando ponteiros if (a>1){ printf ("Você deseja ser o jogador 'X' ou 'O'?"); scanf ("%s",&seletor); if (seletor == 'X'){ printf ("Digite o nome do jogador 'X'"); scanf ("%s",jog1); jog2 = "Computador"; } else { if (seletor == 'O'){ printf ("Digite o nome do jogador 'O'"); scanf ("%s",jog2); jog1 = "Computador"; } } } } Meu problema é: Eu consigo colher o nome do jog1 e jog2, porém nas partes: jog1="computador"; e jog2="computador" ele nao colhe essa frase, o q posso fazer para consertar isso? já usei 'computador' e nada também...
  6. Pessoal, alguém pode me ajudar? É o seguinte, estou fazendo uma lista de exercícios em C. O algoritmo basicamente trata de receber palavras em um vetor de char e guarda-los em um registro, até aí OK Mas uma regra dele é: O usuário vai escrever o seu texto, terminando por uma linha onde ele irá escrever apenas a palavra ‘FIM’ Dessa forma, eu posso escrever XXXXXXXX (enter) YYYYYYYY (enter) FIM (enter) e encerra o programa Então comecei a desenvolver o algoritmo, vou postar aqui a parte que está me dando dor de cabeça: #include <stdio.h> char texto[50]; void main (){ while (texto[0] != 'F' && texto[1] !='I' && texto[2] !='M'){ fgets(a,50,stdin); }} Então, quando eu digito qualquer palavra ok, até q funciona, porém, se eu digitar alguma palavra que contenha essas letras na posição declarada ele encerra o programa Por exemplo AAM -encerra FAA - encerra AIA - encerra porque não está funcionando SOMENTE se eu digitar 'FIM'? visto que nas regras eu estou usando &&. Me ajudem, caso esteja errado, como eu posso fazer para o código parar quando eu digitar essa palavra?("FIM"). Parece uma dúvida boba, mas já estou de cabelo em pé sem saber como implementar isso... Obrigado desde já.

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!