#include <iostream>
using namespace std;
#include <string>
#define MAX 50
struct SinhVien
{
string hoten[MAX];
float diem;
string mssv[MAX];
};
struct DanhSach
{
SinhVien node[MAX];
int n;
};
void Initilize(DanhSach &ds);
int Empty(DanhSach ds);
int Full(DanhSach ds);
void Read(DanhSach &ds);
void main()
{
}
void Initilize(DanhSach &ds)
{
ds.n == 0;
}
int Empty(DanhSach &ds)
{
return ds.n == 0 ? 1 : 0;
}
int Full(DanhSach ds)
{
return ds.n == MAX ? 1 : 0;
}
void Read(DanhSach &ds)
{
cout << "Nhap so luong sinh vien: ";
cin >> ds.n;
cout << "\n\t\t\tNHAP THONG TIN SV";
for (int i = 0; i < ds.n; i++)
{
cout << "Nhap ho ten sv: ";
getline(cin, ds.node[i].hoten);
cin >> ds.node[i].diem;
}
}
Lỗi không sử dụng được hàm getline
Có nhầm lẫn với C ở đây, theo bạn thì std::string hoten
là gì? :v còn std::string hoten[MAX]
là gì?
1 Like
Hồi trước dùng bình thường mà, sao tự nhiên hôm nay dùng bị lỗi
Bạn đọc lại cách sử dụng getline
đi, nó chỉ nhận std:string
thôi.
istream& getline (istream& is, string& str, char delim);
istream& getline (istream& is, string& str);
1 Like
Rồi reply của bạn đâu có liên quan gì đến câu hỏi của mình đâu ?! Một cái là “chuỗi” và một cái là “mảng chuỗi”, bạn nhầm lẫn với “mảng ký tự” trong C rồi :v tự nhiên kêu std::getline
đi lấy 1 dòng đắp vào cái “mảng chuỗi” thì phải đắp như nào?
1 Like
Tức là hồi trước bạn dùng sai cách, nhưng vô tình nó vẫn chạy được.
1 Like
Chắc nhớ nhầm với istream::getline
1 Like