如何调用函数和未使用的表达式错误



我得到一个错误说:使用未声明的标识符'再次'。我正试图从主再次无效,并得到答案后回来。请向我解释为什么它也不起作用。谢谢。

下面是我的完整代码:
 #include <iostream> 
 #include <vector>
 #include <iomanip>
 #include <algorithm>
 #include <string>
 using namespace std;
 {
    string answer;
    cout << "Would you like to enter another set of data? Y or N?" << endl;
    cin << answer;
    string yes = "Yes";
    string no = "No";
    if(a == yes)
    {  
         main();
    }
 }
 int main()
 {
    cout << "Kaitlin Stevers" << endl;
    cout << "Exercise 11 - Vectors" << endl;
    cout << "November 12, 2016" <<endl;
    cout << endl;
    cout << endl;
    int size;
    cout << " How many numbers would you like the vector to hold? " << endl;
    cin >> size;
    vector<int> numbers;
    int bnumbers;
    for (int count = 0; count < size; count++)
    {
        cout << "Enter a number: " << endl;
        cin >> bnumbers;
        numbers.push_back(bnumbers); // Adds an element to numbers
     }
     //display the numbers stored in order
     cout << "The numbers in order are: " << endl;
     for(int bcount = 0; bcount < size; bcount++)
     {
         cout << numbers[bcount] << " ";
     }
     cout << endl;
     //display the numbers stored reversed
     cout << "Here are the numbers in reverse order: " << endl;
     reverse(numbers.begin(), numbers.end());
     for(int rcount = 0; rcount < size; rcount++)
     {
        cout << numbers[rcount] << " ";
     }
     cout << endl;
     again();
     return 0;
     }
  void again()

}

你需要在调用它之前"再次"声明你的函数:

 #include <iostream> 
 #include <vector>
 #include <iomanip>
 #include <algorithm>
 #include <string>
 using namespace std;
 void again();
 int main()
 {
    cout << "Kaitlin Stevers" << endl;
    cout << "Exercise 11 - Vectors" << endl;
    cout << "November 12, 2016" <<endl;
    cout << endl;
    cout << endl;
    int size;
    cout << " How many numbers would you like the vector to hold? " << endl;
    cin >> size;
    vector<int> numbers;
    int bnumbers;
    for (int count = 0; count < size; count++)
    {
       cout << "Enter a number: " << endl;
       cin >> bnumbers;
       numbers.push_back(bnumbers); // Adds an element to numbers
    }
    //display the numbers stored in order
    cout << "The numbers in order are: " << endl;
    for(int bcount = 0; bcount < size; bcount++)
    {
        cout << numbers[bcount] << " ";
    }
    cout << endl;
    //display the numbers stored reversed
    cout << "Here are the numbers in reverse order: " << endl;
         reverse(numbers.begin(), numbers.end());
    for(int rcount = 0; rcount < size; rcount++)
    {
       cout << numbers[rcount] << " ";
    }
    cout << endl;
    again();
    return 0;
}
void again()
{
   string answer;
   cout << "Would you like to enter another set of data? Y or N?" << endl;
   cin >> answer;
   string yes = "Yes";
   string no = "No";
   if(answer == yes)
   {  
        main();
   }
}

然而,对于你想要做的事情使用递归并多次调用main函数(根据定义,它是程序的主入口)是一件奇怪的事情。在我看来,你应该在你的主函数中调用另一个名为askInformation的函数,它使用一个带有测试用例的循环来知道用户是否想要添加信息。

相关内容

  • 没有找到相关文章

最新更新