Informática, perguntado por rosa66ovgte4, 10 meses atrás

Como eu finalizo um programa no meio do código?
Tipo, eu tenho um código de JoKenPo, e eu preciso fazer com que o usuário jogue quantas vezes quiser, e depois ele aperte um número (vamos supor, 4) para finalizar o programa e mostrar o placar... Como eu faço isso?
O código é esse:

#include
#include
#include


#define PEDRA 1
#define PAPEL 2
#define TESOURA 3


int pontosJogador;

int pontosComputador;



void jogo();

void imprimeItem(int item);

int verifica(int p1, int p2);



int main(){



srand(time(NULL)); //usado para gerar numeros diferentes

printf(" PEDRA - PAPEL - TESOURA \n");

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

jogo();

printf("-------------------------------------------------------------------------------\n");

}



printf(" Total de Pontos\n");

printf(" Voce: %d \n", pontosJogador);

printf(" Computador: %d \n", pontosComputador);

printf("\n Obrigado por jogar!");



system("pause>nul");

return 0;

}
void jogo(){



int itemJogador;

int itemComputador;



printf("\n Escolha 1.Pedra 2.Papel 3.Tesoura 4. Finalizar\n Sua escolha: ");

scanf("%d", &itemJogador); //jogador faz sua escolha



itemComputador = rand()%3+1; //computador faz sua escolha



//mostra quem escolheu o que

printf("\n Voce -> ");

imprimeItem(itemJogador);

printf(" x ");

imprimeItem(itemComputador);

printf(" <- Computador.\n");



//verifica quem ganhou

int ganhador = verifica(itemJogador, itemComputador);



//mostra o ganhador

printf("\n");

if(ganhador == 1){

printf(" VOCE GANHOU!\n");

pontosJogador++;

}

else if(ganhador == 2){

printf(" COMPUTADOR GANHOU!\n");

pontosComputador++;

}

else{

printf(" EMPATOU!\n");

}

printf("\n");

}
void imprimeItem(int item){

if(item == PEDRA){

printf("PEDRA");

}

else if(item == PAPEL){

printf("PAPEL");

}
else{

printf("TESOURA");

}

}

/*Função que verifica qual jogador ganhou e retorna 1 ou 2
retorna 0 ao empatar
*/

int verifica(int p1, int p2){
int ganhador;

if(p1 == p2){ //empate

ganhador = 0;

}
if(p1==PEDRA && p2==TESOURA){ ganhador = 1; }

if(p1==PEDRA && p2==PAPEL){ ganhador = 2; }

if(p1==PAPEL && p2==PEDRA){ ganhador = 1; }

if(p1==PAPEL && p2==TESOURA){ ganhador = 2; }

if(p1==TESOURA && p2==PAPEL){ ganhador = 1; }

if(p1==TESOURA && p2==PEDRA){ ganhador = 2; }

return ganhador;

}

Soluções para a tarefa

Respondido por Caio0Vieira
1

Para fazer isso basta colocar um for ou um while.

ex:

for(i=0; i!=4; i=i){

i =itemJogador;

}

ou

while(itemJogador != 4){

//sempre vai ficar em loop quando o itemJogador for diferente de 4.

}


rosa66ovgte4: Obrigada :)
Perguntas interessantes