C++影碟出租系统课程设计源代码Word文件下载.docx

上传人:b****5 文档编号:19522473 上传时间:2023-01-07 格式:DOCX 页数:30 大小:130.08KB
下载 相关 举报
C++影碟出租系统课程设计源代码Word文件下载.docx_第1页
第1页 / 共30页
C++影碟出租系统课程设计源代码Word文件下载.docx_第2页
第2页 / 共30页
C++影碟出租系统课程设计源代码Word文件下载.docx_第3页
第3页 / 共30页
C++影碟出租系统课程设计源代码Word文件下载.docx_第4页
第4页 / 共30页
C++影碟出租系统课程设计源代码Word文件下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C++影碟出租系统课程设计源代码Word文件下载.docx

《C++影碟出租系统课程设计源代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++影碟出租系统课程设计源代码Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。

C++影碟出租系统课程设计源代码Word文件下载.docx

if(vi->

Type==1)os<

喜剧"

else{

Type==2)os<

悲剧"

;

Type==3)os<

科幻片"

Type==4)os<

悬疑剧"

Type==5)os<

惊悚片"

else{

Type==6)os<

其他”

库存量:

Number<

returnos;

#endif

operator<

(ostream&

os,constCustomer&

cu);

friendclassapplication;

friendclassvideo;

Customer(string="

string="

int=O,int=O,string="

int=O,int=O);

//构造函数

intDeclineMoney(int);

boolRentVideo(string);

boolReturnVideo(string);

//private:

stringidPerson;

stringName;

intLeftMoney;

intnCount;

VideoInfoVideo[10];

Customer*next1;

};

Customer:

Customer(string

//扣取消费额

//出租影碟

//归还影片

//会员账号

//会员姓名

//会员剩余金额

//所借碟片数量

//每个会员最多借

idperson,stringname,int

10张影碟

leftmoney,intncount,string

 

videoname,intbegintime,intendtime){

idPerson=idperson;

Name=name;

LeftMoney=leftmoney;

nCount=ncount;

for(inti=0;

i<

nCount;

i++){

Video[i].VideoName=videoname;

Video[i].BeginTime=begintime;

Video[i].EndTime=endtime;

\t"

cu->

Name<

会员剩余会

os,constCustomer*cu){

会员编号为:

idPerson<

会员姓名为:

费余额为:

LeftMoney<

for(inti=0;

i<

所借影片名为:

Video[i].VideoName<

os<

影片借阅日期为:

Video[i].BeginTime<

影片归还日期为:

Video[i].EndTime<

\n"

#ifndefMENU_H#defineMENU_H#include<

usingnamespacestd;

//classmenu

菜单类

classmenu{//

intshowMainMenu();

private:

};

intmenu:

showMainMenu(){

system("

cls"

);

cout<

|

1.

影碟租赁

|"

2.

影碟归还

3.

查看各类型影碟信息

4.

查询碟片信息

5.

添加新影碟

6.

删除碟片信息

7.

修改碟片信息

8.

查看会员信息

9.

注册会员

10.

注销会员

11.

更新会员信息与充值

「<

endl;

12.

退出系统

欢迎使用影碟出租系统

**********************************************

**|"

请选择1-12:

"

intselect;

cin>

>

select;

while(select<

1||select>

12){

选择错误,请重新选择1-12"

cin.clear();

//当输入字符,清空流错误状态

cin.sync();

//清空数据流

returnselect;

#ifndefAPPLICATION』

#defineAPPLICATION_H

fstream>

#include"

video.h"

Customer.h"

#include"

menu.h"

class即plication{//数据应用类

application();

~application();

数据输出

数据保存到文件

根据类型查找

查看影碟信息:

根据碟片名称查找

添加影碟

删除影碟

修改影碟信息

会员信息:

根据姓名查找

voidload();

//

voidsave();

voidRent();

〃1.

voidReturn();

〃2.

voidCheckall();

〃3.

voidsearch(intType);

voidCheck(stringvidname);

〃4.

voidAddvideo();

〃5.

voidDeletevideo();

〃6.

voidModifyvideo(stringVname);

〃7.

voidCustomerinfo(stringCname);

//8.

voidAdd();

//9.

voidDelete();

//10.

voidModify(stringName);

//11.

voidrun();

private:

stringtitle;

menumyMenu;

videomyvideo;

Customermycustomer;

video*vid;

Customer*cus;

application:

application(){

vid=0;

cus=0;

load();

~application(){

video*v;

v=vid;

Customer*c;

c=cus;

while(v){

v=v->

next;

deletevid;

vid=v;

while(c){

c=c->

nextl;

deletecus;

cus=c;

/

voidapplication:

load(){

ifstreamfile;

video*v=vid;

碟片信息

stringVname;

碟片名称

stringCountry;

国家

intType;

类型

stringProducer;

制片人

stringDirector;

导演

stringStar;

主演明星

intNumber=0;

file.open("

video.txt"

ios:

in);

库存量

file>

>

Vname>

Country»

Type>

Producer>

Director>

Star»

Number;

while(file.good()){

v=newvideo(Vname,Country,Type,Producer,Director,Star,Number);

v->

next=0;

//碟片结点加入链表

if(vid)//若已经存在结点

{

video*v2;

v2=vid;

while(v2->

next)//查找尾结点

v2=v2_>

v2->

next=v;

//连接

else//若不存在结点(表空)

vid=v;

Vname>

Country>

Star>

}

file.close();

ifstreamfilel;

//

会员信息

Customer*c=cus;

VideolnfoVideo[10];

//每个会员最多借10张影碟

filel.open("

Customer.txt"

file1»

idPerson>

Name»

LeftMoney»

nCount;

Video[i].BeginTime»

Video[i].EndTime»

Video[i].VideoName;

while(file1.good()){

nCount;

c=new

Customer(idPerson,Name,LeftMoney,nCount,Video[i].VideoName,Video[i].BeginTime,Video[i].EndTime);

c->

next1=0;

//顾客结点加入链表

if(cus)//若已经存在结点

Customer*c2;

c2=cus;

while(c2->

next1)//查找尾结点

c2=c2->

next1;

c2->

next仁c;

else//若不存在结点(表空)cus=c;

file1.close();

voidapplication:

save(){

ofstreamfile("

out);

ofstreamfile1("

charc;

cout«

\n是否保存数据?

[Y/N]:

c;

if(toupper(c)!

='

Y'

return;

file<

v->

Vname<

Country<

Type<

Producer<

Director<

Star<

Number<

Customer*cu=cus;

while(cu){

file1<

idPerson<

<

LeftMoney<

nCount<

Video<

cu=cu->

next1;

\n保存成功...\n"

Rent(){

intnumber;

Customer*c1;

c1=cus;

请输入会员姓名:

cin»

Cname;

while(c1){

if(c1->

Name==Cname)

break;

c1=c1->

if(c1!

=NULL){

c1;

请输入租赁碟片数目:

number;

if(number>

10-c1->

nCount)

租赁数目超过限定值!

else

if(number*20>

c1->

LeftMoney)

余额不足,请充值或减少影碟数!

if(number<

=10-c1->

nCount&

&

number*20<

=c1->

LeftMoney){

c1->

nCount=number;

请输入租赁日期(例:

2013年08月08日写为20130808):

Video[i].BeginTime;

请输入碟片名:

LeftMoney-=number*20;

\t\t租赁成功!

未找到该会员,请先注册!

Return(){

intnumber,time;

}if(c1!

Customerinfo(Cname);

cout<

请输入归还碟片数目:

nCount=c1->

nCount-number;

for(inti=0;

number;

i++){cout<

请输入碟片名称:

cin>

请输入归还日期:

Video[i].EndTime;

请输入该碟片租赁天数:

time;

if(time%3==0)c1->

LeftMoney=c1->

LeftMoney+20-time/3;

LeftMoney+20-time/3-1;

\t\t扣费成功!

\t\t***归还成功***\n"

未找到该会员,请确认!

voidapplication:

search(intType){//根据类型查找

video*v1;

v1=vid;

while(v1){

if(v1_>

Type==Type)

v1=v1->

if(v1!

v1;

未找到该类型的碟片!

Checkall(){

选择要查找的碟片类型(1.喜剧2.悲剧3.科幻片4.悬疑剧5.历史剧6.惊悚片7.其他):

Type;

search(Type);

********以上为类型所有碟片*********"

是否继续查找【Y/N】?

if(toupper(c)=='

){

Checkall();

return;

pause"

voidapplication:

Check(stringvidname){

if(v1->

Vname==vidname)

未找到该碟片!

Addvideo(){

video*v,*v2;

新结点指针

intType=7;

丿

7

\n**新增碟片信息

//输入碟片信息

**\n"

输入片名cin»

Vname;

v1=vid;

Vname==Vname){

该碟片已存在,是否修改该碟片信息(Y/N)"

该碟片信息为:

Check(Vname);

Modifyvideo(Vname);

cin>

国家:

Country;

类型(1.喜剧2.悲剧3.科幻片4.悬疑剧5•惊悚片6.其他):

制片人:

”;

Producer;

导演:

Director;

主演:

Star;

Vname==Vname)

v2=v1;

//删除结点

=NULL)〃若找到结点,则删除

所要删除的碟片信息如下:

\n"

确定是否删除(Y/N):

if(v仁=vid)//若要删除的结点是第一个结点

vid=v1->

deletev1;

else//若要删除的结点是后续结点

next=v1->

save();

\t\t***删除成功***\n"

是否继续删除(Y/N)"

Deletevideo();

else//未找到结点

未找到该碟片!

Modifyvideo(stringvidname){

v仁vid;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1