Ir para conteúdo

POWERED BY:

Arquivado

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

Josy Almeida

estruturas de repetição If-Else-If

Recommended Posts

Olá,

gostaria que voces me ajudassem porque estou com essa duvida cruel que eu nao consigo resolver de jeito nenhum.

É o seguinte:

Estou fazendo um programa para calcular e imprimir a media dos pesos de cada faixa etária. Estou fazendo pela estrutura de repetição While porque o meu professor disse pra fazer usando essa.

Já vi varias respostas em varios sites e foruns que usaram o For, mas isso nao vem ao caso agora. Se tiverem muuuuuuuuuuuita coisa errada, podem falar, nao importo, ja estou acostumada com isso :( tanto que é por isso que estou participando desse forum. Ah é! O erro que está dando é no Else, daí q vem a minha duvida.

Vou deixa aqui um pedacinho do meu codigo para voces analisarem e me ajudarem. Desde já agradeço.

O código é esse:

int idade,cont,soma,ida,idb,idc,idd;
float peso,meda,medb,medc,medd;

cont=1;
while (cont<=10);
cout<<"Digite a idade da pessoa \n";
cin>>idade;
cout<<"Digite o peso dessa pessoa\n";
cin>>peso;

if (idade<=10){
meda=peso/ida;
}
else{
if (idade<=20)
medb=peso/idb;
}
}
else
if (idade<=30){
medc=peso/idc;
}
}
else {
if (idade<30){
medd=peso/idd;
}
}
cont++;

}
cout<<"A media a e:"<<meda;
cout<<"A media b e:"<<medb;
cout<<"A media c e:"<<medc;
cout<<"A media d e:"<<medd;

system("PAUSE");
return EXIT_SUCCESS;

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que você não entendeu muito bem o conceito de indentação em programação.

nós não vamos simplesmente indo para a direita, organizamos "colunas"

if {

if {

//

}

else {

//

}

}

 

use else if.

http://mtm.ufsc.br/~azeredo/cursoC/aulas/c410.html

 

int idade,cont,soma,ida,idb,idc,idd;
float peso,meda,medb,medc,medd;

cont=1;

while (cont<=10) {
	cout<<"Digite a idade da pessoa \n";
	cin>>idade;
	cout<<"Digite o peso dessa pessoa\n";
	cin>>peso;
	
	if (idade<=10){
		meda=peso/ida;
	}
	else if (idade<=20) {
		medb=peso/idb;
	}
	else if (idade<=30){
		medc=peso/idc;
	}
	else if (idade<30){
	medd=peso/idd;
	}
	
	cont++;
}	
cout<<"A media a e:"<<meda;
cout<<"A media b e:"<<medb;
cout<<"A media c e:"<<medc;
cout<<"A media d e:"<<medd;

system("PAUSE");
return EXIT_SUCCESS;

 

tópico com double-post e código fora de code, tome cuidado com as regras do fórum..

 

espero ter ajudado ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está faltando uma chave aqui

 

 

if (idade<=20) {
                      medb=peso/idb;
                      }

Na verdade tem chaves a mais em alguns lugares e outra a menos.

 

 

if (idade <= 10) {
meda = peso / ida;
} else if (idade <= 20) {
medb = peso / idb;
} else if (idade <= 30) {
medc = peso / idc;
}else if (idade < 30) {
medd = peso / idd;
}


cont++;
cout << "A media a e:" << meda;
cout << "A media b e:" << medb;
cout << "A media c e:" << medc;
cout << "A media d e:" << medd;
system("PAUSE");
return EXIT_SUCCESS;

Por que você não usa um case nesse caso? É bem mais fácil

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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