• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bryanmg

Problema com um exercicio de Vetor

3 mensagens neste tópico

Se alguem puder me ajudar, to com problema é o seguinte

Os funcionários da MARIA DA PENHA CONFECÇÕES têm seus salários de acordo com a classe, conforme tabela:

Classe Salário

1 800,00

2 1000,00

3 1100,00

4 1500,00

5 2500,00

6 4000,00

7 6000,00

Construir um algoritmo que leia o NOME e a CLASSE de cada um dos 350 funcionários e que calcule e imprima:

a) O nome de cada funcionário e seu salário.

:) O total de funcionários de cada classe.

c) Qual a classe tem mais funcionários e quantos funcionários esta classe tem.

comecei aa fazer o codigo mais não consigo fazer a letra c.

o codigo é esse:

#include<iostream.h>
using namespace std;
int main (){
string nome;
float salario[] = {800.00, 1000.00, 1100.00, 1500.00, 2500.00, 4000.00, 6000.00};

int classe, total=0, total1=0, total2=0, total3=0, total4=0, total5=0, total6=0, 
maior_classe = -32000, numero_funcionarios, conte; 

for(conte=0; conte < 5; conte++){
	cout << "\nInsira o nome: ";
	cin >> nome;

	do{

		cout << "\nInsira a classe ( entre 1 e 7): ";
		cin >> classe;

		if(classe < 1 || classe > 7){
			cout << "Classe Invalida.";
		}

	}while(classe < 1 || classe > 7);

	cout << "\n Funcionario: " << nome;

	cout << "\nO salario seu salario e' R$: " << salario[classe - 1] << "\n\n";
	if(classe==1){
		total++;
	}
	else{
		if(classe==2){
			total1++;
		}
		else {
			if(classe==3){
				total2++;
			}
			else {
				if(classe==4){
					total3++;
				}
				else {
					if(classe==5){
						total4++;
					}
					else {
						if(classe==6){
							total5++;
						}
						else {
							if(classe==7){
								total5++;
							}
						}
					}
				}
			}
		}
	}

}
cout << "\nTotal de funcionarios da classe 1: " << total << "\n\n";
cout << "\nTotal de funcionarios da classe 2: " << total1 << "\n\n";
cout << "\nTotal de funcionarios da classe 3: " << total2 << "\n\n";
cout << "\nTotal de funcionarios da classe 4: " << total3 << "\n\n";
cout << "\nTotal de funcionarios da classe 5: " << total4 << "\n\n";
cout << "\nTotal de funcionarios da classe 6: " << total5 << "\n\n";
cout << "\nTotal de funcionarios da classe 7: " << total6 << "\n\n";

até ai eu fiz não sei fazer o resto me ajudem!!!!!!!!!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, epa tou em aula n li o teu post todo seguido.

Mas para saber quantos funcionarios tens em cada classe baste fazrs um ciclo que percorra cada classe e que conte o num de funcionarios e imprima.

Nada diss de um total para cada classe...

expl: cout<< "classe"<< i<<":"<<n_funcs<<"funcionarios"<<endl;

Bye

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
#include<iostream>
#include<string>
using namespace std;
// é bom sempre comentar os códigos, pois isso ajuda a compreensão por outros usuários
// e pra você mesmo no futuro ( acredite, você no futuro e outra pessoa são idênticos )
int main (){
string nome;
float salario[ 7 ] = {800.00, 1000.00, 1100.00, 1500.00, 2500.00, 4000.00, 6000.00};
// salario [ ] guarda o salario de cada classe na posição ( classe - 1 )
int classe, total=0, total1=0, total2=0, total3=0, total4=0, total5=0, total6=0 ;
// contadores individuais para cada classe. Recomendo o uso de array para isso !
// int classe [ 7 ] = { 0 } ;
int maior_classe = -32000, numero_funcionarios, conte;
// descubro depois (rsrsrsrs)
for(conte=0; conte < 5; conte++){
//daqui pra frente será executado 5 vezes seguidas:
	cout << "\nInsira o nome: ";
	cin >> nome;
// ler um nome
// le a classe corretamente ( do-while )
	do{

		cout << "\nInsira a classe ( entre 1 e 7): ";
		cin >> classe;

		if(classe < 1 || classe > 7){
			cout << "Classe Invalida.";
		}

	}while(classe < 1 || classe > 7);
// lembrando, isto é executado 5x
	cout << "\n Funcionario: " << nome;
// porra, você também é brasileiro? Vamos dominar Portugal! rsrrsrsrrrsrrsr
	cout << "\nO salario seu salario e' R$: " << salario[classe - 1] << "\n\n";
// quando se faz "array de if" pra substituir switch, usa-se um só identamento.
// não se preocupe com o peso do programa, esta parte é feita contadas vezes .
/*
for ( int i = 0 ; i < 7 ; i ++ )
    if ( classe == i + 1 )
        classe [ i - 1 ] ++ ;
*/ // substitui todo o sistema abaixo
	if(classe==1)
		total++;
	if(classe==2)
		total1++;
	if(classe==3)
		total2++;
	if(classe==4)
		total3++;
	if(classe==5)
		total4++;
	if(classe==6)
		total5++;
	if(classe==7)
		total5++;
}
cout << "\nTotal de funcionarios da classe 1: " << total << "\n\n";
cout << "\nTotal de funcionarios da classe 2: " << total1 << "\n\n";
cout << "\nTotal de funcionarios da classe 3: " << total2 << "\n\n";
cout << "\nTotal de funcionarios da classe 4: " << total3 << "\n\n";
cout << "\nTotal de funcionarios da classe 5: " << total4 << "\n\n";
cout << "\nTotal de funcionarios da classe 6: " << total5 << "\n\n";
cout << "\nTotal de funcionarios da classe 7: " << total6 << "\n\n";

// Aqui começa a parte que eu comecei a mexer.

// descobrir qual o maior numero entre os contadores classeX
// ficairia "fazível" usando array:
/*
int pos_max = 0 ;
for ( i = 1 ; i < 7 ; i ++ ) {
	if classe [ i ] > classe [ pos_max ]
	    pos_max = i ;
*/
// agora a variável i está com o indice do array com o maior valor
// o código pode ser implementado usando um int guardar o numero pra
// guardar a variavel escolhida e escrevendo ela.

/*

DICA: use array, pois sem ele você vai ter que fazer 42 ( n * ( n - 1 ) ) comparações.

*/
return 0 ;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora