Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c+中没有输入后如何退出+;计划+; 嗨,我是C++新手,我只是写了这个代码来查找数字数组的最小/最大值。 我只是想知道如何使条目的数量灵活(我的意思是用户应该能够输入尽可能多的条目,而无需指定开始时的条目数量) 这是代码,但它不起作用,有人能帮忙吗? 谢谢 代码: #包括 使用名称空间std; int main(){ 您可能会感到困惑,按enter键只会给您一个空终止符。它不会。根据您的平台,它会给您一个回车/换行符(\r\n在Win中,\n在*ix中)。最好的方法是让他们用像“q”这样的字母表示退出,或者用像-1这样的数字表示退出,然后进行比较。_C++ - Fatal编程技术网

在c+中没有输入后如何退出+;计划+; 嗨,我是C++新手,我只是写了这个代码来查找数字数组的最小/最大值。 我只是想知道如何使条目的数量灵活(我的意思是用户应该能够输入尽可能多的条目,而无需指定开始时的条目数量) 这是代码,但它不起作用,有人能帮忙吗? 谢谢 代码: #包括 使用名称空间std; int main(){ 您可能会感到困惑,按enter键只会给您一个空终止符。它不会。根据您的平台,它会给您一个回车/换行符(\r\n在Win中,\n在*ix中)。最好的方法是让他们用像“q”这样的字母表示退出,或者用像-1这样的数字表示退出,然后进行比较。

在c+中没有输入后如何退出+;计划+; 嗨,我是C++新手,我只是写了这个代码来查找数字数组的最小/最大值。 我只是想知道如何使条目的数量灵活(我的意思是用户应该能够输入尽可能多的条目,而无需指定开始时的条目数量) 这是代码,但它不起作用,有人能帮忙吗? 谢谢 代码: #包括 使用名称空间std; int main(){ 您可能会感到困惑,按enter键只会给您一个空终止符。它不会。根据您的平台,它会给您一个回车/换行符(\r\n在Win中,\n在*ix中)。最好的方法是让他们用像“q”这样的字母表示退出,或者用像-1这样的数字表示退出,然后进行比较。,c++,C++,你很困惑,按enter键只会给你一个空终止符。它不会。它会给你一个回车符/换行符(\r\n在Win中,\n在*ix中)最好的方法是让他们用一个字母“Q”来表示“退出”或“1”这样的数字,然后比较一下。 < P>动态内存分配对于初学者来说是一个棘手的问题(在C和C++中,无论如何)。最简单的方法是让用户指定多少条目的,但是你不想要这个。 否则,在数组上使用vector类可能更好(而且比直接使用指针更容易处理) 这是一个很好的起点。请查看创建向量和push_back()成员函数的语法,以完成任务 祝

你很困惑,按enter键只会给你一个空终止符。它不会。它会给你一个回车符/换行符(
\r\n
在Win中,
\n
在*ix中)最好的方法是让他们用一个字母“Q”来表示“退出”或“1”这样的数字,然后比较一下。

< P>动态内存分配对于初学者来说是一个棘手的问题(在C和C++中,无论如何)。最简单的方法是让用户指定多少条目的,但是你不想要这个。 否则,在数组上使用vector类可能更好(而且比直接使用指针更容易处理)

这是一个很好的起点。请查看创建向量和
push_back()
成员函数的语法,以完成任务

祝你好运


< SegFaults McGee >

< P>动态内存分配对于初学者来说是一个棘手的问题(在C和C++中,无论如何)。最简单的方法是让用户指定多少条目的,但是你不想要这个。 否则,在数组上使用vector类可能更好(而且比直接使用指针更容易处理)

这是一个很好的起点。请查看创建向量和
push_back()
成员函数的语法,以完成任务

祝你好运

赛格·麦基

意味着用户应该能够输入尽可能多的条目,而无需指定起始字段中的条目数

根据上述要求和现有代码,一个数组最多只能输入5个元素

do{ 
    cin>>x;
    if(x=='\0'){
       flag=true;
    }
    *(A+i)=x;
    i++;
}while(!flag);
而是用于它隐式地为您管理内存的需求

意味着用户应该能够输入尽可能多的条目,而无需指定起始字段中的条目数

根据上述要求和现有代码,一个数组最多只能输入5个元素

do{ 
    cin>>x;
    if(x=='\0'){
       flag=true;
    }
    *(A+i)=x;
    i++;
}while(!flag);

代替它为您隐式管理内存的要求。

< P>您将不得不使用某种可变长度的数据结构,而vector是您在C++中工作的最佳选择。因此,代替固定长度数组:

int *A;
A=new int[5];
使用如下向量:

std::vector<int> input;

你必须使用某种可变长度的数据结构,而vector是C++中的最佳选择,因此,代替你的固定长度数组:

int *A;
A=new int[5];
使用如下向量:

std::vector<int> input;
如果您使用

std::vector<int> a;
然后,用户可以在输入所有数字后按^D(Unix/Linux/etc)或^Z(DOS/Win),或按以下步骤使用程序:

echo 1 4 22 | program
program < input_file
echo 14 22 |程序
程序
如果希望有一个空行表示输入的结束,则使用输入验证:

std::string line;
while (getline(std::cin, line))
{
    char c;
    std::istringstream iss(line);
    int x;
    if (iss >> x)
    {
        a.push_back(x);
        char c;
        if (iss >> c)
        {
            std::cerr << "unexpected character '" << c << "' in line '" << line << "', terminating\n";
            exit(EXIT_FAILURE);
        }
    }
    else if (!iss.eof())
        break;  // empty line...
    else
    {
        std::cerr << "unexpected characters in line '" << line << "', terminating\n";
        exit(EXIT_FAILURE);
    }
}
std::字符串行;
while(getline(std::cin,line))
{
字符c;
标准::istringstream iss(线);
int x;
如果(iss>>x)
{
a、 推回(x);
字符c;
如果(iss>>c)
{
如果您使用

std::vector<int> a;
然后,用户可以在输入所有数字后按^D(Unix/Linux/etc)或^Z(DOS/Win),或按以下步骤使用程序:

echo 1 4 22 | program
program < input_file
echo 14 22 |程序
程序
如果希望有一个空行表示输入的结束,则使用输入验证:

std::string line;
while (getline(std::cin, line))
{
    char c;
    std::istringstream iss(line);
    int x;
    if (iss >> x)
    {
        a.push_back(x);
        char c;
        if (iss >> c)
        {
            std::cerr << "unexpected character '" << c << "' in line '" << line << "', terminating\n";
            exit(EXIT_FAILURE);
        }
    }
    else if (!iss.eof())
        break;  // empty line...
    else
    {
        std::cerr << "unexpected characters in line '" << line << "', terminating\n";
        exit(EXIT_FAILURE);
    }
}
std::字符串行;
while(getline(std::cin,line))
{
字符c;
标准::istringstream iss(线);
int x;
如果(iss>>x)
{
a、 推回(x);
字符c;
如果(iss>>c)
{

如果我的代码没有那样的缩进,我也会感到沮丧。请学会正确缩进代码,即使是最小的程序。[此注释适用于之前的编辑,在有人为您修复代码之前。]如果我的代码没有那样的缩进,我也会感到沮丧。请学会正确缩进代码,即使是最小的程序。[此评论适用于之前的编辑,在有人为您修复代码之前。]同意,但这可能是一个CS101/高中CS问题,向量的概念会让n00b大吃一惊,他们被教授指针,而不是真正被教授指针。非常正确,但如果Aamir想学习更多语法,向量可以将a:(或:O或D:情况转化为a:)情境贪婪,但这很可能是一个CS101/高中的CS问题,向量的概念会让n00b大吃一惊,他们被教授指针而没有真正被教授指针。非常正确,但如果Aamir想学习更多语法,向量可以将a:(或:O或D:情境变成a:)情景您需要将前斜杠更改为后斜杠:)您需要将前斜杠更改为后斜杠:)