0

这是我写的:

#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 每次计数都会变大,但它不起作用,我将在接下来的几个小时内进行考试,谁能帮助我?

4

1 回答 1

8

你有两个问题:

第一的:

改变:

    j+1;

到:

    j = j+1;

或更简单:

    j++;

第二:

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

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

v[i].ngjyra == "kuqe"

到:

strcmp( v[i].ngjyra, "kuqe" ) == 0
于 2012-09-13T02:39:58.150 回答