计算循环中的对象

Too*_*ooL 0 c++

这是我写的:

#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;
}
Run Code Online (Sandbox Code Playgroud)

我需要计算我为v [i] .ngjyra写了"kuqe"的次数和v [i] .tipi的"passat".我认为变量j每次都会变得越来越大但是它不起作用我将在接下来的几个小时进行考试可以有人帮助我吗?

Dre*_*ann 8

你有两个问题:

第一:

更改:

    j+1;
Run Code Online (Sandbox Code Playgroud)

至:

    j = j+1;
Run Code Online (Sandbox Code Playgroud)

或者更简单:

    j++;
Run Code Online (Sandbox Code Playgroud)

第二:

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

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

v[i].ngjyra == "kuqe"
Run Code Online (Sandbox Code Playgroud)

至:

strcmp( v[i].ngjyra, "kuqe" ) == 0
Run Code Online (Sandbox Code Playgroud)

  • 这是0,因为你的情况永远不会成真.请参阅Chris对您原始问题的评论. (2认同)