Я работаю над этой программой, которая поможет управлять магазином аренды DVD. Мне нужно сделать текст, содержащий информацию о DVD и т. Д .:Файл в массив для построения
Средние девочки; комедии; PG; 2009; Регина Джордж; 12.07.2015;
The Conjuring; Ужастик; Р; 2013; Сара Джонсон; 16.05.2016;
Pokemon 2000; Дети; Г; 2000; Эш Катхем; 15.04.2016; и т.д ..
А потом берет эту информацию, а затем считывает его в массив, а оттуда массив считывается в структуры, а затем отображаются в правильном порядке, например, так: Имя: Mean Girls Жанр: Comedy Рейтинг : PG
и т.д ...
Это мой код до сих пор:
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
struct dvd{
string name;
string genre;
string rating;
string released;
string renter;
string rentday;
void print();
bool read(ifstream & file);
};
void dvd::print(){
cout <<"Title: " << name << endl;
cout <<"Genre: " << genre << endl;
cout << "Rating: " << rating << endl;
cout << "Release date: " << released << endl;
cout << "Name of renter: " << renter << endl;
cout << "Date rented: " << rentday << endl;
}
bool dvd::read(ifstream & file)
{
getline(file, name, ';');
getline(file, genre, ';');
getline(file, rating,';');
getline(file, released, ';');
getline(file, renter, ';');
getline(file, rentday, ';');
return file.good();
}
int main() {
vector<dvd> dvds;
dvd dvd1;
ifstream file("DVD.txt");
if(! file.is_open()){
cout << "Failed to find input file" << endl;
return 1;
}
while(dvd1.read(file))
{ dvds.push_back(dvd1);
}
dvd1.print();
return 0;
}
так что я хотел бы сделать, это прочитать текстовый файл в массив и оттуда читаем массив в структуру. Поэтому вместо чтения текстового файла в вектор мне нужно его прочитать в массиве и оттуда прочитать первую строку массива (dvdArray [1]) в struct dvd, а затем распечатать эту информацию с помощью функции печати, а затем закодировать ее пока dvdArray [10] не будет прочитан в struct dvd!
Большое вам спасибо за помощь! :)
Хорошо, таким образом я получил текстовый файл для чтения в массив, но я не могу показаться, чтобы выяснить, как читать это в dvd :: read при печати каждой информации dvd –
Как я писал: постройте 'std :: istringstream' из заданной строки, а затем просто передайте ее. –