Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Preciso de um auxilio


lanzeco17
 Compartilhar

Posts Recomendados

- Objetivo

Criar um jogo de forca em C++ , iniciante em C++

Problema -

Galera seguinte , não estou conseguindo colocar as letras que um usuário digita , e sempre nos " ____" tem um "_" a mais, não estou conseguindo arrumar ,e a finalização do programa caso o usuário acerte a palavra não esta funcionando , preciso de uma ajuda ! muito obrigado

Codigo

 

#include <iostream>

#include <string.h>

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

 

using namespace std;

int main(){

char palavra[10],a,dica[20];

char digitadas;

int erros,qtd;

 

cout<<"Digite uma palavra para o jogo \n";

cin>>palavra;

system("cls");

 

 

cout<<" Digite uma dica para sua palavra "<<endl;

cin>>dica;

system("cls");

 

cout<<"quantas vezes o adversario pode errar? "<<endl;

cin>>qtd;

system("cls");

 

int cont, xx=0;

strcpy(palavra,palavra);

char aux[strlen(palavra)];

 

for(int i=1;i<=strlen(palavra);i++){

aux='_';

}

 

int controle = strlen(palavra);

cont=0;

cout<<aux<<endl;

cout<<" Erros : (max"<<qtd<<")"<<erros<<endl;

cout<<"Letras digitadas : "<<digitadas<<endl;

cout<<"Dica deixada pelo desafiante : "<<dica<<endl;

do{

cout<<endl<<"Digite uma letra \n";

cin>>a;

system("cls");

 

 

 

for (int i=0;i<controle;i++){

 

 

 

if (palavra==a){

aux=palavra;

strupr(aux);

xx=1;

 

}

}

if(xx==0){

 

cout<<aux<<endl<<" esta letra nao contem na palavra "<<endl;

erros++;

 

if (erros==qtd){

cout<<"voce perdeu : ( "<<endl;

system("pause");

return 0;

}

}

else{

 

cout<<aux<<endl<<" sua letra contem na palavra "<<endl;

if (aux==palavra){

cout<<" \0/ "<<endl<<" | "<<endl<<" / '\' "<<"PARABENS VOCE GANHOU"<<endl;

system("pause");

return 0;

 

}

 

 

xx=0;

if( strcmp(aux,palavra)==0)

 

cont=100;

cout<<" Erros : (max"<<qtd<<")"<<erros<<endl;

cout<<"Letras digitadas : "<<digitadas<<endl;

cout<<"Dica deixada pelo desafiante :"<<dica<<endl;

 

}

 

 

cont++;

}while (cont<100);

 

 

system("pause");

return 0;

}

 

 

 

aYkLxdu.jpg

~"Não pense no que está pensando "~

  • Amor
  • Dinheiro
  • Parçeiros

Link para o comentário
Compartilhar em outros sites

O problema do underline a mais, é porque ele copia o caracter especial do "ENTER" pressionado. Portando você tem que fazer seu loop fazendo uma subtração -1.

 

Sua aplicação está mal organizada.

Primeiro, no tópico você centralizou tudo, horrível de analisar.

Segundo, crie uma variável do tipo boolean para definir se o jogo continua ou para. Coloque toda sua aplicação dentro de um loop while, para limpar seu código.

É necessário se cadastrar para acessar o conteúdo.

 

E fora do loop você exibe o resultado.

Meus brinquedos em WinAPI:

Calculador

MemoryScanner

Faça parte também da DarkProgramming Team!

Link para o comentário
Compartilhar em outros sites

então jovem , aqui tirei uma print dos erros que preciso corrigir

ps: descentralizei o código para uma melhor analise .

os traços vermelhos são onde preciso corrigir , não aparece as letras que citei , e está aparecendo 1 underline a mais ,

aYkLxdu.jpg

 

 

E a questão do caracter especial ,

eu teria de resolver no looping então ? ex :

 

for(int i=1;i<=strlen(palavra)-1;i++){

aux='_';

 

 

~"Não pense no que está pensando "~

  • Amor
  • Dinheiro
  • Parçeiros

Link para o comentário
Compartilhar em outros sites

Faça o teste.

 

Sobre as tais "letras digitadas", a variável "digitadas" não tem nada para mostrar.

Meus brinquedos em WinAPI:

Calculador

MemoryScanner

Faça parte também da DarkProgramming Team!

Link para o comentário
Compartilhar em outros sites

Então mano , eu coloquei antes : digitidadas==a dentro do luping e ele nao joga todos os caracteres digitados dentro da variavel :c

~"Não pense no que está pensando "~

  • Amor
  • Dinheiro
  • Parçeiros

Link para o comentário
Compartilhar em outros sites

Se não estou enganado, você criou "digitadas" do tipo char, não como um array ou um conjunto de caracteres (string)...

 

E na source que você mandou, você só criou a variável digitadas, não inseriu nenhum valor a ela.

Meus brinquedos em WinAPI:

Calculador

MemoryScanner

Faça parte também da DarkProgramming Team!

Link para o comentário
Compartilhar em outros sites

Sim , criei tipo char , assim todo caracter digitado ser salvo na variavel , assim podendo exibir todos as letras digitadas do jogo , só que ele não esta salvando na variavel e apresentando conforme quero :c

~"Não pense no que está pensando "~

  • Amor
  • Dinheiro
  • Parçeiros

Link para o comentário
Compartilhar em outros sites

  • 4 semanas atrás...

Amigo, penso que o tópico está na área incorreta, a área correta é Programação - Dúvidas.

 

 

Bom, voltando ao tópico, cria uma nova variavel do tipo boleano como o Baixarhack falou, para definir se o jogo para ou continua, porem utiliza break, para não saltar de linha.

 

Espero ter ajudado.

 

Skope

Agradece se te ajudei ;)

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.