如何打印数组,暂停它并继续在 c++ 中打印数组

How do I print an array, pause it and continue to print the array in c++?

本文关键字:数组 打印 继续 c++ 何打印 暂停      更新时间:2023-10-16

如何一次显示 3 个名称,在列表继续显示之前暂停让用户按一个键。

我的代码现在只循环数组的前 3 个值

#include <iostream> 
#include <string> 
#include <iomanip> 
using std::setw; 
using namespace std; 
int main() { 
    string a; 
    string names[10]; //size of array 
    for (int i = 0; i < 10; i++) 
    { 
        std::cout << "Enter name "; 
        std::cin >> a; //user input 
        names[i] = a; //assigns input to array 
    } 
    cout << "n"; 
    for (int k = 0; k < 10; k++) 
    { 
        for (int j = 0; j < 3; j++) 
        { 
            cout << names[j] << endl; 
        } 
        system("pause"); 
    } 
}
我根据您的

评论更改了答案。我们没有睡觉,而是暂停并等待,直到用户在键盘中输入任何内容。另外需要注意的是,由于您使用的是命名空间,因此不需要包含std::,我决定使用它,因为我不确定您想要哪种方式。

#include <iostream>
#include <string>
#include <iomanip>
using std::setw;
using namespace std;
int main() {
    string a;
    int pauseCheck = 0; //new var
    string names[10]; //size of array
    for (int i = 0; i < 10; i++) {
        std::cout << "Enter name ";
        std::cin >> a; //user input
        names[i] = a; //assigns input to array
    }
    cout << "n";
    for (int k = 0; k < 10; k++) {
        cout << names[k] << endl;
        pauseCheck++; //increments check
        if (pauseCheck == 3) { //if equals 3
            system("pause"); //we pause till user input
            pauseCheck = 0; //reset pause check
        }
    }
    system("pause"); //last and final pause before program ends
}

这是另一种方法,我认为它更直接一些:

#include <iostream> 
#include <string> 
#include <iomanip> 
using std::setw;
using namespace std;
int main() {
    string a;
    string names[10]; //size of array 
    for (int i = 0; i < 10; i++)
    {
        std::cout << "Enter name ";
        std::cin >> a; //user input 
        names[i] = a; //assigns input to array 
    }
    cout << "n";
    for (int k = 0; k < 10; k++)
    {
        cout << names[k] << endl;
        if((k + 1) % 3 == 0) // everytime k + 1 is divisible by 3, let user hit a key
            system("pause");
    }
}

您可以等待另一个std::cin的 Enter-Press ,只需写入垃圾值即可。

我认为其他方式不是独立于平台的。你当然可以使用Windows api或Unix的东西来按键。