Em đang làm bài tập về Struct trong C++
Em có đoạn code sau
#include <bits/stdc++.h>
using namespace std;
ifstream fi ("4-47.INP.c");
struct Phieu
{
string name;
string gioitinh;
int chieucao;
int cannang;
};
void Nhapphieu(Phieu &suckhoe)
{
//fflush(stdin);
getline(fi,suckhoe.name,'\n');
fi >> suckhoe.gioitinh;
fi >> suckhoe.chieucao;
fi >> suckhoe.cannang;
}
void Nhapstruct (Phieu suckhoe[], int n)
{
for(int i=0; i<n; i++)
{
Nhapphieu(suckhoe[i]);
}
}
void Xuatphieu(Phieu suckhoe)
{
cout << suckhoe.name << endl;
cout << suckhoe.gioitinh << endl;
cout << suckhoe.chieucao << endl;
cout << suckhoe.cannang << endl;
}
void Xuatstruct (Phieu suckhoe[], int n)
{
for(int i=0; i<n; i++)
{
Xuatphieu(suckhoe[i]);
}
}
int main()
{
string nameclass;
fi >> nameclass;
int n;
fi >> n;
cout << nameclass << endl;
cout << n << endl;
Phieu suckhoe[n];
Nhapstruct(suckhoe,n);
Xuatstruct(suckhoe,n);
return 0;
}
Trong đó, cái đoạn:
getline(fi,suckhoe.name,'\n');
fi >> suckhoe.gioitinh;
fi >> suckhoe.chieucao;
fi >> suckhoe.cannang;
Nếu em dùng fi thì khi xuất ra nó ra linh tinh hết lên. Nếu dùng cin thì nó chạy ổn ạ. Mọi người giải thích giúp em với ạ.
Dữ liệu vào của em:
Myclass 6
Nguyen_Van_A
Nam
165
50
Nguyen_Van_B
Nu
163
51
Nguyen_Van_C
Nam
171
59
Nguyen_Van_D
Nu
169
57
Nguyen_Van_E
Nam
170
60
Nguyen_Van_F
Nu
166
52
Mình không rành C++ nên không biêt có cách nào tiện hơn không.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?