01/10/2018, 11:45
Lỗi không sử dụng được hàm getline
#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 << "
NHAP 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;
}
}
Bài liên quan
Có nhầm lẫn với C ở đây, theo bạn thì
std::string hoten
là gì? :v cònstd::string hoten[MAX]
là gì?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ậnstd:string
thôi.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?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.
Chắc nhớ nhầm với
istream::getline