Programação de Computadores Estrutura de Repetição AULA 14 Estudo de Casos Programação de Computadores Estrutura de Repetição Desenvolver um programa para ler : o sexo (1-masculino, 2-feminino) e a altura de um grupo de 50 pessoas. O programa deve calcular: • a altura média das mulheres e a altura média dos homens; • a maior e a menor altura do grupo, dizendo se a altura é de um homem ou de uma mulher. Definição das variáveis iniciais ler : o sexo (1-masculino, 2-feminino) e a altura de um grupo de 50 pessoas. Calcula e mostra: • a altura média das mulheres e a altura média dos homens • a maior e a menor altura do grupo, dizendo se a altura é de um homem ou de uma mulher. ALTURA CONT (altura média) MM (conta mulher) CM (altura média) MH (conta homem) CH (maior homem) MAXH (menor homem) MINH (maior mulher) MAXM • Quais OS TIPOS DAS VARIAVEIS: float e int (menor mulher)MINM • float ALTURA, MAXM= -1,MAXH=-1,MINM=10,MINH=10, MM=0,MH=0; • int SEXO,CONT,CM=0,CH=0; estrutura de repetição para : inicio • Entrar com os dados de altura e sexo (contar e parar até 50) • se mulher : acumular altura, se altura >maior mulher guardar altura na maior mulher e se altura <menor mulher guardar altura na menor mulher •senão se homem: acumular altura, se altura >maior homem guardar altura no maior homem e se altura <menor homem guardar altura no menor homem senão invalidar entrada de sexo (decrementa e volta) fim Calcula e mostra: Média altura homem = alt acumulada homens/quat homens Média altura mulher = alt acumulada mulheres/quat mulheres Maior do grupo? se maior homem>maior mulher mostra a altura do mais alto que é homem senao mostra a altura do mais alto que é mulher se for igual mostra é homem e mulher o mai alto Menor do grupo? se menor homem < menor mulher ……… o mais baixo é h senao é mulher…… SEXO ALTURA CONT MM CM MH CH MAXH MINH MAXM MINM #include <iostream> using namespace std; int main() { float ALTURA, MAXM = -1, MAXH = -1, MINM = 10,MINH = 10, MM = 0,MH = 0; int SEXO,CONT,CM = 0,CH = 0; for (CONT = 1; CONT<= 50 ; CONT++) { cout<<"digite o "<<CONT<<"\xA7 SEXO: "; cin>>SEXO; cout<<"DIGITE A "<< CONT <<"\xA7 ALTURA: "; cin>>ALTURA; if (SEXO==1) { MM = MM + ALTURA; CM++; if (ALTURA >= MAXM ) MAXM = ALTURA; if ( ALTURA <= MINM ) MINM = ALTURA; } else if (SEXO==2) { MH = MH + ALTURA; CH++; if ( ALTURA >= MAXH ) MAXH = ALTURA; if ( ALTURA <= MINH ) MINH = ALTURA; } else { cout<< "\nSEXO INVALIDO\n"; CONT--; } } estrutura de repetição para : SEXO inicio • Entrar com os dados de altura e sexo (contar e parar até 50) ALTURA • se mulher : acumular altura, se altura >maior mulher CONT guardar altura na maior mulher e se altura <menor mulher guardar altura na menor mulherMM •senão se homem: acumular altura, se altura >maior homem CM guardar altura no maior homem e se altura <menor homem MH guardar altura no menor homem senão invalidar entrada de sexo (decrementa CH e volta) fim Calcula e mostra: MAXH Média altura homem = alt acumulada homens/quat homens Média altura mulher = alt acumulada mulheres/quat mulheres MINH Maior do grupo? se maior homem>maior mulherMAXM mostra a altura do mais alto que é homem senao mostra a altura do mais alto que é mulher MINM se for igual mostra é homem e mulher o mai alto Menor do grupo? se menor homem < menor mulher ……… o mais baixo é h senao é mulher…… if ( CM != 0 ) { MM = MM/CM; if( CH != 0 ) MH = MH/CH; cout<<"\n A ALTURA media das MULHERES EH: "<< MM <<endl; cout<<"\n A ALTURA media dos HOMENS EH: "<< MH <<endl; } if ( MAXM > MAXH) cout<<"\n A MAIOR ALTURA : " << MAXM <<" m eh DE MULHER\n"; else cout<<"\n A MAIOR ALTURA : " << MAXH <<" DE HOMEM\n"; if (MAXM==MAXH) cout<<"\nA MAIOR ALTURA:" << MAXM <<" m eh DE HOMEM E DE MULHER\n"; if (MINM < MINH) cout<<"\nA MENOR ALTURA : " << MINM <<" m eh DE MULHER\n"; else cout<<"\nA MENOR ALTURA : " << MINH <<" DE HOMEM\n"; if (MINM == MINH) cout<<"\nA MAIOR ALTURA : " << MINM <<" m eh DE HOMEM E DE MULHER\n"; system("PAUSE"); } SEXOaltMNa.exe #include <iostream> using namespace std; int main() { float ALTURA, MAXM=-1,MAXH=-1,MINM=10,MINH=10, MM=0,MH=0; int SEXO,CONT,CM=0,CH=0; for (CONT=1;CONT<=50;CONT++) { SEXO cout<<"digite o "<<CONT<<"\xA7 SEXO: "; ALTURA cin>>SEXO; cout<<"DIGITE A "<<CONT<<"\xA7 ALTURA: "; CONT cin>>ALTURA; MM if (SEXO==1) { MM = MM + ALTURA; CM++; CM if (ALTURA>=MAXM) MH MAXM=ALTURA; if (ALTURA<=MINM) CH MINM=ALTURA; } MAXH else if (SEXO==2) { MH = MH + ALTURA; CH++; MINH if (ALTURA>=MAXH) MAXM MAXH=ALTURA; MINM if (ALTURA<=MINH) MINH=ALTURA; } else { cout<< "\nSEXO INVALIDO\n"; CONT--; } } if (CM !=0) { if (CM !=0) { MM = MM/CM; if(CH !=0) MH = MH/CH; cout<<"\n A ALTURA media das MULHERES EH: "<<MM<<endl; cout<<"\n A ALTURA media dos HOMENS EH: "<<MH<<endl; } if (MAXM>MAXH) cout<<"\n A MAIOR ALTURA : " <<MAXM<<" m eh DE MULHER\n"; else cout<<"\n A MAIOR ALTURA : " <<MAXH<<" DE HOMEM\n"; if (MAXM==MAXH) cout<<"\nA MAIOR ALTURA:" <<MAXM<<" m eh DE HOMEM E DE MULHER\n"; if (MINM<MINH) cout<<"\nA MENOR ALTURA : " <<MINM<<" m eh DE MULHER\n"; else cout<<"\nA MENOR ALTURA : " <<MINH<<" DE HOMEM\n"; if (MINM==MINH) cout<<"\nA MAIOR ALTURA : " <<MINM<<" m eh DE HOMEM E DE MULHER\n"; system("PAUSE"); } SEXOaltMNa.exe