对循环中的对象进行计数

count objects in a loop

本文关键字:对象 循环      更新时间:2023-10-16

这是我写的:

#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