P678-vect2.cpp
生活随笔
收集整理的這篇文章主要介紹了
P678-vect2.cpp
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// CH1608.cpp : 定義控制臺應用程序的入口點。
//#include "stdafx.h"
#include <string>
#include <vector>
#include <iostream>
using namespace std;struct Review{std::string title;int rating;
};bool FillReview(Review &rr); //輸入Review對象
void ShowReview(const Review &rr); //輸出Review對象int _tmain(int argc, _TCHAR* argv[])
{vector<Review> books;Review temp;while( FillReview(temp) )books.push_back(temp);int num=books.size();if(num>0){cout<<"Thank you ,you entered the following:\n"<<"Rating\tBook\n";for(int i=0;i<num;i++){ShowReview(books[i]);}cout<<"Reprising:\n"<<"Rating\tBook\n";vector<Review>::iterator pr;for(pr=books.begin();pr!=books.end();pr++)ShowReview(*pr);vector <Review>oldlist(books); //copy constructor usedif(num>3){//remove 2 items 移除兩項books.erase(books.begin()+1,books.begin()+3);cout<<"After erasure:\n";for(pr=books.begin();pr!=books.end();pr++)ShowReview(*pr);//insert 1 items插入一項數據books.insert(books.begin(),oldlist.begin()+1,oldlist.begin()+2);cout<<"After insert:\n";for(pr=books.begin();pr!=books.end();pr++)ShowReview(*pr); }books.swap(oldlist); //交換兩個容器的內容cout<<"swapping oldlist with boos:\n";for(pr=books.begin();pr!=books.end();pr++){ShowReview(*pr);}}//end if(num>0)else{cout<<"Nothing entered,nothing gained.\n";}return 0;
}
bool FillReview(Review & rr)
{cout<<"Enter book title(quit to quit):";getline(cin,rr.title);if(rr.title == "quit"){return false;}cout<<"Enter book rating:";cin>>rr.rating;if(!cin){return false;}while(cin.get() != '\n')continue;return true;
}
void ShowReview(const Review &rr)
{cout<<rr.rating<<"\t"<<rr.title<<endl;
}
運行效果如下
轉載于:https://www.cnblogs.com/Manual-Linux/p/9543470.html
總結
以上是生活随笔為你收集整理的P678-vect2.cpp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QString与LPCWSTR互转
- 下一篇: 从一个小故事聊聊字符编码那些事