Boa tarde pessoal, iniciei a um tempo atrás o meu curso de Analise, até o momento estou gostando bastante, porém, fazendo um dos exercícios agora, me deparei com um problema que não consigo entender como posso solucionar, a situação é:
no exercício é pedido para você ler o gênero com Switch, ler a idade delas, fazer uma media de idade em geral e dizer quanto são de cada sexo, até aí tudo certo, o problema é que no exercício é pedido para finalizar e dar os resultados digitando 0 na parte das idades, porém, o programa só finaliza quando eu digito no masculino, no feminino ele fica repetindo o processo, mesmo dizendo pra finalizar tanto no masculino, quanto no feminino... alguém pode me ajudar?
Aqui está o código que eu fiz:
int m,f,sexo,vzsm = 0,vzsf = 0,vzsg,somam = 0, somaf = 0;
do{
cout<<"Entre com o seu sexo! Escolha uma das opções:\n0 - Masculino\n1 - Feminino\n";
cin>>sexo;
switch(sexo){
case 0:
cout<<"\nSexo masculino computado!\nAgora, entre com sua idade:(Digite 0 pra finalizar)\n";
cin>>m;
somam = somam + m;
if(m!=0){
vzsm++;
}
break;
case 1:
cout<<"\nSexo feminino computado!\nAgora, entre com sua idade:(Digite 0 pra finalizar)\n";
cin>>f;
somaf = somaf + f;
if(f!=0){
vzsf++;
}
break;
default:
cout<<"\nOpcao invalida, escolha novamente:\n";
break;
}
}
while(m!=0 || f!=0);
if(vzsm>0 || vzsf>0){
vzsg = vzsf + vzsm;
cout<<"Idade media e:"<<((somam+somaf) / vzsg)<<endl;
cout<<"A qtd de homens sao:"<<vzsm<<endl;
cout<<"A qtd de mulheres sao:"<<vzsf<<endl;
}else{
cout<<"Sem pessoas!\nFinalizando programa..";
}
Obrigado a atenção de todos e tenham um bom dia. ^^