Đề bài là : Xây dựng lớp sách gồm ccsc thuộc tính: mã sách , tên sách ,tác giả ,số lượng, giá tiền .Ngoài các phương thức thông thường bổ sung phương thức in sách (đưa ra màn hình thông tin về đối tượng sách ). PHương thức cho mượn sách ( tham số là số lượng mượn ) cho ra kết quả là tổng chi phí phải trả (bằng 5% giá sách ).Trong chương trìnhtaoj menu các chức năng thực hiện :
1. Nhập thêm 1 đầu sách .Kết quả lưu thêm vào file SACH.DAT
2.Cho mượn sách (nhập mã sách cần mượn ,số lượng mượn,in ra kết quả tổng chi phí ).
Cập nhật thông tin vào file SACH.DAT
3.SẮp xếp các cuốn sách theo số lượng còn lại tăn g dần .In ra kết quả và lưu vào file SXSACH.DAT
4.Duyệt danh sách các đầu sách hiện có trong file SACH.DAT
0.thoat
Mình kok biết làm thế nào để làm là nhập thêm 1 đầu sách nên cứ làm đại là nhập n đầu sách với phần lưu vào file thế nào các pro làm giúp t với t thi phần này mà kok biết làm theo kiểu nhập thêm đầu sách cả hic hic
Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<iostream.h>
class sach{
private:
char ma[30];
char tensach[30];
char tacgia[30];
float giatien;
int soluong;
public:
sach(){}
int getsoluong(){
return soluong;
}
float getgiatien(){
return giatien;
}
void init(char *a,char *s,char *t,float b,int c){
strcpy(tensach,s);
strcpy(tacgia,t);
strcpy(ma,a);
giatien=b;
soluong=c;
soluongcon=d;
}
char *getma(){return ma;}
void show(){
cout<<" "<<ma<<" "<<tensach<<" "<<tacgia<<" "<<giatien<<" "<<soluong<<" "<<"\n \t ";
}
};sach ds[100];int n;
void nhap(){
char a[30];int c,d;
float b;
char s[30];
char t[30];
cout<<"\n Nhap n:";
cin>>n;
for(int i=0;i<n;i++){
cout<<"\n QUyen sach thu :"<<i+1;
cout<<"\n Nhap ten sach :";
cin>>s;
cout<<"\n Nhap ma sach :";
cin>>a;
cout<<"\n Nhap ten tac gia:";
cin>>t;
cout<<"\n Nhap gia tien :";
cin>>b;
cout<<"\n Nhap so luong sach :";
cin>>c;
ds[i].init(a,s,t,b,c);
}
}
void inds(){
for(int i=0;i<n;i++)
ds[i].show();
}
void muonsach(){
float tientra;
int m;
char k[30];
int kt=0;
cout<<"Nhap ma sach can muon:";
fflush(stdin);
gets(k);
cout<<"Nhap so sach can muon:";
cin>>m;
for(int i=0;i<n;i++){
if(strcmp(k,ds[i].getma())==0){
cout<<"\nTIm thay sach can muon!";
tientra=ds[i].getgiatien()*m*5/100;
cout<<"\nTien phai tra la :"<<tientra;
kt=1;
}
if(ds[i].getsoluong()<m) cout<<"\n THieu sach !";
}
if(kt==0) cout<<"\n Ko tim thay !";
}
void sapxep(){
int j,i;
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
if(ds[i].getsoluong()<ds[j].getsoluong()){
sach temp=ds[i];
ds[i]=ds[j];
ds[j]=temp;
}
}
void main(){
clrscr();
nhap();
cout<<"\n Danh sach cac loai sach :";
inds();
muonsach();
sapxep();
cout<<"\n Danh sach sau sap xep :";
inds();
getch();
}