更新链表时遇到问题

Having Problems updating Linked List

本文关键字:问题 遇到 链表 更新      更新时间:2023-10-16
class MostBought {        //class in a .h file
private:
    typedef struct node {
        double moneySpent;
        char Name[50];
        node *next;
} * nodePtr3;
nodePtr3 head3;
nodePtr3 curr3;
nodePtr3 temp3;
nodePtr3 next3;
public:
    MostBought();
    void addMoney(double x, char Category[50]);
    void PrintList(); 
}; 
MostBought::MostBought() {  //everything else in main.cpp
    head3 = NULL;
    curr3 = NULL;
    temp3 = NULL;
    next3 = NULL;
}

void MostBought::addMoney(double x, char Category[50]) {
temp3 = head3;
while (temp3 != NULL) {
    if (temp3->Name == Category) {
        temp3->moneySpent = temp3->moneySpent + x;
    }
    else {
        temp3 = temp3->next;
    }
}
}

我在main((中像这样调用addMoney。"添加钱(aa.价格,aa。类别(",其中 aa 是结构的对象。Programm 编译,但是当我尝试打印所有节点及其名称和值时,所有值都等于 0。任何想法出了什么问题?

第 4 行带有"(temp3->拟声oma == Katigoria("测试不会给出语法错误,但可能不会执行您希望它执行的操作。它不做字符串比较,它比较两个内存地址是否相同。如果你想查看两个字符串是否相等,请使用 strcmp(( 或类似的函数。