音像管理系统的代码Word文档下载推荐.docx
《音像管理系统的代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《音像管理系统的代码Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
};
//影碟类
classdie
private:
charcode[20];
//影碟编号
chartitle[40];
charstar1[40];
//主演1
charstar2[40];
//主演2
charproducer[40];
//制片人
chardirector[40];
//导演
charproductionCo[40];
//制片公司
public:
charflag;
//标记
die()//利用构造函数,将flag变量默认为'
N'
即没有借出
flag='
N'
voidget()//输入影碟资料
请输入影碟编号:
code;
请输入影碟名称:
title;
请输入主演1:
star1;
请输入主演2:
star2;
请输入制片人:
producer;
请输入导演:
director;
请输入制片公司:
productionCo;
voidprint()
影碟编号:
code<
影碟名称:
title<
主演1:
star1<
主演2:
star2<
制片人:
producer<
导演:
director<
制片公司:
productionCo<
voidgetflag()
确认要租此碟吗?
[Y/N]"
cin>
flag;
char*getcode()
return(code);
char*gettitle()
{
return(title);
}
char*getstar1()
{
return(star1);
}
char*getstar2()
return(star2);
char*getproducer()
return(producer);
char*getdirector()
return(director);
char*getproductionCo()
return(productionCo);
classgukeborrowdie//用于记录租碟情况的类
charno[5];
//顾客编号
//影碟编号
voidborrowdie()//借碟
请输入您的编号:
请输入您要租的影碟的编号:
voidprint()//显示
您的编号:
no<
您要租的影碟的编号是:
gukegukesz[500];
//(顾客库)
diedian[500];
//(影碟库)
gukeborrowdiegkbd[500];
//定义租碟记录数组(租碟库)
fstreamfile_guke;
fstreamfile_die;
fstreamfile_gkbd;
intg=0;
//记录顾客个数
intdd=0;
//记录影碟数量
intb=0;
//记录租碟记录
voidcshguke()
{
file_guke.open("
guke.txt"
ios:
:
in);
//打开文件
file_guke.read((char*)&
gukesz[0],sizeof(gukesz[0]));
//将文件内容读到读者库数组的第一个对象
if(strlen(gukesz[0].getno())==0)
顾客库信息为空,请建立顾客信息。
else
while(!
file_guke.eof())//否则将文件后面的内容读到顾客库数组后面的对象之中,从而达到初始化的效果
g++;
//顾客就进行增减
gukesz[g],sizeof(gukesz[g]));
if(g>
=500)
顾客库已满!
break;
初始化顾客库成功……"
file_guke.close();
}
voidcshdie()//初始化影碟库函数
file_die.open("
diefile.txt"
file_die.read((char*)&
dian[0],sizeof(dian[0]));
if(strlen(dian[0].getcode())==0)
影碟库信息为空,请建立影碟信息。
file_die.eof())
dd++;
dian[dd],sizeof(dian[dd]));
if(dd>
=500)
影碟库已满!
初始化影碟库成功……"
file_die.close();
voidcshgkbd()//初始化租碟库
file_gkbd.open("
gkbd.txt"
file_gkbd.read((char*)&
gkbd[0],sizeof(gkbd[0]));
if(strlen(gkbd[0].no)==0)
租碟库信息为空,暂时无租碟情况。
while(!
file_gkbd.eof())
b++;
gkbd[b],sizeof(gkbd[b]));
if(b>
{
租碟库已满,请速让顾客归还影碟。
}
初始化租碟库成功……"
file_gkbd.close();
voidborrowdie()//租碟函数
intd=0;
//逻辑判断值
inti=0;
charflag='
y'
gukeborrowdietemp;
while(flag=='
||flag=='
Y'
)
temp.borrowdie();
for(i=0;
i<
g;
i++)//判断有无此读者编号
if(strcmp(temp.no,gukesz[i].getno())==0)
d=1;
//为1则有此编号,否则无此编号
if(d==0)
对不起!
您的编号不存在!
return;
intd=0,i=0;
//恢复初始值,进行书的编号的判断
for(i=0;
dd;
i++)//判断有无此影碟编号
if(strcmp(temp.code,dian[i].getcode())==0)
//同上
if(d==0)
我们这里没有此影碟!
intj=0;
for(j=0;
j<
b;
j++)
if(strcmp(temp.code,gkbd[j].code)==0)
非常抱歉,此影碟已经租出。
dian[i].getflag();
if(dian[i].flag=='
||dian[i].flag=='
app);
dian[i].print();
gkbd[b]=temp;
file_gkbd.write((char*)&
租碟成功!
请按时归还!
file_gkbd.close();
您不中意此影碟吗?
租碟未成功。
要继续租此影碟吗?
}
voidPrintborrowdie()
inti=0;
for(i=0;
i<
b;
i++)
{
gkbd[i].print();
cout<
voidborrow()
charchoice;
1.凭证借碟2.查看借碟情况0.返回上一级菜单"
请输入功能代码:
choice;
switch(choice)
case'
1'
borrowdie();
2'
Printborrowdie();
0'
default:
输入错误,请重新输入:
voidreplacedie()
inti=0,d=0;
您要还的影碟的编号是:
for(i=0;
i++)
if(strcmp(code,gkbd[i].code)==0)
//逻辑判断,为1则租出,否则没有租出
//因为影碟编号具有唯一性,故退出循环
此碟尚未租出或者不存在。
此碟租出情况如下:
gkbd[i].print();
确认要还此碟吗?
if(flag=='
intp,j=0;
p=b-i;
//P为要循环的次数
for(j=0;
j<
=p;
gkbd[i]=gkbd[i+1];
i++;
b--;
//以下为观察借碟数组变化的代码
voidgkbdwritefile()
inti=0;
out);
gkbd[i],sizeof(gkbd[i]));
voidaddguke()
if(g>
客户库已经满,无法添加!
charflag='
intj=0;
intp=0;
guketemp;
gukefile.txt"
while(flag=='
p=0;
//假设编号为不存在
temp.get();
j++)//判断客户编号是否重复
if(strcmp(temp.getno(),gukesz[j].getno())==0)
此客户编号已经存在!
p=1;
//为1则存在,为0则不存在
if(p==0)
gukesz[g]=temp;
file_guke.write((char*)&
//写入客户库
\t\t写入客户库成功……"
您还要继续吗?
flag;
voidadddie()
if(dd>
影碟库已经满,无法添加!
charf='
intj=0;
intp=0;
dietemp;
file_die.open("
while(f=='
||f=='
if(strcmp(temp.getcode(),dian[j].getcode())==0)
此影碟编号已经存在!
if(p==0)
dian[dd]=temp;
file_die.write((char*)&
dian[b],sizeof(dian[dd]));
\t\t写入影碟库成功……"
cout<
"
要继续吗?
f;
file_die.close();
voidgukelist()
for(intj=0;
gukesz[j].print();
//列出所有影碟
voiddielist()
for(intj=0;
dian[j].print();
//客户编号查找函数
voidgukeFind_no()
intp=0;
//保存对象下标
intd=0;
d=0;
//默认为没有找到
请输入要查找的客户的客户编号:
for(j=0;
if(strcmp(no,gukesz[j].getno())==0)
p=j;
//将下标传给p
//为1则找到对象
//因为code具有唯一性,故后面的不用找了,所以跳出循环.
if(d==1)
gukesz[p].print();
非常抱歉!
没有找到你想要的!
要继续查找吗?
//影碟编号查找函数
voiddieFind_code()
//保存对象
请输入要查找的影碟的编号:
for(j=0;
if(strcmp(code,dian[j].getcode())==0)
dian[p].print();
//客户姓名查找模块
voidgukeFind_name()
charname[10];
//默认为没有找到.
请输入要查找客户的姓名:
for(inti=0;
if(strcmp(name,gukesz[i].getname())==0)
//找到记录,将d值变为1
gukesz[i].print();
//因为姓名不具有唯一性,所以得循环完.
//影碟名称查找模块
voiddieFind_title()
请输入要查找影碟的名称:
for(inti=0;
if(strcmp(title,dian[i].gettitle())==0)
//客户查找
voidgukeFind()
while
(1)
1.按客户编号查