Ir ao conteúdo
  • Cadastre-se

ommani

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

Reputação

7
  1. @vangodp Valeu pela ajuda, é mais simples do que eu imaginava.
  2. Olá, fiz um programa que realiza a sequencia de fibonacci e gostaria de saber como coloco o resultado dela em um arquivo. Alguém pode me ajudar? Segue o código #include <cstdio> #include <fstream> #include <iostream> using namespace std; // A serie de fibonacci é uma sequência de números onde os dois primeiros elementos da série são iguais a 1 e os posteriores formados pela soma dos dois elementos anteriores // por exemplo: se você entrar com o limite 3 a sequencia vai ser 1, 1 e 2 int a = 0, b = 1, t = 0, limite = 0; void fibonacci (){ while (b < limite) { cout <<"\n" << b; t = a; a = b; b = t + b; } } int main() { cout << "Entre com o limite da serie de fibonacci: "; cin >> limite; fibonacci(); return 0;
  3. ommani

    C++ Jogo da velha C++

    @giu_d Tá tudo ok sim, nossa moço muito obrigada pela ajuda viu. Valeu mesmo
  4. ommani

    C++ Jogo da velha C++

    @giu_d Oi. Esse jeito que você fez realmente ficou muito mais simples, o meu deu mais de 200 linhas. Ainda estou tentando arrumar o outro, devo estar fazendo alguma coisa errada, mas vou tentar usar essa logica mais simples. Muito obrigada pela ajuda. adicionado 11 minutos depois @giu_d Eu fiz com as dicas que você me passou, mas acho que não fiz corretamente porque fica aparecendo a mensagem de velha a cada jogada e já caindo no loop para jogar de novo. Vou colocar o código pra você ver. #include<iostream> #include<stdlib.h> #include<stdio.h> using namespace std; #define DIM 3 char matriz[DIM][DIM]; int i, j; char p1, p2; int ganhou = false; int jogada=0, turno=1; int certo=false, fim=false; int v1 = 0, v2 = 0; void escolha_jogador() { while (certo == false) { cout << "-----------------------------------------" << endl; cout << " JOGO DA VELHA " << endl; cout << "-----------------------------------------" << endl; cout << endl; cout << "JOGADOR 1 ESCOLHA X OU O: \n\n"; fflush(stdin); cin.get(p1); if ((p1== 'X')||(p2== 'x')) { p1 = 'X'; p2 = 'O'; certo = true; } else if ((p1 == 'o')||(p1 =='O')) { p1 = 'O'; p2 = 'X'; certo =true; } else if ((p1 != 'x' || p1 != 'o')||(p2 != 'X '|| p2 != 'O')) { cout << "voce DIGITOU UM VALOR INVALIDO"<< endl; certo = false; } } cout << "\n\nJOGADOR 1 ESCOLHEU " << p1; cout << "\n\nJOGADOR 2 ESCOLHEU " << p2; } void elementos_matriz() { for (i=0; i<DIM; i++) for (j=0; j<DIM; j++) matriz[i][j] = ' '; } void escreve_matriz() { system("cls"); cout << "-----------------------------------------" << endl; cout << " JOGO DA VELHA " << endl; cout << "-----------------------------------------" << endl; cout << endl; cout << "\n\nJOGADOR 1 ESCOLHEU " << p1; cout << "\n\nJOGADOR 2 ESCOLHEU " << p2; cout << "\n\n\n\n"; cout << "\n" << "\t0 1 2\n\n\n"; cout << " 0" << "\t"; cout << matriz[0][0] << " | " << matriz[0][1] << " | " << matriz[0][2] << "\n" << " \t--|---|--\n"; cout << " 1" <<" \t"; cout << matriz[1][0] << " | " << matriz[1][1] << " | " << matriz[1][2] << "\n" << " \t--|---|--\n"; cout << " 2" <<" \t"; cout << matriz[2][0] << " | " << matriz[2][1] << " | " << matriz[2][2] << "\n" <<endl; } int jogadas() { certo=false; if(fim==false) { if (turno==1) { while (certo == false) { cout << "\n\nESCOLHA A LINHA E COLUNA QUE DESEJA JOGAR (exemplo 0 1): \n\n"; cin >> i >> j; if(matriz[i][j]== ' ') { matriz[i][j]=p1; certo=true; turno=2; escreve_matriz(); } else cout << "JOGADA INVALIDA"; } } else if (turno==2){ certo =false; while (certo == false){ cout << "\n\nESCOLHA A LINHA E COLUNA QUE DESEJA JOGAR (exemplo 0 1): \n\n"; cin >> i >> j; if (matriz[i][j] == ' '){ matriz[i][j]=p2; certo = true; turno=1; escreve_matriz(); } else cout << "JOGADA INVALIDA"; } } } } bool verifica_ganhador () { if ((matriz[0][0]==matriz[0][1])&&(matriz[0][1]==matriz[0][2])&&(matriz[0][0]!=' ')) { return true; } else if ((matriz[1][0]==matriz[1][1])&&(matriz[1][1]==matriz[1][2])&&(matriz[1][0]!=' ')) { return true; } else if ((matriz[2][0]==matriz[2][1])&&(matriz[2][1]==matriz[2][2])&&(matriz[2][0]!=' ')) { return true; } if ((matriz[0][0]==matriz[1][0])&&(matriz[1][0]==matriz[2][0])&&(matriz[0][0]!=' ')) { return true; } else if ((matriz[0][1]==matriz[1][1])&&(matriz[1][1]==matriz[2][1])&&(matriz[0][1]!=' ')) { return true; } else if ((matriz[0][2]==matriz[1][2])&&(matriz[1][2]==matriz[2][2])&&(matriz[0][2]!=' ')) { return true; } if ((matriz[0][0]==matriz[1][1])&&(matriz[1][1]==matriz[2][2])&&(matriz[0][0]!=' ')) { return true; } else if ((matriz[0][2]==matriz[1][1])&&(matriz[1][1]==matriz[2][0])&&(matriz[0][2]!=' ')) { return true; } return false; if (ganhou == true) { if (turno==1) { cout << "PARABENS JOGADOR 2 voce VENCEU!!\n\n"; v2++; } else if (turno == 2) { cout << "PARABEN JOGADOR 1 voce VENCEU!!\n\n"; v1++; } } } bool empate() { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (matriz[i][j] != ' ') return true; cout << "DEU VELHA!!!\n\n"; fim = true; } } return false; } void jogo() { escolha_jogador(); elementos_matriz(); escreve_matriz(); jogada=0; do{ jogadas(); jogada++; escreve_matriz(); if (verifica_ganhador()) { ganhou = true; } else if (empate()){ ganhou = false; }; }while ((jogada<=9)&&(ganhou==false)); } int main() { jogo(); char novo; while (novo!='n') { cout << "\nDESEJA JOGAR NOVAMENTE 's' OU 'n' ? \n\n"; fflush(stdin); cin.get(novo); if (novo=='s'){ jogo(); } } cout << "\n\t PONTUACAO: \n\n"; cout << "O JOGADOR 1 OBTEVE " << v1 << " VITORIAS\n\n"; cout << "O JOGADOR 2 OBTEVE " << v2 << " VITORIAS\n\n"; cout << "PRECIONE QUALQUER TECLA PARA SAIR"; cin.get(); } Vou botar o código de antes de fazer as alterações que você sugeriu aqui também as vezes você pode me dizer o que fiz de errado na hora de tetar arrumar. #include<iostream> #include<stdlib.h> #include<stdio.h> using namespace std; #define DIM 3 char matriz[DIM][DIM]; int i, j; char p1, p2; int ganhou = false; int jogada=0, turno=1; int certo=false, fim=false; int v1 = 0, v2 = 0; void escolha_jogador() { while (certo == false) { cout << "-----------------------------------------" << endl; cout << " JOGO DA VELHA " << endl; cout << "-----------------------------------------" << endl; cout << endl; cout << "JOGADOR 1 ESCOLHA X OU O: \n\n"; fflush(stdin); cin.get(p1); if ((p1== 'X')||(p2== 'x')) { p1 = 'X'; p2 = 'O'; certo = true; } else if ((p1 == 'o')||(p1 =='O')) { p1 = 'O'; p2 = 'X'; certo =true; } else if ((p1 != 'x' || p1 != 'o')||(p2 != 'X '|| p2 != 'O')) { cout << endl; cout << "voce DIGITOU UM VALOR INVALIDO" << endl; certo = false; } } cout << "\n\nJOGADOR 1 ESCOLHEU " << p1; cout << "\n\nJOGADOR 2 ESCOLHEU " << p2; } void elementos_matriz() { for (i=0; i<DIM; i++) for (j=0; j<DIM; j++) matriz[i][j] = ' '; } void escreve_matriz() { system("cls"); cout << "-----------------------------------------" << endl; cout << " JOGO DA VELHA " << endl; cout << "-----------------------------------------" << endl; cout << endl; cout << "\n\nJOGADOR 1 ESCOLHEU " << p1; cout << "\n\nJOGADOR 2 ESCOLHEU " << p2; cout << "\n\n\n\n"; cout << "\n" << "\t0 1 2\n\n\n"; cout << " 0" << "\t"; cout << matriz[0][0] << " | " << matriz[0][1] << " | " << matriz[0][2] << "\n" << " \t--|---|--\n"; cout << " 1" <<" \t"; cout << matriz[1][0] << " | " << matriz[1][1] << " | " << matriz[1][2] << "\n" << " \t--|---|--\n"; cout << " 2" <<" \t"; cout << matriz[2][0] << " | " << matriz[2][1] << " | " << matriz[2][2] << "\n" <<endl; } int jogadas() { certo=false; if(fim==false) { if (turno==1) { while (certo == false) { cout << "\n\nESCOLHA A LINHA E COLUNA QUE DESEJA JOGAR (exemplo 0 1): \n\n"; cin >> i >> j; if(matriz[i][j]== ' ') { matriz[i][j]=p1; certo=true; turno=2; escreve_matriz(); } else cout << "JOGADA INVALIDA"; } } else if (turno==2){ certo =false; while (certo == false){ cout << "\n\nESCOLHA A LINHA E COLUNA QUE DESEJA JOGAR (exemplo 0 1): \n\n"; cin >> i >> j; if (matriz[i][j] == ' '){ matriz[i][j]=p2; certo = true; turno=1; escreve_matriz(); } else cout << "JOGADA INVALIDA"; } } } } void verica_ganhador () { if ((matriz[0][0]==matriz[0][1])&&(matriz[0][1]==matriz[0][2])&&(matriz[0][0]!=' ')) { ganhou = true; } else if ((matriz[1][0]==matriz[1][1])&&(matriz[1][1]==matriz[1][2])&&(matriz[1][0]!=' ')) { ganhou = true; } else if ((matriz[2][0]==matriz[2][1])&&(matriz[2][1]==matriz[2][2])&&(matriz[2][0]!=' ')) { ganhou = true; } if ((matriz[0][0]==matriz[1][0])&&(matriz[1][0]==matriz[2][0])&&(matriz[0][0]!=' ')) { ganhou = true; } else if ((matriz[0][1]==matriz[1][1])&&(matriz[1][1]==matriz[2][1])&&(matriz[0][1]!=' ')) { ganhou = true; } else if ((matriz[0][2]==matriz[1][2])&&(matriz[1][2]==matriz[2][2])&&(matriz[0][2]!=' ')) { ganhou = true; } if ((matriz[0][0]==matriz[1][1])&&(matriz[1][1]==matriz[2][2])&&(matriz[0][0]!=' ')) { ganhou = true; } else if ((matriz[0][2]==matriz[1][1])&&(matriz[1][1]==matriz[2][0])&&(matriz[0][2]!=' ')) { ganhou = true; } if (jogada == 9) { if (ganhou == false) { cout << "DEU VELHA!!!\n\n"; fim = true; } } if (ganhou == true) { if (turno==1) { cout << "PARABENS JOGADOR 2 voce VENCEU!!\n\n"; v2++; } else if (turno == 2) { cout << "PARABEN JOGADOR 1 voce VENCEU!!\n\n"; v1++; } } } void jogo() { escolha_jogador(); elementos_matriz(); escreve_matriz(); jogada=0; while ((jogada<=9)&&(ganhou==false)){ jogadas(); jogada++; verica_ganhador(); } } int main() { jogo(); char novo= 's'; do { cout << "\nDESEJA JOGAR NOVAMENTE 's' OU 'n' ? \n\n"; fflush(stdin); cin.get(novo); if (novo=='s'){ cout << "Jogando"; jogo(); } }while (novo!='n'); cout << "\n\t PONTUACAO: \n\n"; cout << "O JOGADOR 1 OBTEVE " << v1 << " VITORIAS\n\n"; cout << "O JOGADOR 2 OBTEVE " << v2 << " VITORIAS\n\n"; cout << "PRECIONE QUALQUER TECLA PARA SAIR"; cin.get(); }
  5. ommani

    C++ Jogo da velha C++

    @giu_d Tudo bem, vou tentar aqui desse jeito. Muito obrigada!
  6. ommani

    C++ Jogo da velha C++

    @giu_d Só mais uma pergunta, se eu fizer desse jeito as mensagens de tipo jogador 1 ganhou e ou 2 e deu velha eu coloco nessa função? Por que fiz assim elas não aparecem, tenho que colocar na função jogo?
  7. ommani

    C++ Jogo da velha C++

    @giu_d void verifica_ganhador () { if ((matriz[0][0]==matriz[0][1])&&(matriz[0][1]==matriz[0][2])&&(matriz[0][0]!=' ')) { ganhou = true; } else if ((matriz[1][0]==matriz[1][1])&&(matriz[1][1]==matriz[1][2])&&(matriz[1][0]!=' ')) { ganhou = true; } else if ((matriz[2][0]==matriz[2][1])&&(matriz[2][1]==matriz[2][2])&&(matriz[2][0]!=' ')) { ganhou = true; } if ((matriz[0][0]==matriz[1][0])&&(matriz[1][0]==matriz[2][0])&&(matriz[0][0]!=' ')) { ganhou = true; } else if ((matriz[0][1]==matriz[1][1])&&(matriz[1][1]==matriz[2][1])&&(matriz[0][1]!=' ')) { ganhou = true; } else if ((matriz[0][2]==matriz[1][2])&&(matriz[1][2]==matriz[2][2])&&(matriz[0][2]!=' ')) { ganhou = true; } if ((matriz[0][0]==matriz[1][1])&&(matriz[1][1]==matriz[2][2])&&(matriz[0][0]!=' ')) { ganhou = true; } else if ((matriz[0][2]==matriz[1][1])&&(matriz[1][1]==matriz[2][0])&&(matriz[0][2]!=' ')) { ganhou = true; } if (jogada == 9) { if (ganhou == false) { cout << "DEU VELHA!!!\n\n"; fim = true; } }
  8. ommani

    C++ Jogo da velha C++

    @giu_d Consegui com mais ou menos pelo que você disse void jogo() { escolha_jogador(); elementos_matriz(); escreve_matriz(); jogada=0; do{ jogadas(); jogada++; escreve_matriz(); verifica_ganhador(); }while ((jogada<=9)&&(ganhou==false)); ganhou = false; } , só não funciona pra quando da velha
  9. ommani

    C++ Jogo da velha C++

    @giu_d deu certo só que só repete pra uma jogada ai finaliza e diz que o jogador 2 ganhou e pergunta se quer jogar de novo.
  10. ommani

    C++ Jogo da velha C++

    @Leonardo0308 Então, eu teria que criar uma outra função dentro da função para limpar ela? adicionado 3 minutos depois @giu_d Não funciona assim. Fica como na imagem
  11. ommani

    C++ Jogo da velha C++

    @Leonardo0308 Então eu não sei ao certo, porque coloquei outras funções dentro dela. Olha como tá. void jogo() { escolha_jogador(); elementos_matriz(); escreve_matriz(); jogada=0; while ((jogada<=9)&&(ganhou==false)){ jogadas(); jogada++; verifica_ganhador(); } }
  12. ommani

    C++ Jogo da velha C++

    @Leonardo0308 Eu coloquei e ela não aparece. Ele limpa pra jogar de novo só que ao inver de aparecer a mensagem pedindo pra colocar a linha e a coluna aparece a de deseja jogar de novo. Na imagem dá pra ver.
  13. ommani

    C++ Jogo da velha C++

    @Leonardo0308 Sim sim, sai do loop certinho.
  14. ommani

    C++ Jogo da velha C++

    adicionado 0 minutos depois @Leonardo0308 Oi, moço. Eu fiz isso e não deu certo. Continua do mesmo jeito só repetindo a mensagem de jogar de novo e não recomeçando o jogo.
  15. ommani

    C++ Jogo da velha C++

    Oi, gente. Fiz um jogo da velha e quando coloco pra jogar de novo não funciona. Alguém pode me dizer o que fiz de errado. Segue a parte do jogo que não tá funcionando. int main() { jogo(); char novo; while (novo != 'n') { cout << "\nDESEJA JOGAR NOVAMENTE 's' OU 'n' ? \n\n"; fflush(stdin); cin.get(novo); if (novo=='s'){ jogo(); } } cout << "\n\t PONTUACAO: \n\n"; cout << "O JOGADOR 1 OBTEVE " << v1 << " VITORIAS\n\n"; cout << "O JOGADOR 2 OBTEVE " << v2 << " VITORIAS\n\n"; cout << "PRECIONE QUALQUER TECLA PARA SAIR"; cin.get(); }

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!