xin chào mọi người, mình đang làm bài tập class quản lí thư viện C++ mà gặp lỗi không thể nhập dữ liệu cho biến char TenSach[40] (theo yêu cầu của đề). Chương trình chạy không báo lỗi nhưng sẽ không để mình nhập tên sách mà tới bước nhập giá sách luôn ạ. Mình xin cảm ơn.
file Sach.h
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Sach
{
private:
int MaSach;
char TenSach[40];
float Gia;
public:
void Nhap();
void Xuat();
int TimSach;
int XuatTenSach();
int GiaCaoNhat();
};
file ThuVien.h
#pragma once
#include "Sach.h"
class ThuVien
{
private:
Sach CacSach[100];
int n;
public:
void NhapAllSach();
void XuatAllSach();
};
file Sach.cpp
#include "Sach.h"
void Sach::Nhap()
{
cout << "Nhap ma sach: ";
cin >> MaSach;
cout << "Nhap ten sach: ";
gets_s(TenSach);
cout << "Nhap gia sach: ";
cin >> Gia;
}
void Sach::Xuat()
{
cout << "Ma sach: " <<MaSach<< endl;
cout << "Ten sach: " << TenSach << endl;
cout << "Gia sach: " << Gia << endl;
}
file ThuVien.cpp
#include "ThuVien.h"
void ThuVien::NhapAllSach()
{
cout << "Nhap so luong sach: ";
cin >> n;
for (int i = 0; i < n; i++)
CacSach[i].Nhap();
}
void ThuVien::XuatAllSach()
{
for (int i = 0; i < n; i++)
CacSach[i].Xuat();
}
file main.cpp
#include "ThuVien.h"
void main()
{
ThuVien a;
a.NhapAllSach();
cout << "tat ca cac sach: " << endl;
a.XuatAllSach();
system("pause");
}