#include <iostream>
#include <vector>
using namespace std;
class car{
public :
int numWheels;
int numWindows;
double MPG; // km / l? UK???
char name[ 80 ] ;
} ;
int main( ) {
int x;
cout << "\n How many cars would you like to add? " ;
cin >> x;
cin .ignore ( ) ; //Need cin.ignore to ignore us hitting enter before we use cin.getline
vector< car> carVec;
vector< car> :: iterator carIter;
car tempcar;
for ( int i= 0 ; i< x; i++ ) {
cout << "\n Name of car: " ;
cin .getline ( tempcar.name , 79 ) ;
cout << "\n Number of windows: " ;
cin >> tempcar.numWindows ;
cout << "\n Number of Wheels: " ;
cin >> tempcar.numWheels ;
cout << "\n MPG: " ;
cin >> tempcar.MPG ;
cin .ignore ( ) ;
carVec.push_back ( tempcar) ; //Put tempcar into the vector
}
for ( carIter = carVec.begin ( ) ; carIter ! = carVec.end ( ) ; carIter++ ) { //Start at the beginning, iterate through until carIter = carvec.end
cout << "Car #: " << ( carIter - carVec.begin ( ) ) + 1 << endl; // carIter - carVec.begin()+1 should equal to 1, or another number if you don't start at 1
cout << "Name of car: " << carIter - > name << endl; // Note -> is how we dereference. In this case It's VERY similar to how we use a subscript w/ an array
cout << "Number of windows: " << carIter - > numWindows << endl; //Same as above
cout << "Number of wheels: " << carIter - > numWheels << endl; //Same as above
cout << "MPG: " << carIter - > MPG<< endl<< endl<< endl; //Same as above
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIGNhcnsKcHVibGljOgogICAgaW50IG51bVdoZWVsczsKICAgIGludCBudW1XaW5kb3dzOwogICAgZG91YmxlIE1QRzsgLy8ga20gLyBsPyAgVUs/Pz8KICAgIGNoYXIgbmFtZVs4MF07Cn07CgppbnQgbWFpbigpewogICAgaW50IHg7CiAgICBjb3V0IDw8ICJcbkhvdyBtYW55IGNhcnMgd291bGQgeW91IGxpa2UgdG8gYWRkPyAiOwogICAgY2luID4+eDsKICAgIGNpbi5pZ25vcmUoKTsgLy9OZWVkIGNpbi5pZ25vcmUgdG8gaWdub3JlIHVzIGhpdHRpbmcgZW50ZXIgYmVmb3JlIHdlIHVzZSBjaW4uZ2V0bGluZQogICAgCiAgICB2ZWN0b3I8Y2FyPiBjYXJWZWM7CiAgICB2ZWN0b3I8Y2FyPjo6aXRlcmF0b3IgY2FySXRlcjsKICAgIGNhciB0ZW1wY2FyOwogICAgCiAgICBmb3IoaW50IGk9MDsgaTx4OyBpKyspewogICAgICAgIGNvdXQgPDwiXG5OYW1lIG9mIGNhcjogIjsKICAgICAgICBjaW4uZ2V0bGluZSh0ZW1wY2FyLm5hbWUsIDc5KTsKICAgICAgICAKICAgICAgICBjb3V0IDw8IlxuTnVtYmVyIG9mIHdpbmRvd3M6ICI7CiAgICAgICAgY2luID4+IHRlbXBjYXIubnVtV2luZG93czsKICAgICAgICAKICAgICAgICBjb3V0IDw8IlxuTnVtYmVyIG9mIFdoZWVsczogIjsKICAgICAgICBjaW4gPj4gdGVtcGNhci5udW1XaGVlbHM7CiAgICAgICAgCiAgICAgICAgY291dCA8PCJcbk1QRzogIjsKICAgICAgICBjaW4gPj4gdGVtcGNhci5NUEc7CiAgICAgICAgY2luLmlnbm9yZSgpOwogICAgICAgIAogICAgICAgIGNhclZlYy5wdXNoX2JhY2sodGVtcGNhcik7Ly9QdXQgdGVtcGNhciBpbnRvIHRoZSB2ZWN0b3IKICAgIH0KICAgIAogICAgCiAgICBmb3IoY2FySXRlciA9IGNhclZlYy5iZWdpbigpOyBjYXJJdGVyICE9IGNhclZlYy5lbmQoKTsgY2FySXRlcisrKXsgLy9TdGFydCBhdCB0aGUgYmVnaW5uaW5nLCBpdGVyYXRlIHRocm91Z2ggdW50aWwgY2FySXRlciA9IGNhcnZlYy5lbmQKICAgICAgICBjb3V0IDw8ICJDYXIgIzogIiA8PCAoY2FySXRlciAtIGNhclZlYy5iZWdpbigpKSsxIDw8ZW5kbDsvLyBjYXJJdGVyIC0gY2FyVmVjLmJlZ2luKCkrMSAgIHNob3VsZCBlcXVhbCB0byAxLCBvciBhbm90aGVyIG51bWJlciBpZiB5b3UgZG9uJ3Qgc3RhcnQgYXQgMQogICAgICAgIGNvdXQgPDwgIk5hbWUgb2YgY2FyOiAiIDw8IGNhckl0ZXIgLT5uYW1lIDw8ZW5kbDsgLy8gTm90ZSAtPiBpcyBob3cgd2UgZGVyZWZlcmVuY2UuICBJbiB0aGlzIGNhc2UgSXQncyBWRVJZIHNpbWlsYXIgdG8gaG93IHdlIHVzZSBhIHN1YnNjcmlwdCB3LyBhbiBhcnJheQogICAgICAgIGNvdXQgPDwgIk51bWJlciBvZiB3aW5kb3dzOiAiIDw8IGNhckl0ZXIgLT5udW1XaW5kb3dzIDw8ZW5kbDsvL1NhbWUgYXMgYWJvdmUKICAgICAgICBjb3V0IDw8ICJOdW1iZXIgb2Ygd2hlZWxzOiAiIDw8IGNhckl0ZXIgLT5udW1XaGVlbHMgPDxlbmRsOy8vU2FtZSBhcyBhYm92ZQogICAgICAgIGNvdXQgPDwgIk1QRzogIiA8PCBjYXJJdGVyIC0+TVBHPDxlbmRsPDxlbmRsPDxlbmRsOy8vU2FtZSBhcyBhYm92ZQogICAgfQogICAgCnJldHVybiAwOwp9Cg==