这是我在网上复制的代码 但是我不知道如何调试这个问题 希望能得到帮助
这要怎么改啊?
#include "Film.h"
#include<bits/stdc++.h>
using namespace std;
Film::Film(string name,int year, string director,string performer,string company,int grade):
filmName(name),filmYear(year),filmDirector(director),filmPerformer(performer),filmCompany(company),filmGrade(grade) {}
string Film::getFilmName()
{
return filmName;
}
int Film::getFilmYear()
{
return filmYear;
}
string Film::getFilmDirector()
{
return filmDirector;
}
string Film::getFilmPerformer()
{
return filmPerformer;
}
string Film::getFilmCompany()
{
return filmCompany;
}
int Film::getFilmGrade()
{
return filmGrade;
}
void Film::filmBrowse()
{
ifstream fin;
fin.open("film.txt");
if(!fin.is_open())
cout<<"文件打开失败!";
else
{
string name,director,proformer,company;
int grade,year;
cout<<setiosflags(ios::left)<<setw(20)<<"电影名称"<<setw(20)<<"上映年份"<<setw(20)<<"导演"<<setw(20)<<"主演"<<setw(25)<<"出品公司"<<setw(20)<<"电影等级"<<endl;
while(fin>>name>>year>>director>>proformer>>company>>grade)
cout<<setiosflags(ios::left)<<setw(20)<<name<<setw(20)<<year<<setw(20)<<director<<setw(20)<<proformer<<setw(25)<<company<<setw(20)<<grade<<endl;
}
fin.close();
cout<<"继续操作请按回车键"<<endl;
system("pause");
}
int Film::filmQuery(string searchName)
{
ifstream fin;
int flag =1;
fin.open("film.txt");
if(!fin.is_open())
cout<<"文件打开失败";
else
{
string name,director,proformer,company;
int grade,year;
while(fin>>name>>year>>director>>proformer>>company>>grade)
{
if(searchName==name)
{
flag=0;
cout<<"电影信息"<<endl;
cout<<setiosflags(ios::left)<<setw(20)<<"电影名称"<<setw(20)<<"上映年份"<<setw(20)<<"导演"<<setw(20)<<"主演"<<setw(25)<<"出品公司"<<setw(20)<<"电影等级"<<endl;
cout<<setiosflags(ios::left)<<setw(20)<<name<<setw(20)<<year<<setw(20)<<director<<setw(20)<<proformer<<setw(25)<<company<<setw(20)<<grade<<endl;
break;
}
}
}
if(flag!=0)
{
cout<<"未发现所输入电影\n";
fin.close();
cout<<"继续操作请按回车键"<<endl;
system("pause");
return 0;
}
fin.close();
cout<<"2请按回车键"<<endl;
system("pause");
return 1;
}
void Film::filmUpdate()
{
int gps;
ifstream fin;
fin.open("film.txt",ios_base::in|ios_base::binary);
if(!fin.is_open())
cout<<"文件打开失败";
else
{
string searchName;
cout<<"输入要修改的影片名字:";
cin>>searchName;
string name,director,proformer,company;
int grade,year;
while(!fin.eof())
{
gps=fin.tellg();
fin>>name>>year>>director>>proformer>>company>>grade;
if(name==searchName)
{
cout<<"当前电影信息"<<endl;
cout<<setiosflags(ios::left)<<setw(20)<<"电影名称"<<setw(20)<<"上映年份"<<setw(20)<<"导演"<<setw(20)<<"主演"<<setw(25)<<"出品公司"<<setw(20)<<"电影等级"<<endl;
cout<<setiosflags(ios::left)<<setw(20)<<name<<setw(20)<<year<<setw(20)<<director<<setw(20)<<proformer<<setw(25)<<company<<setw(20)<<grade<<endl;
fin.close();
break;
}
}
if(fin.is_open())
{
cout<<"没有找到此影片!";
fin.close();
}
else
{
cout<<"输入修改后的影片信息:"<<endl;
cout<<"当前电影信息"<<endl;
cout<<setiosflags(ios::left)<<setw(20)<<"电影名称"<<setw(20)<<"上映年份"<<setw(20)<<"导演"<<setw(20)<<"主演"<<setw(25)<<"出品公司"<<setw(20)<<"电影等级"<<endl;
cin>>name>>year>>director>>proformer>>company>>grade;
fstream fout;
fout.open("film.txt",ios_base::in|ios_base::out|ios_base::binary);
if(!fout.is_open())
cout<<"文件打开失败!";
else
{
if(gps!=0)
fout.seekp(gps);//设置写入的位置
fout<<name<<" "<<year<<" "<<director<<" "<<proformer<<" "<<company<<" "<<grade<<endl;
cout<<"修改成功!";
fout.close();
}
}
}
cout<<"请按回车键继续操作"<<endl;
system("pause");
}
void Film::filmDel()
{
vector<Film> film;
ifstream fin;
fin.open("film.txt");
if(!fin.is_open())
cout<<"文件打开失败";
else
{
string name,director,proformer,company;
int grade,year;
while(fin>>name>>year>>director>>proformer>>company>>grade)
film.push_back(Film(name,year,director,proformer,company,grade));
fin.close();
string delName;
cout<<"输入要删除的影片名称:";
cin>>delName;
if(filmQuery(delName))
{
vector<Film>::iterator it=film.begin();
for(; it!=film.end(); it++)
{
if(it->getFilmName()==delName)
{
film.erase(it);
cout<<"删除成功!";
break;
}
}
ofstream fout;
fout.open("film.txt",ios_base::binary);
if(!fout.is_open())
cout<<"文件打开失败!";
else
{
for(auto it=film.begin(); it!=film.end(); it++)
fout<<it->getFilmName()<<" "<<it->getFilmYear()<<" "<<it->getFilmDirector()<<" "<<it->getFilmPerformer()<<" "<<it->getFilmCompany()<<" "<<it->getFilmGrade()<<endl;
fout.close();
}
}
else
cout<<"影片不存在!\n";
}
cout<<"请按回车键继续操作"<<endl;
system("pause");
}
void Film::filmAdd()
{
ofstream fout;
fout.open("film.txt",ios::app);
if(!fout.is_open())
cout<<"文件打开失败";
else
{
cout<<"输入要添加的影片信息:";
string name,director,proformer,company;
int grade,year;
cout<<"当前电影信息"<<endl;
cout<<setiosflags(ios::left)<<setw(20)<<"电影名称"<<setw(20)<<"上映年份"<<setw(20)<<"导演"<<setw(20)<<"主演"<<setw(25)<<"出品公司"<<setw(20)<<"电影等级"<<endl;
cin>>name>>year>>director>>proformer>>company>>grade;
int flag=filmQuery(name);
if(!flag){
cout<<"可以添加该影片"<<endl;
fout<<name<<" "<<year<<" "<<director<<" "<<proformer<<" "<<company<<" "<<grade<<endl;
cout<<"添加成功"<<endl;
}
else
cout<<"该影片已存在!\n";
fout.close();
}
cout<<"请按回车键继续操作"<<endl;
system("pause");
}
auto是c++11的语法
vc6.0环境是c++98
可以将代码粘贴出来吗?你在你的提问上面点击编辑,将代码放在代码格式框区域里面,然后提交