-
大小: 9KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-05-14
- 語言: C/C++
- 標(biāo)簽:
資源簡介
編寫一個(gè)影碟出租管理程序
影碟信息的組成部分為:碟片名稱、國家、類型、借閱標(biāo)記等
出租信息的組成部分為:會(huì)員名、碟片名稱、借閱日期、歸還日期、租金等
代碼片段和文件信息
#include?
#include?
#include?
#include?
using?namespace?std;
class?yingdie????//影碟類
{
char?num[20];
char?name[20];
char?country[20];
char?type[20];
int?tag;//標(biāo)記借閱?0:借出??1:在庫
public:
yingdie?*next;
yingdie()?????
{
num[0]=0;??name[0]=0;??country[0]=0;?type[0]=0;next=NULL;tag=1;
}
~yingdie(){}
????
char?*getname(){return?name;}???//獲取影碟名稱
int?gettag(){return?tag;}
void?Input()??//輸入影碟信息
{
cout<<“請(qǐng)輸入影碟編號(hào):“;??cin>>num;??cout< cout<<“請(qǐng)輸入影碟名稱:“;??cin>>name;??cout< cout<<“請(qǐng)輸入影碟國家:“;??cin>>country;??cout< cout<<“請(qǐng)輸入影碟類型:“;??cin>>type;??cout< }
void?Output() //輸出影碟信息
{
cout< cout< cout<<“\t“< cout< }
friend?class?cangku;
};
class?huiyuan????//會(huì)員類
{
char?hy_name[20];
public:
int?rent_time[2];???//借出時(shí)間(包含月和日)
int?return_time[2];?//歸還時(shí)間(包含月和日)
double?money;???????//應(yīng)支付的錢
huiyuan?*next1;
huiyuan()
{
hy_name[0]=0;??money=0;
for(int?i=0;i<2;i++)
{
rent_time[i]=0;
return_time[i]=0;
}
}
~huiyuan(){}
char?*gethyname(){return?hy_name;}???//獲取會(huì)員名稱
void?sethyname(char?*hyname)???//設(shè)置會(huì)員名稱
{
strcpy(hy_namehyname);
}
friend?class?cangku;
};
class?cangku
{
yingdie?*head*tail;
huiyuan?*top*end;
public:
cangku()
{
head=NULL;
tail=NULL;
top=NULL;
end=NULL;
}
~cangku()
{
yingdie*?p;
huiyuan?*q;
while(head)
{
p=head;?
head=head->next;
delete?p;
}
while(top)
{
q=top;
top=top->next1;
delete?q;
}
}
void?addyd();?
void?addhy();?
void?Delete();?
void?search();??
void?print();??
void?chuzu();??
void?guihuan();?
};
void?cangku::addyd()?//創(chuàng)建影碟鏈表
{
cout<<“\n\t\t\t\t**?增加影碟的相關(guān)信息?**\t\t\n\n“;
char?ch;
A: yingdie?*p=new?yingdie;
p->Input();
p->tag=1;
p->next=NULL;
if(tail)
tail->next=p;
else
head=p;
tail=p;
while(1)
{
cout<<“是否繼續(xù)輸入?(Y/N)\n“;
cin>>ch;
if(ch==‘Y‘||ch==‘y‘)
goto?A;
if(ch==‘N‘||ch==‘n‘)break;
}
}
void?cangku::addhy()?//創(chuàng)建會(huì)員鏈表
{
B: huiyuan?*p=new?huiyuan;
char?hyname[20]ch;
cout<<“\n\t\t\t\t**?增加會(huì)員的相關(guān)信息?**\t\t\n\n“;
cout<<“請(qǐng)輸入要添加的會(huì)員名稱:\n“;
cin>>hyname;
p->sethyname(hyname);
p->next1=NULL;
if(end)
end->next1=p;
else
top=p;
end=p;
while(1)
{
cout<<“是否繼續(xù)輸入?(Y/N)\n“;
cin>>ch;
if(ch==‘Y‘||ch==‘y‘)
goto?B;
if(ch==‘N‘||ch==‘n‘)break;
}
}
void?cangku::Delete()????//刪除影碟
{
cout<<“\n\t\t\t\t**?刪除影碟?**\t\t\n\n“;
yingdie?*p1*p2;
char?nam[20];
char?a[20];
if(head==NULL)
{
cout<<“\t\t現(xiàn)無任何記錄!\n“;
}
else
{
p2=head;
cout<<“\n\n請(qǐng)輸入要?jiǎng)h除的影碟名稱:\n“;
cin>>nam;
while(strcmp(p2->getname()nam)!=0&&p2->next!=NULL)
{
p1=p2;
p2=p2->next;
}
if(strcmp(p2->namenam)==0)
{??
if(p2==head)????????//如找到的節(jié)點(diǎn)為第一個(gè)節(jié)點(diǎn)
head=p2->next;??????//則head指
評(píng)論
共有 條評(píng)論