Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

victor_altieri

Dúvida Matrizes

Recommended Posts

Olá, preciso de uma ajuda.
Elaborei um algoritmo em c para sala de cinema, o código está todo pronto, porém não consigo fazer com que o usuário não selecione a mesma poltrona mais de uma vez. Segue o pedaço do código. Obrigado.

int func_poltrona(){
//------------------------------ NESSE FOR ELE PERCORRE TODAS AS POSIÇÕES E ADICIONA UM NÚMERO A ELA -------------------------------------//
for(l=0; l < 10; l++){
for(c = 0; c < 4; c++){
matriz[l][c] = 1 + a++;
}
}
perguntaI:
printf(" Quantos ingressos? ");
scanf("%d", &numero_ingresso);
if((numero_ingresso == 0) || (numero_ingresso > 40)){
system("cls");
printf("\n\t\t---------------- OPÇÃO INEXISTENTE ----------------\n\n");
goto perguntaI;
}
for (i = 1; i <= numero_ingresso; i++){ // REPETE O BLOCO ENQUANTO I FOR MENOR QUE O NUMERO DE INGRESSOS
escolha_numero_poltrona: // GOTO
system("cls");
printf("\n\n\t\t POLTRONAS COM O NÚMERO 0 ESTÃO OCUPADAS.\n\n");
for(l = 0; l < 10; l ++){
printf("\n\t\t\t\t"),matriz[l][c];
for(c = 0; c < 4; c++){
printf(" %d",matriz[l][c]);
}
}
printf("\n\n\t\t Digite o número da %dº poltrona: ", i);
scanf("%d", &poltrona); // SALVA O NUMERO QUE EU DIGITE NA VARIÁVEL e
if(poltrona >= 1 && poltrona <= 40){ //VERIFICA SE O NUMERO QUE EU DIGITEI ESTA ENTRE 1 E 40
for(l = 0; l < 10; l++){
for(c = 0; c < 4; c++){
if ( ){ // ESTA ERRADO ESSE IF
printf("Poltrona Ocupada!");
exit(0);
} //FIM IF
} //FIM DO SEGUNDO FOR
} //FIM DO PRIMEIRO FOR
for(l = 0; l < 10; l++){
for(c = 0; c < 4; c++){
if(matriz[l][c] == poltrona){
matriz[l][c] = matriz[l][c] - poltrona;
incremento_lugar++; //CADA VEZ QUE UMA POLTRONA É OCUPADA ELE INCREMENTA 1
// if(incremento_lugar > 40){
// printf("Sala cheia! Escolha outra sessão.");
// }
} //FIM IF
} //FIM DO SEGUNDO FOR
} //FIM DO PRIMEIRO FOR
}else{
system("cls");
printf("\n\n\t\tNÚMERO INVÁLIDO, ESCOLHA ENTRE 1 E 40\n");
goto escolha_numero_poltrona;
}
system("cls");
//MOSTRA AS CADEIRAS
printf("\n\n\t\tPOLTRONAS COM O NÚMERO 0 ESTÃO OCUPADAS.\n\n");
for(l = 0; l < 10; l ++){
printf("\n\t\t\t\t"),matriz[l][c];
for(c = 0; c < 4; c++){
printf("%d ",matriz[l][c]);
}
}
} // FOR
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.