oi sou iniciante, to tentando fazer um jogo do Pedra, Papel, Tesoura, eu consegui e roda bem e ate compila sem nenhum worning ou erro, so que não mostra o resultado! quem venceu ou não, um detalhe: antes os else if q usei não tinha o {} e compilava bem, eu não coloquei porque minha instrução só tem 1 linha e ai não precisa do {}. Mas mesmo assim coloquei os {} pra ver se era e continua a mesma coisa, o negocio não fala quem venceu! so vai pro final onde fiz se quer sair ou voltar pro começo. Na parte do vez do (nome2) roda bem, mas depois disso, quando passa pros if eu acho, o codigo vai pro "deseja sair?" (se alguem perguntar porque não usar um string no player1 e player2, eu tentei mas deu varios erro, eu ainda não sei mexer nesse trem) agradeço desde já
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <string>
#include <locale.h>
using namespace std;
int main(){
char op;
char player1; char player2;
string nome1; string nome2;
do{
system("clear||cls");
setlocale(LC_ALL, "portuguese");
cout << setw(40) << "Pedra, Papel e Tesoura" << endl;
cout << "\nComeçar jogo?[s/n]: ";
cin >> op;
system("clear||cls");
switch(op){
case 's':
case 'S':
cout << "\nDigite o nome do player1: ";
cin >> nome1;
cout << "\nDigite o nome do player2: ";
cin >> nome2;
system("clear||cls");
cout << "\nLegenda: [P -> Pedra / E - Papel / T - Tesoura]\n";
cout << "\nVez de: " << nome1;
cout << "\nDigite[P/E/T]: ";
cin >> player1;
system("clear||cls");
cout << "\nLegenda: [P -> Pedra / E - Papel / T - Tesoura]\n";
cout << "\nVez de: " << nome2;
cout << "\nDigite[P/E/T]: ";
cin >> player2;
if(player1 == player2)
cout << "\nEmpate!";
if(player1 != player2){
if(player1 == 'p' || player1 == 'P' && player2 == 't' || player2 == 'T'){
cout << "\n" << nome1 << " venceu!";
}else if(player2 == 'p' || player2 == 'P' && player1 == 't' || player1 == 'T'){
cout << "\n" << nome2 << " venceu!";
}else if(player1 == 't' || player1 == 'T' && player2 == 'e' || player2 == 'E'){
cout << "\n" << nome1 << " venceu!";
}else if(player2 == 't' || player2 == 'T' && player1 == 'e' || player1 == 'E'){
cout << "\n" << nome2 << " venceu!";
}else if(player1 == 'e' || player1 == 'E' && player2 == 'p' || player2 == 'P'){
cout << "\n" << nome1 << " venceu!";
}else if(player2 == 'e' || player2 == 'E' && player1 == 'p' || player1 == 'P'){
cout << "\n" << nome2 << " venceu!";
}
}
break;
default:
return 0;
break;
}
system("clear||cls");
cout << "\n\nDeseja sair?[S/N]: ";
cin >> op;
}while(op == 'N' || op == 'n');
return 0;
}