ajuda com uma questão

1. ajuda com uma questão

bruno da silva soares
BrunoSoares28

(usa Linux Mint)

Enviado em 23/01/2020 - 15:55h

Boa tarde, alguem poderia me dizer pq o meu while não esta funcionando? a ideia e fazer essa sequencia continuar até o usuario digitar zero

#include <stdio.h>
void verPermissao (int at, int id, int ing, int t, int tr, int sp)
{
int pos;
printf ("digite 0 terminar \n");
scanf ("%d", &pos);

while (pos != 0){

if ((id >= 0) && (at == 1)){
printf ("ingresso necessario e tempo normal");
}
else if ((id < 13) && (at == 2)){
printf ("entrada livre e tempo indeterminado");
}
else if (((id > 12) && (id < 17)) && (at == 2)){
printf ("ingresso necessario e tempo reduzido");
}
else if (((id > 16) && (id < 66)) && (at == 2)) {
printf ("ingresso necessario e tempo normal");
}
else if (id > 65){
printf ("entrada livre e tempo indeterminado");
}
}

return;
}

int main(void)
{
int pos;
int atracao, idade, ingresso, tempo, tempor, spermissao;

printf("\n qual a sua idade: \n");
scanf("%d", &idade);

printf("\n escolha a atracao desejada 1 para sem risco e 2 para com risco \n");
scanf("%d", &atracao);

verPermissao (atracao, idade, ingresso, tempo, tempor, spermissao);

return 0;
}



  


2. Re: ajuda com uma questão

Adriano Siqueira
adrisiq

(usa KDE Neon)

Enviado em 23/01/2020 - 19:20h

A variável pos não está sendo atualizada dentro do loop.


3. Re: ajuda com uma questão

Reinaldo Junio Dias de Abreu
reinaldodias

(usa Linux Mint)

Enviado em 25/01/2020 - 14:54h

Acredito que a solução será realizar a pergunta dentro da estrutura de repetição, com a variável pos inicializadas com valor diferente de zero.


void verPermissao (int at, int id, int ing, int t, int tr, int sp)
{
int pos = 1;

while (pos != 0){

if ((id >= 0) && (at == 1)){
printf ("ingresso necessario e tempo normal");
}
else if ((id < 13) && (at == 2)){
printf ("entrada livre e tempo indeterminado");
}
else if (((id > 12) && (id < 17)) && (at == 2)){
printf ("ingresso necessario e tempo reduzido");
}
else if (((id > 16) && (id < 66)) && (at == 2)) {
printf ("ingresso necessario e tempo normal");
}
else if (id > 65){
printf ("entrada livre e tempo indeterminado");
}
printf ("\n digite 0 terminar \n");
scanf ("%d", &pos);
}

return;
}







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts