再次回到Start

时间:2017-03-01 16:17:39

标签: visual-c++

现在我在完成第一次循环之后重复循环有问题,我想在不退出程序的情况下再次尝试?我一直在使用while循环来做但仍然没有快乐。所以我决定做if语句。但是Array只接受4个字符串然后退出。谁能帮忙? TIA。

#include "stdafx.h"
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>


using namespace std;


template <typename T>
void GetContents(T& Input);

template <typename T>
void DisplayContents(const T& Input);

int main()
{
    int PASS = 0;
    // To Display the unsorted and sorted Book Titles
    std::vector<std::string> books;

    GetContents(books);

    std::cout << "\nMy original library (number of books: " << books.size() << "):\n\n";
    DisplayContents(books);

    std::sort(books.begin(), books.end());

    std::cout << "\nMy sorted library (number of books: " << books.size() << "):\n\n";
    DisplayContents(books);

    std::cout << "Press 1 to try again,  else to quit: ";
    std::cin >> PASS;
    std::cout << "\n";
    if (PASS == 1)
    {
        GetContents(books);
    }
    else
    {
        return 0;
    }

// to input All book titles
template <typename T>
void GetContents(T& Input)
{

    const int MAX = 5;
        string bookName;

        std::cout << "Enter a Book Titles:\n> ";
        for (int i = 0; i < MAX; i++)
        {
            std::getline(std::cin, bookName);
            Input.push_back(bookName);
            std::cout <<">";
        }


}

//Display All input book titles
template <typename T>
void DisplayContents(const T& Input)
{

    for (auto iElement : Input)
    {
        std::cout << iElement << '\n';
    }
    std::cout << '\n';

    system("pause");
}

0 个答案:

没有答案