#include <string>
#include <istream>
#include <sstream>
#include <iostream>
class Video
{
std:: string title;
std:: string genre;
int available;
int holds;
public :
Video( std:: string title_, std:: string genre_, int available_, int holds_) :
title( title_) , genre( genre_) , available( available_) , holds( holds_) { }
Video( ) : available( - 1 ) , holds( - 1 ) { }
friend std:: istream & operator >> ( std:: istream & is, Video& vid) ;
bool read( std:: istream & is, Video& dvd) ;
void print( ) ;
} ;
std:: istream & operator >> ( std:: istream & is, Video& vid)
{
std:: string line;
std:: string theTitle, theGenre, theAvail, theHolds;
if ( std:: getline ( is, line) )
{
std:: istringstream iss( line) ;
std:: getline ( iss, theTitle, ',' ) ;
std:: getline ( iss, theGenre, ',' ) ;
std:: getline ( iss, theAvail, ',' ) ;
std:: getline ( iss, theHolds, ',' ) ;
vid = Video( theTitle, theGenre, std:: stoi ( theAvail) , std:: stoi ( theHolds) ) ;
}
return is;
}
bool Video:: read ( std:: istream & is, Video& dvd)
{
if ( is.good ( ) )
{
is >> dvd;
return true ;
}
return false ;
}
void Video:: print ( ) {
std:: cout << "Video title: " << title << "\n " <<
"Genre: " << genre << "\n " <<
"Available: " << available << "\n " <<
"Holds: " << holds << "\n " ;
}
int main( )
{
Video dvd[ 10 ] ;
int i = 0 ;
while ( i < 10 && dvd[ i] .read ( std:: cin , dvd[ i] ) )
{
dvd[ i] .print ( ) ;
++ i;
}
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlzdHJlYW0+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8aW9zdHJlYW0+CgpjbGFzcyBWaWRlbyAKewoJc3RkOjpzdHJpbmcgdGl0bGU7CglzdGQ6OnN0cmluZyBnZW5yZTsKCWludCBhdmFpbGFibGU7CglpbnQgaG9sZHM7CgpwdWJsaWM6CglWaWRlbyhzdGQ6OnN0cmluZyB0aXRsZV8sIHN0ZDo6c3RyaW5nIGdlbnJlXywgaW50IGF2YWlsYWJsZV8sIGludCBob2xkc18pIDoKCQkJdGl0bGUodGl0bGVfKSwgZ2VucmUoZ2VucmVfKSwgYXZhaWxhYmxlKGF2YWlsYWJsZV8pLCBob2xkcyhob2xkc18pIHt9CglWaWRlbygpIDogYXZhaWxhYmxlKC0xKSwgaG9sZHMoLTEpIHt9CglmcmllbmQgc3RkOjppc3RyZWFtJiBvcGVyYXRvciA+PiAoc3RkOjppc3RyZWFtJiBpcywgVmlkZW8mIHZpZCk7Cglib29sIHJlYWQoc3RkOjppc3RyZWFtICYgaXMsIFZpZGVvJiBkdmQpOwoJdm9pZCBwcmludCgpOwp9OwoKc3RkOjppc3RyZWFtJiBvcGVyYXRvciA+PiAoc3RkOjppc3RyZWFtJiBpcywgVmlkZW8mIHZpZCkKewoJc3RkOjpzdHJpbmcgbGluZTsKCXN0ZDo6c3RyaW5nIHRoZVRpdGxlLCB0aGVHZW5yZSwgdGhlQXZhaWwsIHRoZUhvbGRzOwoJaWYgKHN0ZDo6Z2V0bGluZShpcywgbGluZSkpCgl7CgkJc3RkOjppc3RyaW5nc3RyZWFtIGlzcyhsaW5lKTsKCQlzdGQ6OmdldGxpbmUoaXNzLCB0aGVUaXRsZSwgJywnKTsKCQlzdGQ6OmdldGxpbmUoaXNzLCB0aGVHZW5yZSwgJywnKTsKCQlzdGQ6OmdldGxpbmUoaXNzLCB0aGVBdmFpbCwgJywnKTsKCQlzdGQ6OmdldGxpbmUoaXNzLCB0aGVIb2xkcywgJywnKTsKCQl2aWQgPSBWaWRlbyh0aGVUaXRsZSwgdGhlR2VucmUsIHN0ZDo6c3RvaSh0aGVBdmFpbCksIHN0ZDo6c3RvaSh0aGVIb2xkcykpOwoJfQoJcmV0dXJuIGlzOwp9Cgpib29sIFZpZGVvOjpyZWFkKHN0ZDo6aXN0cmVhbSAmIGlzLCBWaWRlbyYgZHZkKQp7CglpZiAoaXMuZ29vZCgpKQoJewoJCWlzID4+IGR2ZDsKCQlyZXR1cm4gdHJ1ZTsKCX0KCXJldHVybiBmYWxzZTsKfQoKdm9pZCBWaWRlbzo6cHJpbnQoKSB7CglzdGQ6OmNvdXQgPDwgIlZpZGVvIHRpdGxlOiAiIDw8IHRpdGxlIDw8ICJcbiIgPDwKCQkiR2VucmU6ICIgPDwgZ2VucmUgPDwgIlxuIiA8PAoJCSJBdmFpbGFibGU6ICIgPDwgYXZhaWxhYmxlIDw8ICJcbiIgPDwKCQkiSG9sZHM6ICIgPDwgaG9sZHMgPDwgIlxuIjsKfQoKCmludCBtYWluKCkKewoJVmlkZW8gZHZkWzEwXTsKCWludCBpID0gMDsKCXdoaWxlIChpIDwgMTAgJiYgZHZkW2ldLnJlYWQoc3RkOjpjaW4sIGR2ZFtpXSkpCgl7CgkJZHZkW2ldLnByaW50KCk7CgkJKytpOwoJfQp9Cgo=
stdin
TGVnZW5kIG9mIHRoZSBzZWVrZXIsIEZhbnRhc3kvQWR2ZW50dXJlLCAzLCAyCk1pbmR5IFByb2plY3QsIENvbWVkeSwgMTAsIDMKT3JhbmdlIGlzIHRoZSBuZXcgYmxhY2ssIERyYW1hL0NvbWVkeSwgMTAsIDk=
Legend of the seeker, Fantasy/Adventure, 3, 2
Mindy Project, Comedy, 10, 3
Orange is the new black, Drama/Comedy, 10, 9