C++ C++;试图使用向量
我需要用一个向量来表示一个胶片对象。向我抛出错误,不确定东西需要移动到哪里,或者我是否命名错误。可能是显而易见的事情 代码:C++ C++;试图使用向量,c++,object,vector,structure,C++,Object,Vector,Structure,我需要用一个向量来表示一个胶片对象。向我抛出错误,不确定东西需要移动到哪里,或者我是否命名错误。可能是显而易见的事情 代码: #包括“std_lib_facilities.h” int main() { 班级电影 { 公众: 胶片(); 胶片(串sl、串el); }; cout>启动电影; cout>结束电影; 日期; 字符串名; name=“films.txt”; ifstream ist(name.c_str()); 如果(!ist) 错误(“无法打开输出文件”+名称); vector t
#包括“std_lib_facilities.h”
int main()
{
班级电影
{
公众:
胶片();
胶片(串sl、串el);
};
cout>启动电影;
cout>结束电影;
日期;
字符串名;
name=“films.txt”;
ifstream ist(name.c_str());
如果(!ist)
错误(“无法打开输出文件”+名称);
vector temps;//创建一个向量来存储读数
弦乐片;
字符串控制器;
浮动评级;
国际年;
国际日期;
同时(ist>>电影>>导演>>评级>>年份>>日期)
{//read
//检查
临时向后推(电影(电影、导演、评级、年份、日期));//商店
}
不能“把错误扔给我”-那么你的第一步应该是把它们扔给我们,这样我们就不必调用我们的心理调试技能。你的代码充满了错误…以cin>>开始电影为例;
没有错误检查,它会在遇到第一个空格时停止解析;虽然许多伟大的电影都有一个单词标题,但这是一个触摸限制。您应该使用if(getline(std::cin,start\u film))…好的…;否则…错误信息…;
等。您列出的Film类缺少尾随“;”,没有为您在while循环中调用它的参数数提供构造函数等…请输入真实代码和真实错误输出!尝试读取错误并找出问题。它们上面有行号,所以不太难错误非常接近于简单的英语,通常会准确地告诉您需要做什么来修复它们。
#include "std_lib_facilities.h"
int main()
{
class Film
{
public:
Film();
Film(string sl, string el);
};
cout << "Please enter first film:\n";
string start_film;
cin >> start_film;
cout << "\nPlease enter a second film:\n";
string end_film;
cin >> end_film;
cout << "\nPlease enter a date (format = dd/mm/yyyy):\n";
string date;
cin >> date;
string name;
name = "films.txt";
ifstream ist(name.c_str());
if (!ist)
error("Cannot open output file " + name);
vector<Film> temps; // create a vector to store the readings
string film;
string director;
float rating;
int year;
int date;
while (ist >> film >> director >> rating >> year >> date)
{ // read
// check
temps.push_back(Film(film,director, rating, year, date)); // store
}
cout << "Start: " + start_film + " End: " + end_filmn + " Date: " + date + "\n";
keep_window_open();
return 0;
}