Olá pessoal. Esse é o meu primeiro post no fórum, estou começando a estudar C e gostaria da ajuda dos amigos para solucionar um problema. Estou montando um arquivo com uma calculadora de IMC onde quero que o usuário insira os dados (peso, altura) e depois da operação o sistema pergunte se o usuário quer fazer um novo calculo ou sair da aplicação. Porém minha lógica está errada no uso de while para uma variável char. Alguém pode me indicar onde errei? #include <stdio.h>
char sair;
void calculaIMC ( float peso, float altura ) {
float imc = peso / (altura * altura );
//
printf("Seu IMC é: %.2f\n", imc);
//
printf("Tecla C para continuar e S para sair: \n");
scanf("%c", &sair);
}
void coletaDados () {
float peso, altura;
//
printf("Insira seu peso: ");
scanf("%f", &peso);
//
printf("Insira sua altura: ");
scanf("%f", &altura);
//
calculaIMC(peso, altura);
//
}
int main () {
while (sair != 'S' && sair != 's'){
coletaDados();
}
//
return 0;
} Ele faz a primeira conta certinho, mas não para no scanf do continuar.... Já aparece o pedido para digitar o peso novamente. Eu queria que após a primeira execução, o sistema perguntasse: Quer continuar? Isso muda o variável char do while e ele repete ou sai, mas errei em algum ponto. Desde já agradeço.