Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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++_File_Sequential - Fatal编程技术网

C++ 如何在文件中添加堆栈中的元素而不在文件中重复它们

C++ 如何在文件中添加堆栈中的元素而不在文件中重复它们,c++,file,sequential,C++,File,Sequential,我有一节水课。在用户输入的帮助下,它形成了不同的元素,如蒸汽、雨水等。当它们形成时,它们被写入文件中 但我希望一个元素只写一次,也就是说,如果蒸汽再次形成,那么一旦蒸汽被添加,就不应该再添加。可能吗 bool PushandWrite (Water newElement) { ifstream in ("F:\\Songs\Water.txt", ios::out|ios::app); if(i>=5) { c

我有一节水课。在用户输入的帮助下,它形成了不同的元素,如蒸汽、雨水等。当它们形成时,它们被写入文件中

但我希望一个元素只写一次,也就是说,如果蒸汽再次形成,那么一旦蒸汽被添加,就不应该再添加。可能吗

bool PushandWrite (Water newElement)
    {
        ifstream in ("F:\\Songs\Water.txt", ios::out|ios::app);
        if(i>=5)
        {
            cout<<"Element cannot be formed"<<endl;
            return false;
        }
        else
        {
            /Elements[i] = newElement.water;
            in>>newElement.Elements[i];
            //Elements[i] = newElement.water;
                    for(int i=0; i<5; i++)
                    {
                        for (int j=i+1; j<5; j++)
                        {
                            if (Elements[i] == Elements [j])
                            {
                            return false;
                            }

                            else
                                return true;
                        }
                    }

        }
    }




void write2file (Water newElement)
{
    ofstream out ("F:\\Songs\Water.txt", ios::out|ios::app);

    { 
        if (PushandWrite (newElement))
        {
            out << newElement.water<<endl;
        }
    }
}

只需使用if条件检查输入是否已经可用,然后断开并不要打印/写入文件。你能指导我如何在这里粘贴代码吗。我是新来的,所以我不知道该怎么说。我这样做了,但它不起作用。每个元素在每次形成时都会被添加。只需在问题中复制并粘贴代码,然后选择“代码”,然后按ctrl+K键而不使用语言标记,这个问题很难回答。在任何情况下,似乎有人试图通过电子邮件进行协作,我怀疑现在已经放弃了——投票关闭。唯一元素的合适容器不是堆栈,而是集合。C++有一个集合类型,检查出来。