Ler do teclado um conjunto de dados contendo a altura e o sexo (“F” para feminino e “M” para masculino) de 10 pessoas. Gravar em um arquivo do tipo texto:
• A maior altura do grupo
• A menor altura do grupo
• A média de altura das mulheres
So que o programa esta lendo os dados das 10 pssoas. So que depois q é efetuada a leitura ele tipo trava, ele não finaliza nem cria o arquivo. se alguém puder ajudar adescobrir o problema, o codigo segue abaixo.
#include <fstream.h>
#include <iostream>
using namespace std;
struct t_Dados
{
float Altura;
char Sexo;
};
struct t_ops
{
t_Dados ops;
};
int main(void)
{
int i, x, y, w=0, a=0;
float z=0, r;
fstream arq;
t_ops vet[10];
arq.open("Dados.txt", ios::out);
for(i=0; i<10; i++)
{
a++;
cout<<"\nDigite o sexo da pessoa( M ou F)\n";
cin>>vet[i].ops.Sexo;
arq<<a<<"\tSexo"<<vet[i].ops.Sexo;
cout<<"\nDigite a altura.\n";
cin>>vet[i].ops.Altura;
arq<<"\tAltura"<<vet[i].ops.Altura;
}
for(i=0; i<10; i++)
{
if(vet[i].ops.Altura < vet[i+1].ops.Altura)
{
x=vet[i+1].ops.Altura;
}
else
{
x=vet[i].ops.Altura;
}
i=i-1;
}
for(i=0; i<10; i++)
{
if(vet[i].ops.Altura < vet[i+1].ops.Altura)
{
y=vet[i].ops.Altura;
}
else
{
y=vet[i+1].ops.Altura;
}
i=i-1;
}
for(i=0; i<10; i++)
{
if(vet[i].ops.Sexo=='F')
{
z=z+vet[i].ops.Altura;
w++;
}
}
r=z/w;
arq<<"\nA media de altura das mulheres e: "<<r;
arq.close();
system("pause");
return 0;
}
Pergunta
Dobrowolsky
O programa deve fazer o seguinte:
Ler do teclado um conjunto de dados contendo a altura e o sexo (“F” para feminino e “M” para masculino) de 10 pessoas. Gravar em um arquivo do tipo texto:
• A maior altura do grupo
• A menor altura do grupo
• A média de altura das mulheres
So que o programa esta lendo os dados das 10 pssoas. So que depois q é efetuada a leitura ele tipo trava, ele não finaliza nem cria o arquivo. se alguém puder ajudar adescobrir o problema, o codigo segue abaixo.
#include <fstream.h> #include <iostream> using namespace std; struct t_Dados { float Altura; char Sexo; }; struct t_ops { t_Dados ops; }; int main(void) { int i, x, y, w=0, a=0; float z=0, r; fstream arq; t_ops vet[10]; arq.open("Dados.txt", ios::out); for(i=0; i<10; i++) { a++; cout<<"\nDigite o sexo da pessoa( M ou F)\n"; cin>>vet[i].ops.Sexo; arq<<a<<"\tSexo"<<vet[i].ops.Sexo; cout<<"\nDigite a altura.\n"; cin>>vet[i].ops.Altura; arq<<"\tAltura"<<vet[i].ops.Altura; } for(i=0; i<10; i++) { if(vet[i].ops.Altura < vet[i+1].ops.Altura) { x=vet[i+1].ops.Altura; } else { x=vet[i].ops.Altura; } i=i-1; } for(i=0; i<10; i++) { if(vet[i].ops.Altura < vet[i+1].ops.Altura) { y=vet[i].ops.Altura; } else { y=vet[i+1].ops.Altura; } i=i-1; } for(i=0; i<10; i++) { if(vet[i].ops.Sexo=='F') { z=z+vet[i].ops.Altura; w++; } } r=z/w; arq<<"\nA media de altura das mulheres e: "<<r; arq.close(); system("pause"); return 0; }Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.