Informática, perguntado por biihtddy3384, 1 ano atrás

Faça um algoritmo em c++ que solicite a digitação da idade e do sexo de uma pessoa ( o sexo deve ser M ou F) e depois pergunte se o usuário deseja informar uma nova pessoa. Esse processo deve se repetir até que o usuário informe que não deseja mais informar novas pessoas. Quando isso acontecer, o algoritmo deve imprimir na tela a quantidade de pessoas do sexo masculinos informadas; a quantidade de pessoas de sexo feminino informadas; a média das idades informadas para pessoas de sexo feminino

Soluções para a tarefa

Respondido por KuroeJin
0
#include<iostream>
#include<cstdio>

#define LIMPABUFFER while(getchar()!='\n');

using namespace std;

int idade(void){
    int idade_valida;
    cout<<"Qual a idade da pessoa?"<<endl<<"R: ";
    cin>>idade_valida;
    LIMPABUFFER;
    if(idade_valida > 0) return idade_valida;

    cout<<"Idade invalida!!"<<endl;
    return idade(); }

char sexo(void){
    char sexo_valido;
    cout<<"Qual o sexo da pessoa?(M/m = masculino ou F/f = feminino)"<<endl<<"R: ";
    cin>>sexo_valido;
    LIMPABUFFER;
    sexo_valido=toupper(sexo_valido);
    if( (sexo_valido=='M')||(sexo_valido=='F') ) return sexo_valido;

    cout<<"Sexo invalido!"<<endl;
    return sexo(); }

int total_sexo_x(char s, char sexo_x, int contador){
    if(s==sexo_x) return (contador+1);

    return contador; }

int total_idade_sexo(char s, char sexo_X, int idade_s_X,int idade_total_X){
    if(s==sexo_X) return (idade_total_X+idade_s_X);

    return idade_total_X;}

int opcao(void){
    char op;
    cout<<"Desejas encerrar?(S/s = sim, qualquer valor = nao)"<<endl<<"R: ";
    cin>>op;
    LIMPABUFFER;
    op=toupper(op);
    if(op == 'S') return 0;

    return 1; }

void line(void){
 cout<<"================================================================"<<endl; }

int main(void){
    int idd, total_idd_F=0, total_M=0, total_F=0;
    char sexo_X;
    do{
       line();
       idd = idade();
       line();
       sexo_X = sexo();
       line();
       total_M = total_sexo_x(sexo_X, 'M', total_M);
       total_F = total_sexo_x(sexo_X, 'F', total_F);
       total_idd_F = total_idade_sexo(sexo_X, 'F', idd, total_idd_F); }while(opcao()==1);
       line();
       cout<<"Total de pessoas do sexo masculino: "<<total_M<<" pessoa(s);"<<endl;
       cout<<"Total de pessoas do sexo feminino: "<<total_F<<" pessoa(s);"<<endl;
       cout<<"Media das idades das pessoas do sexo feminino: "<<((float)total_idd_F/(float)total_F)<<" ano(s)."<<endl;
       getchar();
    return 0;}
Perguntas interessantes