Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (42.25 KB, 6 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iomanip.h>
#include <ctype.h>
#include <fstream.h>
class sach
{
public:
int sosach;
char tensach[30],theloai[30];
char masach[10];
void insach();
void nhapds_sach();
void nhapsach();
};
class phieu :public ds_sach
{
public:
char maphieu[10];
char docgia[30];
class ds_phieu :public phieu
{
public:
phieu *P;
void nhapds_phieu();
void timphieu(char ma[10]);
void xoaphieu(char ma[10]);
void themphieu(phieu y);
void inds_phieu();
void thongke_quahan();
void muonsach();
void kiemtrasach();
void docphieu();
void ghiphieu();
};
int i,j,chon;
void sach::nhapsach()
{
printf("nhap ma sach: ");
cin.getline(masach,10);
printf("nhap ten sach: ");
cin.getline(tensach,30);
printf("nhap the loai: ");
cin.getline(theloai,30);
}
void sach::nhapds_sach()
{
S=new sach[sosach+1];
for(int i=1;i<=sosach;i++)
S[i].nhapsach();
}
void phieu::nhapphieu()
{
printf("nhap ma phieu muon: ");
cin.getline(maphieu,10);
printf("nhap ma sach muon: ");
printf("nhap ten doc gia: ");
cin.getline(docgia,30);
printf("nhap ngay thang nam : ");
cin>>ngay>>thang>>nam;
printf("nhap ngay muon sach: ");
cin>>ngaymuon;
printf("nhap ngay tra sach: ");
cin>>ngaytra;
printf("nhap so sach muon: ");
cin>>sosachmuon;
}
void phieu::inphieu()
{
printf("=============================================");
printf("in thong tin phieu");
printf("ma phieu:%s\nma sach muon:%s\ndocgia:%s\nngaymuon:%s\nngaytra:
%s\n”,maphieu,masach,docgia, ngaymuon,ngaytra);
}
void ds_phieu::nhapds_phieu()
{
printf("nhap so phieu: ");
scanf(“%d”,&sophieu);
P=new phieu[sophieu+1];
for(int i=1;i<=sophieu;i++)
{
printf("nhap thong tin phieu");
P[i].nhapphieu();
}
}
void ds_phieu::timphieu(char ma[10])
{
int i=1;
while(i<=sophieu && strcmp(P[i].maphieu,ma)!=0)
i++;
if(i>sophieu)
printf("khong co phieu nay");
else
{
printf("da tim thay-in thong tin phieu”);
P[i].inphieu();
}
}
void ds_phieu::themphieu(phieu y)
{
sophieu++;
P[sophieu]=y;
}
void ds_phieu::xoaphieu(char ma[10])
{
while(i<=sophieu && strcmp(P[i].maphieu,ma)!=0)
i++;
if(i>sophieu)
printf("khong co phieu nay");
else
{
printf("da tim thay-thuc hien xoa phieu");
for(int j=i;j<=sophieu;j++)
P[j]=P[j+1];
}
void ds_phieu::inds_phieu()
{
printf("in thong tin phieu");
for(int i=1;i<=sophieu;i++)
P[i].inphieu();
}
void ds_phieu::thongke_quahan()
{
for(int i=1;i<=sophieu;i++)
if(P[i].ngaytra-P[i].ngaymuon>5)
printf("ten doc gia muon sach qua 5 ngay”,P[i].docgia);
}
void ds_phieu::muonsach()
{
char docgia[30];
int ch;
int ms;
printf("nhap ten doc gia: ");
cin.getline(docgia,30);
printf(" da tra sach chua ? - C/K");
ch=toupper(getch());
if(ch=='C')
printf("da tra sach");
sosach=sosach+1;
printf("doc gia muon sach ");
S.docsach();
printf("co con sach khong ? -Y/N?");
ms=toupper(getch());
if(ms=='Y')
printf("con sach - cho doc gia muon");
sosach=sosach-1;
S.insach;
else
printf("da het sach");
}
void sach::insach()
{
printf("==========================================================");
printf"thong tin sach");
printf("ma sach:%s\nten sach:%s\nthe loai",masach,tensach,theloai);
}
void ds_phieu::ghiphieu()
{
char taptin[10];
strcpy(taptin,"DS_phieu.txt");
ofstream f(taptin,ios::app);
if(f.bad()!=0)
exit(1);
f<<sophieu;
for(int i=1;i<=sophieu;i++)
f<<setw(10)<<P[i].maphieu<<setw(10)<<P[i].masach<<setw(30)<<P[i].docgia<<se
tw(10)<<P[i].ngaymuon<<setw(10)<<P[i].ngaytra<<endl;
printf("ghi tot");
f.close();
}
void ds_phieu::docphieu()
char taptin[10];
strcpy(taptin,"DS_phieu");
ifstream f(taptin,ios::in);
if(f.bad()!=0)
{
printf("loi doc tap tin"<<endl;
getch();
exit(1);
}
f>>sophieu;
for(int i=1;i<=sophieu;i++)
{
f.read(P[i].maphieu,10);
f.read(P[i].masach,10);
f.read(P[i].docgia,30);
f>>P[i].ngaymuon;
f>>P[i].ngaytra;
f.ignore();
}
printf("doc tot");
f.close();
}
void thucdon(int *chon)
{
printf("1-nhap ds phieu");
printf("2-in ds phieu");
printf("3-tim phieu");
printf("4-them phieu");
printf("5-xoa phieu");
printf("6-muon sach");
printf("7-docphieu");
printf("8-ghi phieu");
printf("9-thong ke doc gia qua han");
printf("10-nhap ds sach ");
printf("0-thoat");
printf("chon 1 trong cac muc tren: ");
scanf(“%d”,&*chon);
}
void main()
{
clrscr();
char ma[10];
ds_sach A;
ds_phieu B;
do
{
thucdon(&chon);
switch(chon)
{
{
clrscr();
printf("1-nhap ds phieu: ");
B.nhapds_phieu();
break;
}
case 2:
{
clrscr();
printf("2-in ds phieu");
B.inds_phieu();
break;
}
case 3:
{
clrscr();
printf("nhap ma so phieu can tim: ");
cin.getline(ma,10);
B.timphieu(ma);
break;
}
case 4:
{
clrscr();
phieu x;
x.nhapphieu();
B.themphieu(x);
break;
}
case 5:
{
clrscr();
printf("nhap ma so phieu can xoa: ");
cin.getline(ma,10);
B.xoaphieu(ma);
break;
}
case 6:
{
clrscr();
B.muonsach();
break;
}
case 7:
{
clrscr();
B.docphieu();
break;
}
case 8:
clrscr();
B.ghiphieu();
break;
}
case 9:
{
clrscr();
}
case 10:
{
clrscr();
printf("nhap danh sach sach");
A.nhapds_sach();
break;
}
}
getch();
}