Galera, preciso criar um programa em C++ que pegue um arquivo denominado Dados.txt" e faça as seguintes coisas :
Implementar funções para calcular e escrever:
a) Os dados da pessoa com o menor salário;
b) A média do salário das mulheres;
c) A média da idade dos homens.
Esses são os dados do arquivo txt:
1
Pedro Paulo Soares
M
30
1500.00
2
Maria Carla da Silva
F
27
2500.00
3
Isaura Alves Almeida
F
23
2800.00
4
Marco Barbosa da Silva
M
23
1600.00
5
Creusa Andrade Hernandes
F
37
4500.00
6
Cleverson Carlos
M
25
3800.00
7
Josenildo Pereira da Silva
M
33
6500.00
8
Daniele Aparecida
F
26
2900.00
9
Cremilda da Silva
F
32
3800.00
10
Lady Laura Oliveira
F
33
2700.00
Porém não estou conseguindo, alguém poderia me ajudar?
#include <iostream>
#include <fstream>
#include <stdio.h>
usingnamespace std;
struct pessoa
{
char nome[30];
char sexo;
int idade;
float renda;
};
pessoa x[11];
void menor (int z)
{
int k=x[1].renda,index=1;
for (int i=1;i<11;i++)
{
if (k>x[i].renda)
{
k=x[i].renda;
index=i;
}
}
cout<<endl;
cout<<x[index].nome<<endl;
cout<<x[index].sexo<<endl;
cout<<x[index].idade<<endl;
cout<<x[index].renda<<endl;
}
void mulheres (int z)
{
int cont=0;
float soma=0;
for (int i=1;i<11;i++)
{
if (x[i].sexo=='F')
{
soma+=x[i].renda;
++cont;
}
}
cout<<"Media da Renda das Mulheres: "<<(soma/cont)<<endl;
}
void homens (int z)
{
float soma=0,cont=0;
for(int i=1;i<11;i++)
if (x[i].sexo=='M')
{
soma=soma+x[i].idade;cont++;
}
cout<<"A Media de Idade dos Homens: "<<(soma/cont)<<endl<<endl;
}
int main ()
{
fstream ap;
ap.open("Dados.txt");
int n,op;
for(int i=0;i<10;i++)
{
ap>>n;
ap>>x[n].nome;
ap>>x[n].sexo;
ap>>x[n].idade;
ap>>x[n].renda;
}
cout<<" --> N2 <--\n";
cout<<endl;
cout<<" 1 - PARA SABER MENOR SALARIO \n \n 2 - PARA SABER MEDIA DE SALARIO DAS MULHERES \n \n 3 - PARA SABER MEDIA DE IDADE DOS HOMENS \n\n 4 - PARA SAIR \n\n";
cin>>op;
if (op==1)menor(op);
if (op==2)mulheres(op);
if (op==3)homens(op);
if (op==4)return 0;
return main();
}