Ir ao conteúdo

Ajuda while...urgente


FLIP ADS

Posts recomendados

Postado

Galera sei que é basico a pergunta mais não tenho onde tirar a duvida..

Tenho que digitar uma a letra correta para incrementar algo...

Caso não seja a letra correta tem que ser digitada novamente ate ser a letra correta....

_________________________________________________________assim eu tentei e não deu certo

system ("cls");

printf("Se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N>");

fflush(stdin); tecla = getchar();;

while(1){

if (tecla == 'F' || tecla == 'f')

{

printf("voce esta com Febre");

f++;

}

else if (tecla == 'N' || tecla == 'n')

{

printf("voce esta sem Febre");

sf++;

}

else

{

printf("Tecla invalida, redigite, se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N> ");

}

}

________________________________________________________________________________________

_____________________________________________________________________tentei assim tb e nada

system ("cls");

printf("Se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N>");

fflush(stdin); tecla = getchar();;

while(tecla == 'F' || tecla == 'f' || tecla == 'N' || tecla == 'n'){

printf("Tecla invalida, se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N>");

if (tecla == 'F' || tecla == 'f')

{

printf("voce esta com Febre");

f++;

}

else

{

printf("voce esta sem Febre");

sf++;

}

}

_______________________________________________________________________________________________________________

Postado

else
{
printf("Tecla invalida, redigite, se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N> ");

}
}

Falta um getchar depois desse printf, não?

  • Moderador
Postado
Galera sei que é basico a pergunta mais não tenho onde tirar a duvida..

Tenho que digitar uma a letra correta para incrementar algo...

Caso não seja a letra correta tem que ser digitada novamente ate ser a letra correta....

system ("cls");

printf("Se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N>");

fflush(stdin); tecla = getchar();;

while(1){

if (tecla == 'F' || tecla == 'f')

{

printf("voce esta com Febre");

f++;

}

else if (tecla == 'N' || tecla == 'n')

{

printf("voce esta sem Febre");

sf++;

}

else

{

printf("Tecla invalida, redigite, se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N> ");

}

}

amigo, nao vou poder te ajudar muito no codigo pois programo em java e php. mas algumas coisas sao iguais.. no caso do while sua sintaxe ta errada..

o certo seria while(tecla == 'F')

mas para o que você quer fazer... acho que teria que ser com do-while. pois você quer um laço onde se repete ate acertar a tecla ...

Postado

#include <stdio.h>
#include <stdlib.h>

int main(){
char tecla;
int f=0, sf=0;

system ("cls");
printf("Se no momento estiver com febre digite a letra <F>\n"
"Se ja esteve com febre e no momento esteja curado digite <N>");
tecla = getchar();
getchar();

do{
if (tecla == 'F' || tecla == 'f')
{
printf("\n\nVoce esta com Febre\n");
f++;
}
else if (tecla == 'N' || tecla == 'n')
{
printf("\n\nVoce esta sem Febre\n");
sf++;
}
else
{
printf("Tecla invalida, redigite, se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N> ");
tecla = getchar();
getchar();
}
}while((tecla != 'F') && (tecla != 'f') && (tecla != 'N') && (tecla != 'n'));

getchar();
return 0;
}

É assim.

Postado

vou colocar o problema inteiro....

agora estou no caminho..mais entra dentro do DO-While e não sai mais mesmo digitando a letra certa.

/* A cidade de tupiru vai fazer um lvantamento de casos de dengue.

serao entrevistados 30 habitantes, onde serao perguntados os seguintes dados: nome, peso, está ou esteve

com febre e idade.

No final sera feito um relatorio estatisco desses entrevistados, contendo, média de peso da população,

numero de habitantes com mais de 60 anos,

numero de habitantes que respnderam S na pergunta da febre.

obrigatoriaqmentedevem ser armazenadas as idades num vetor.*/

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#define N 2

int main(int argc, char *argv[])

{

float peso[5], somapeso=0;

char nome[30], tecla;

int i, f=0, sf=0, idade, totalcomsesse=0, menorquesesse=0;

for(i=0;i<N;i++)

{

system ("cls");

printf("Nome: ");

fflush(stdin); gets(nome);

printf("Idade:");

scanf("%i", &idade);

if(idade>60)

{

totalcomsesse++;

}

else

{

menorquesesse++;

}

printf("Peso:");

scanf("%f", &peso);

system ("cls");

printf("Se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N>\n");

fflush(stdin); tecla = getchar();;

do{

if (tecla == 'F' || tecla == 'f')

{

printf("voce esta com Febre");

f++;

}

else if (tecla == 'N' || tecla == 'n')

{

printf("voce esta sem Febre");

sf++;

}

else

{

printf("Tecla invalida, redigite, se no momento estiver com febre digite a letra <F> se ja esteve com febre e no momento esteja curado digite <N> ");

tecla = getchar();

getchar();

}

}while((tecla != 'F') && (tecla != 'f') && (tecla != 'N') && (tecla != 'n'));

somapeso +=peso;

system ("pause");

}

somapeso = somapeso/i;

system ("cls");

printf("\n A media do peso da população %f ", somapeso);

printf("\n A quantidade de pessoas com 60 anos é %i ", totalcomsesse);

printf("\n A quantidade de pessoas menos de 60 anos é %i ", menorquesesse);

printf("\n A quantidade de pessoas com febre %i ", f);

printf("\n A quantidade de pessoas sem febre %i ", sf);

system ("pause");

return 0;

}

Postado

Assim funciona:

/* A cidade de tupiru vai fazer um lvantamento de casos de dengue.
serao entrevistados 30 habitantes, onde serao perguntados os seguintes dados: nome, peso, está ou esteve
com febre e idade.
No final sera feito um relatorio estatisco desses entrevistados, contendo, média de peso da população,
numero de habitantes com mais de 60 anos,
numero de habitantes que respnderam S na pergunta da febre.
obrigatoriaqmentedevem ser armazenadas as idades num vetor.*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define N 2

int main(int argc, char *argv[])
{
float peso[5], somapeso=0;
char nome[30], tecla;
int i, f=0, sf=0, idade, totalcomsesse=0, menorquesesse=0;

for(i=0;i<N;i++)
{

system ("cls");
printf("Nome [%3d]: ",(i+1));
scanf("%[^\n]s",nome);
getchar();

printf("Idade [%3d]:",(i+1));
scanf("%i", &idade);
getchar();

if(idade>60)
{
totalcomsesse++;
}
else
{
menorquesesse++;
}

printf("Peso [%3d]: ",(i+1));
scanf("%f", &peso[i]);
getchar();

system ("cls");
printf("Se no momento estiver com febre digite a letra <F>\nSe ja esteve com febre e no momento esteja curado digite <N>\n");
tecla = getchar();
getchar();

do{
if (tecla == 'F' || tecla == 'f')
{
printf("\nVoce esta com Febre\n");
f++;
}
else if (tecla == 'N' || tecla == 'n')
{
printf("\nVoce esta sem Febre\n");
sf++;

}
else
{
printf("Tecla invalida, redigite, se no momento estiver com febre digite a letra <F> se ja esteve com febre e no momento esteja curado digite <N> ");
tecla = getchar();
getchar();
}
}while((tecla != 'F') && (tecla != 'f') && (tecla != 'N') && (tecla != 'n'));
somapeso +=peso[i];
system ("pause");
}
somapeso = somapeso/i;
system ("cls");
printf("\n A media do peso da população %f ", somapeso);
printf("\n A quantidade de pessoas com 60 anos é %i ", totalcomsesse);
printf("\n A quantidade de pessoas menos de 60 anos é %i ", menorquesesse);
printf("\n A quantidade de pessoas com febre %i ", f);
printf("\n A quantidade de pessoas sem febre %i \n", sf);

system ("pause");
return 0;
}

Selecione seu código e clique em # antes de enviar, homem!

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!