【发布时间】:2021-04-04 06:12:19
【问题描述】:
我有这个学校项目,我有这个文本文件:
VIDEO ID : 1
MOVIE TITLE : TITANIC
GENRE : ROMANCE
PRODUCTION : PARAMOUNT PICTURES
NUMBER OF COPIES: 3
VIDEO ID : 2
MOVIE TITLE : IT
GENRE : HORROR
PRODUCTION : NEW LINE CINEMA
NUMBER OF COPIES: 0
VIDEO ID : 3
MOVIE TITLE : HARRY POTTER
GENRE : FANTASY
PRODUCTION : WARNER BROS. PICTURES
NUMBER OF COPIES: 10
当这样搜索时程序应该显示电影:
Enter movie ID: 1 //user input
VIDEO ID : 1
MOVIE TITLE : TITANIC
GENRE : ROMANCE
PRODUCTION : PARAMOUNT PICTURES
NUMBER OF COPIES: 3
AVAILABILITY : AVAILABLE
或者这个:
Enter movie ID: 2 //user input
VIDEO ID : 2
MOVIE TITLE : IT
GENRE : HORROR
PRODUCTION : NEW LINE CINEMA
NUMBER OF COPIES: 0
AVAILABILITY : NOT AVAILABLE
我的问题是,如果副本数等于或大于 1,我不知道如何在需要说“可用”的地方显示可用性部分,否则如果为 0,它将显示“不可用” .
这是我的代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream file("test.txt");
string line;
int find = false;
string id;
cout << "Enter movie ID: ";
cin >> id;
string idnum = "VIDEO ID : " + id;
cout << idnum << endl;
while (file.good())
{
getline(file,line);
if(line==idnum){
find=true;
for(int i=0;i<=3;i++){
getline(file,line);
cout << line << endl;
}
break;
}
}
file.close();
if(find!=true){
cout << "Movie Not Found" << endl;
}
return 0;}
非常感谢任何愿意提供帮助的人:)
【问题讨论】:
-
文件是否包含字段名称,例如
VIDEO ID :和MOVIE TITLE :...甚至AVAILABILITY :?这似乎没有必要。 -
@TedLyngmo 是的。它在文本文件中
-
AVAILABILITY : AVAILABLE是否已经存在于文本文件中,或者您是否必须将其单独打印到控制台?如果是前者,你可以直接打印出来,根本不用检查份数。 -
@Ruks 不,它不存在于文本文件中。可用性部分应仅在读取文本文件后显示在程序中
-
@Noran 那么请展示文本文件中的实际内容。添加两个电影条目,以便我们了解它们是如何存储的。