Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        5年前关闭。
                                                                                            
                
        
这是我写的:

#include <iostream>
using namespace std;

struct vetura{
    char ngjyra[10];
    char tipi[10];
};

int main(){
    int i,j;
    vetura v[4];

    for(i=0;i<4;i++){
        cout << "Ngjyra:"<<endl;
        cin >> v[i].ngjyra;
        cout << "tipi:"<<endl;
        cin >> v[i].tipi;
    }
    j=0;
    for(i=0;i<4;i++){
        if(v[i].ngjyra == "kuqe" && v[i].tipi == "passat")
        j+1;
    }
    cout<<"kemi "<<j<<" vetura passat me ngjyre te kuqe";


    cin.get();cin.get();
    return 0;
}


我需要计算我为v [i] .ngjyra写过“ kuqe”和为v [i] .tipi写过“ passat”的次数。我以为变量j每次都变大都会变大,但它不起作用,接下来的几个小时我将接受考试,谁能帮我?

最佳答案

您有两个问题:

第一:

更改:

    j+1;


至:

    j = j+1;


或更简单:

    j++;


第二:

v[i].ngjyra == "kuqe"永远不会是真实的。您正在检查v[i].ngjyra的位置是否与"kuqe"的位置相同。事实并非如此。

如果要测试字符串是否具有相同的值,请更改:

v[i].ngjyra == "kuqe"


至:

strcmp( v[i].ngjyra, "kuqe" ) == 0

10-07 23:53