O que posso melhorar nesse código e não consigo descobrir porque a porcentagem está dando negativo.
O que posso melhorar nesse código e não consigo descobrir porque a porcentagem está dando negativo.
Descobrir a altura média das mulheres.
A menor e maior altura no grupo.
Quantos homens há no grupo.
#include <iostream>
#include <cstdlib>
#include <locale.h>
using namespace std;
int main(void)
{
setlocale(LC_ALL, "Portuguese");
float porcentagem,contador,acumulador,altura,menor,maior,media,altura_t;
int resposta,resp,i,homem,pessoas;
porcentagem, contador, acumulador, altura,menor,maior,media,altura_t=0;
contador = 0;
resp = 0;
resposta = 0;
homem = 0;
int contm = 0;
cout << "Entre com a altura, digite -1 para sair: ";
cin >> altura_t;
maior = altura_t;
menor = altura_t;
while (altura_t != -1)
{
if (altura_t == 0)
{
maior = altura_t;
menor = altura_t;
altura_t++;
}
if (altura_t > maior)
maior = altura_t;
else if (altura_t < menor)
menor = altura_t;
cout << "Entre com a altura, digite -1 para sair: ";
altura_t++;
cin >> altura_t;
}
cout << "Entre com 1 para mulheres e 2 para homens. ";
cin >> resposta;
if (resposta == 1)
{
cout << "Entre com a altura da mulher: ";
cin >> altura;
}
else if (resposta == 2)
homem++;
while (resposta != -1)
{
if (resposta != -1)
if (resposta == 1)
{
acumulador = acumulador + altura;
//altura++;
cout << "Entre com a altura da mulher, digite -1 para sair: ";
contm++;
cin >> altura;
}
else if (resposta == 2)
{
homem++;
}
cout << "Para sair digite -1, dê enter para continuar. \\n";
cout << "Escolha, 1 para mulher, 2 para homens: \\n";
cin >> resposta;
}
porcentagem = contm * altura_t / 100;
//porcentagem = (acumulador * contm ) / 100;
//z = (x / y) * 100;
media = acumulador / contm;
cout << "A maior altura é: " << maior << " e a menor altura é: " << menor << "\\n";
cout << "O número de homens é de:" << homem << "\\n";
cout << "A porcentagem de mulheres em relação ao total de pessoas é de: " << porcentagem << "\\n";
cout << "A média de altura das mulheres é de: " << media << endl;
}
Obrigado
O que posso melhorar nesse código e não consigo descobrir porque a porcentagem está dando negativo.
Descobrir a altura média das mulheres.
A menor e maior altura no grupo.
Quantos homens há no grupo.
#include <iostream>
#include <cstdlib>
#include <locale.h>
using namespace std;
int main(void)
{
setlocale(LC_ALL, "Portuguese");
float porcentagem,contador,acumulador,altura,menor,maior,media,altura_t;
int resposta,resp,i,homem,pessoas;
porcentagem, contador, acumulador, altura,menor,maior,media,altura_t=0;
contador = 0;
resp = 0;
resposta = 0;
homem = 0;
int contm = 0;
cout << "Entre com a altura, digite -1 para sair: ";
cin >> altura_t;
maior = altura_t;
menor = altura_t;
while (altura_t != -1)
{
if (altura_t == 0)
{
maior = altura_t;
menor = altura_t;
altura_t++;
}
if (altura_t > maior)
maior = altura_t;
else if (altura_t < menor)
menor = altura_t;
cout << "Entre com a altura, digite -1 para sair: ";
altura_t++;
cin >> altura_t;
}
cout << "Entre com 1 para mulheres e 2 para homens. ";
cin >> resposta;
if (resposta == 1)
{
cout << "Entre com a altura da mulher: ";
cin >> altura;
}
else if (resposta == 2)
homem++;
while (resposta != -1)
{
if (resposta != -1)
if (resposta == 1)
{
acumulador = acumulador + altura;
//altura++;
cout << "Entre com a altura da mulher, digite -1 para sair: ";
contm++;
cin >> altura;
}
else if (resposta == 2)
{
homem++;
}
cout << "Para sair digite -1, dê enter para continuar. \\n";
cout << "Escolha, 1 para mulher, 2 para homens: \\n";
cin >> resposta;
}
porcentagem = contm * altura_t / 100;
//porcentagem = (acumulador * contm ) / 100;
//z = (x / y) * 100;
media = acumulador / contm;
cout << "A maior altura é: " << maior << " e a menor altura é: " << menor << "\\n";
cout << "O número de homens é de:" << homem << "\\n";
cout << "A porcentagem de mulheres em relação ao total de pessoas é de: " << porcentagem << "\\n";
cout << "A média de altura das mulheres é de: " << media << endl;
}
Obrigado