📄 videosystem.cpp
字号:
#include <iostream.h>
#include <fstream.h>
#include "myString.h"
#include "linkedList.h"
#include "videoType.h"
#include "videoListType.h"
#include "custType.h"
#include "custListType.h"
void createVideoList(ifstream& infile,videoListType& videoList);
void createCustList(ifstream& infileCust,custListType& custList);
void displayMenu();
void saveData(videoListType &videoList,custListType &custList);
int main()
{
videoListType videoList;
char choice;
char ch;
char title[50];
ifstream infile;
infile.open("videoDat.txt");
if(!infile)
{
cout<<"(影碟链表)Input file does not exist"<<endl;
return 1;
}
createVideoList(infile,videoList);
infile.close();
custListType custList;
char AcctNo[50];
ifstream infileCust;
infileCust.open("custDat.txt");
if(!infileCust)
{
cout<<"(顾客链表)Input fileCust does not exist"<<endl;
return 1;
}
createCustList(infileCust,custList);
infileCust.close();
displayMenu();
cout<<"Enter choice:";
cin>>choice;
cout<<endl;
while(choice != '0')
{
switch(choice)
{
case '1': cout<<"输入搜索影碟名:";
cin.get(ch);
cin.get(title,50);
cout<<endl;
if(videoList.videoSearch(title))
{
if(videoList.isVideoAvailable(title))
cout<<"商店中有库存,可以出租!"<<endl;
else
cout<<"本碟已经全部租出"<<endl;
}
else
cout<<"商店没有此碟"<<endl;
break;
case '2':cout<<"输入要租出的影碟:";
cin.get(ch);
cin.get(title,50);
cout<<endl;
if(videoList.videoSearch(title))
{
if(videoList.isVideoAvailable(title))
{
cout<<"租给哪位顾客?帐号:";
cin.get(ch);
cin.get(AcctNo,50);
custList.custrentvideo(AcctNo,title);
videoList.videoCheckOut(title);
cout<<"成功租出:"<<title<<endl;
}
else
cout<<"对不起,目前影碟<"<<title<<">已经租完!"<<endl;
}
else
cout<<"商店目前没有此碟<"<<title<<">"<<endl;
break;
case '3': cout<<"返还影碟是:";
cin.get(ch);
cin.get(title,50);
cout<<"还碟用户帐号:";
cin.get(ch);
cin.get(AcctNo,50);
cout<<endl;
if(videoList.videoSearch(title))
{
custList.custbackvideo(AcctNo,title);
videoList.videoCheckIn(title);
}
break;
case '4':cout<<"查找影碟名:";
cin.get(ch);
cin.get(title,50);
cout<<endl;
if(videoList.videoSearch(title))
{
cout<<"找到影碟<"<<title<<">"<<endl;
videoList.videoPrintInfo(title);
}
else
cout<<"商店没有此影碟"<<endl;
break;
case '5': videoList.videoPrintTitle();
break;
case '6': videoList.print();
break;
case '7': videoList.insertVideo();
cout<<"已经成功导入一张新的影碟!";
break;
case 'a': cout<<"搜索帐号:";
cin.get(ch);
cin.get(AcctNo,50);
custList.custSearch(AcctNo);
break;
case 'b': custList.PrintAllInfo();
break;
case 'c':cout<<"输入要重新设置信息的帐号:";
cin.get(ch);
cin.get(AcctNo,50);
custList.deletcust(AcctNo);
custList.insertcust();
cout<<"成功修改帐号!"<<endl;
break;
case 'd': custList.insertcust();
break;
case 'e': cout<<"输入要删除的顾客帐号:";
cin.get(ch);
cin.get(AcctNo,50);
char really;
cout<<"确定要删除顾客帐号"<<AcctNo<<"吗?y or n?";
cin>>really;
if(really == 'y')
{
custList.deletcust(AcctNo);
}
else
{
cout<<"退出删除程序!"<<endl;
}
break;
case 's': saveData(videoList,custList);
cout<<"成功保存"<<endl;
break;
default: cout<<"无效选择,请重新输入"<<endl;
} //end switch
displayMenu();
cout<<"Enter choice:";
cin>>choice;
cout<<endl;
}//endl;
return 0;
}
void createVideoList(ifstream& infile, videoListType& videoList)
{
char Title[50];
char Star1[50];
char Star2[50];
char Producer[50];
char Director[50];
char ProductionCo[70];
char ch;
int InStock;
videoType newVideo;
infile.get(Title,50);
infile.get(ch);
while(infile)
{
infile.get(Star1,50);
infile.get(ch);
infile.get(Star2,50);
infile.get(ch);
infile.get(Producer,50);
infile.get(ch);
infile.get(Director,50);
infile.get(ch);
infile.get(ProductionCo,70);
infile.get(ch);
infile>>InStock;
infile.get(ch);
newVideo.setVideoInfo(Title,Star1,Star2,Producer,Director,ProductionCo,InStock);
videoList.insertFirst(newVideo);
infile.get(Title,50);
infile.get(ch);
}//end while
}//end createVideoList
void createCustList(ifstream& infileCust,custListType& custList)
{
char AcctNo[50];
char fName[50];
char lName[50];
char video1[50];
char video2[50];
char video3[50];
char ch;
custType newcust;
infileCust.get(AcctNo,50);
infileCust.get(ch);
while(infileCust)
{
infileCust.get(fName,50);
infileCust.get(ch);
infileCust.get(lName,50);
infileCust.get(ch);
infileCust.get(video1,50);
infileCust.get(ch);
infileCust.get(video2,50);
infileCust.get(ch);
infileCust.get(video3,50);
infileCust.get(ch);
newcust.setCustInfo(AcctNo,fName,lName,video1,video2,video3);
custList.insertFirst(newcust);
infileCust.get(AcctNo,50);
infileCust.get(ch);
}
}
void saveData(videoListType &videoList,custListType &custList)
{
ofstream ofilevideo;
ofstream ofilecust;
ofilevideo.open("videoDat.txt");
if(!ofilevideo)
{
cout<<"影碟 文件夹不存在,不能保存!"<<endl;
// exit(1);
}
else
{
nodeType<videoType>* current;
current=videoList.getfirstnode();
while(current != NULL)
{
ofilevideo<<current->info.videoTitle<<endl;
ofilevideo<<current->info.movieStar1<<endl;
ofilevideo<<current->info.movieStar2<<endl;
ofilevideo<<current->info.movieProducer<<endl;
ofilevideo<<current->info.movieDirector<<endl;
ofilevideo<<current->info.movieProductionCo<<endl;
ofilevideo<<current->info.copiesInStock<<endl;
current = current->link;
}
}
ofilevideo.close();
ofilecust.open("custDat.txt");
if(!ofilecust)
{
cout<<"顾客 文件夹不存在,不能保存!"<<endl;
// exit(1);
}
else
{
nodeType<custType> *current;
current=custList.getfirstnode();
while( current!=NULL )
{
ofilecust<<current->info.custAcctNo<<endl;
ofilecust<<current->info.firstName<<endl;
ofilecust<<current->info.lastName<<endl;
ofilecust<<current->info.video1<<endl;
ofilecust<<current->info.video2<<endl;
ofilecust<<current->info.video3<<endl;
current = current->link;
}
ofilecust.close();
}
}
void displayMenu()
{
cout<<" =============选择你所要的操作=============== "<<endl;
cout<<" 1: 是否可以出租影碟 a:搜索顾客并打印信息:"<<endl;
cout<<" 2: 出租影碟 b:打印所有顾客名单 "<<endl;
cout<<" 3: 返还影碟 c:设置顾客信息 "<<endl;
cout<<" 4: 打印一张影碟的详细信息 d:增加顾客 "<<endl;
cout<<" 5: 打印影碟清单 e:删除顾客 "<<endl;
cout<<" 6: 打印所有影碟详细信息 "<<endl;
cout<<" 7:增加影碟 s:保存文档 0:退出系统 "<<endl;
cout<<" ==================================== "<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -