#pragma once
#include<iostream>
#include<string>
using namespace std;
struct sach {
string tensach;
string masach;
int giatien;
int soluong;
};
struct Node
{
sach data;
Node* link;
};
typedef Node* NODEPTR;
typedef NODEPTR LIST;
LIST list;
void inIt(NODEPTR& list) {
list = NULL;
}
void insert(sach& book) {
cout << "Ten sach: ";
getline(cin, book.tensach);
fflush(stdin);
cout << "Ma sach: ";
fflush(stdin);
getline(cin,book.masach);
fflush(stdin);
cout << "nhap gia tien cua sach: ";
cin >> book.giatien;
cout << "so luong cua sach: ";
cin >> book.soluong;
fflush(stdin);
}
void printName(NODEPTR list)
{
NODEPTR p = list;
while (p != NULL)
{
cout << p->data.tensach << " ";
p = p->link;
}
}
void printData(sach book) {
cout << "Ten sach: " << book.tensach << endl;
cout << "Ma sach: " << book.masach << endl;
cout << "Gia tien: " << book.giatien << endl;
cout << "So luong: " << book.soluong << endl;
}
void display(NODEPTR list) {
Node* p = list;
while (p != NULL) {
printData(p->data);
p = p->link;
}
}
Node* makeNode(sach& sach) {
NODEPTR p = new Node;
p->data = sach;
p->link = NULL;
return p;
}
void addList(LIST& list, sach book) {
NODEPTR newNode = makeNode(book);
if (list == NULL) {
list = newNode;
}
else {
NODEPTR p = list;
while (p->link != NULL) {
p = p->link;
}
p->link = newNode;
}
}
void addBook(LIST& list, sach book)
{
int soluong;
cout << "Nhap so luong sach : ";
cin >> soluong;
for (int i = 0; i < soluong; i++) {
insert(book);
addBook(list, book);
}
}
// thieu chuc nang tim kiem
// thieu chuc nang tinh tien sach tuong ung
// thieu tinh nang tinh toan bo tien sach cua thu vien
// thieu chuc nang xoa
// thieu chuc nang sua
int main() {
NODEPTR list;
sach book;
//sach Sach_1 = { "dac nhan tam",self - help, // nhap san 5 sach vao thu vien
// cout << "\n chao mung den voi thu vien";
// cout << "\n chon so tuong ung doi voi chuc nang cua chuong trinh";
// cout << "1:nhap sach ve thu vien.";
// cout << "2:tim sach.";
// cout << "3:tinh tien sach tuong ung";
// cout << "4:tinh tong tien cua toan bo sach co trong thu vien";
// cout << "5:sua thong tin sach";
// cout << "6:xoa sach khoi thu vien";
// int chucnang;
// cin >> chucnang;
// switch (chucnang)
// {
// case 1: addBook(list,book);
// break;
// case 2:
// }
inIt(list);
for (int i = 0; i < 5; i++) {
cout << "Nhap thong tin cuon sach thu " << (i + 1) << ":" << endl;
insert(book);
addList(list, book);
}
cout << "Danh sach cac cuon sach trong thu vien:" << endl;
display(list);
}
chào mọi người, em đang có cái đồ án tin học làm thư viện sách mà bị lỗi như này : em nhập sách được quyển 1 thì ok nhưng tới quyển 2 -> 5 thì bị bỏ qua cái tên ( chỉ nhập được mã sách , giá , số lượng. ban đầu em có hỏi bạn dùng Cin.getline(book.tensach,100) nhưng chạy không được