Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.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++ 为什么我的控制功能与之相反';那该怎么办? int控件(int n,数据a[],字符串cod){ 对于(int i=0;i 也考虑使用 STD::SET如果您想要一个具有唯一条目的容器。让我们从缩进您的代码开始,这样我们就可以更容易地理解它所做的事_C++_Function_Struct - Fatal编程技术网

C++ 为什么我的控制功能与之相反';那该怎么办? int控件(int n,数据a[],字符串cod){ 对于(int i=0;i 也考虑使用 STD::SET如果您想要一个具有唯一条目的容器。让我们从缩进您的代码开始,这样我们就可以更容易地理解它所做的事

C++ 为什么我的控制功能与之相反';那该怎么办? int控件(int n,数据a[],字符串cod){ 对于(int i=0;i 也考虑使用 STD::SET如果您想要一个具有唯一条目的容器。让我们从缩进您的代码开始,这样我们就可以更容易地理解它所做的事,c++,function,struct,C++,Function,Struct,为什么我的控制功能与之相反';那该怎么办? int控件(int n,数据a[],字符串cod){ 对于(int i=0;i 也考虑使用 STD::SET如果您想要一个具有唯一条目的容器。让我们从缩进您的代码开始,这样我们就可以更容易地理解它所做的事情: int控件(int n,数据a[],字符串cod){ 对于(int i=0;i编码; 如果((控制(n,a,代码))>0) a[n]。代码=代码; 其他的 当控件在第一个位置找到元素时,它返回什么?条件(control(n,a,code)

为什么我的控制功能与之相反';那该怎么办?
int控件(int n,数据a[],字符串cod){
对于(int i=0;i

也考虑使用<代码> STD::SET如果您想要一个具有唯一条目的容器。

让我们从缩进您的代码开始,这样我们就可以更容易地理解它所做的事情:

int控件(int n,数据a[],字符串cod){
对于(int i=0;i

啊,所以它通过一个数组扫描,如果一个字符串存在,返回一个大于或等于0的值,或者如果没有,则返回1。然后让我们考虑使用它的代码:

void输入(int&n,数据a[]
{
字符串代码;
做
{
cout>编码;
如果((控制(n,a,代码))>0)
a[n]。代码=代码;
其他的

控件在第一个位置找到元素时,它返回什么?条件
(control(n,a,code))>0检查什么?“为什么我的控件函数做的与它应该做的相反?”通常,原因是:
如果
条件是反写的。就像在这种情况下一样。它是(有点)与手边的问题无关,但如果你正确缩进代码,跟踪代码的执行情况往往会容易得多。顺便说一句,我不确定我是否理解代码,但我希望你可以插入一个元素,并且只有在收到错误消息之后。包括示例输入和输出将有助于澄清错误你为什么把那个函数叫做代码>控制()?/代码>?哦,我的上帝,非常感谢你!修正它,现在它起作用了!@ Navaves考虑接受答案如果它回答你的问题。非常不可能,但是OP也可以使用代码:使用STD::String;使用STD::CUT;< /Cord>等;哇,这非常有用!我在高中时做C++,很不幸我们不得不使用<代码>使用命名空间STD< /COD>。非常感谢你的<代码> EnUM  Tip(当然还有你的其他提示),我非常感激它,并且将来会开始使用它。
int control(int n, data a[], string cod){

for(int i = 0 ; i<n ; i++){
    if(cod == a[i].code)
        return i;
    }
    return -1;
}
void input(int &n, data a[]){
string code;

do{
    cout<<"\nInput the code: ";
    cin>> code;
    if((control(n,a,code))>0)
        a[n].code=code;
    else 
        cout<<"\nThe code you've input already exists. Please try again.";
}while((control(n,a,code)) == -1);

n++;
}
do{
   cout<<"\nInput the code: ";
   cin>> code;
   if((control(n,a,code))>0)
       a[n].code=code;
   else cout<<"\nThe code you've input already exists. Please try again.";
}while((control(n,a,code))==-1);
#include <string>
#include <vector>
#include <algorithm>

struct data {
    std::string code;
};

int main() {
    std::vector<data> v;
    std::string foo = "test";
    auto it = std::find_if(v.begin(),v.end(),[foo](auto x){ return x.code == foo;});
    bool found = (it == v.end());
}
if (contro(n, a, code) == UNIQUE)
   cout << "\nThe code is a duplicate";