为什么我不能打印多个字符串?

你好

我可以打印一个字符串。但是,当我尝试添加两个字符串时,它仅显示第一个字符串吗?curr是链接列表的开始。如果我添加一个国家/地区并告诉程序进行打印,它将打印该国家/地区的信息。但是,如果我添加两个国家,它将仅打印第一个国家。

 void LinkedList::printList()
 {
    curr = head;
    while (curr)
    {
        cout << "Country Name: " << curr->name << ", " << "Gold: "  << curr->
        gold << ", " << "Silver: " << curr->silver << ", " << "Bronze: " << curr->bronze << "\n";
        curr = curr->next;
    }
}

bool LinkedList::addCountry(string newName, int gold, int silver, int bronze) {
    if (head == NULL)// Adding first element
    {
        head = new struct Country;
        if (head == NULL) return false; // could not create head linked list country
        head->name = newName;
        head->gold = gold;
        head->silver = silver;
        head->bronze = bronze;
        head->next = NULL;
        return true;
    } else {
        curr = head;
        while (curr) {
            curr = curr->next;
        }
        curr = new struct Country;
        if (curr == NULL)
            return false;
        curr->name = newName;
        curr->gold = gold;
        curr->silver = silver;
        curr->bronze = bronze;
        curr->next = NULL;
        return true;
    }
}
巴马克·谢米拉尼(Barmak Shemirani)

printList是正确的。但是在addCountry最后一个元素中必须指向刚刚插入的新元素。例如:

bool LinkedList::addCountry(string newName, int gold, int silver, int bronze) 
{
    Country *newNode = new Country;
    newNode->name = newName;
    newNode->gold = gold;
    newNode->silver = silver;
    newNode->bronze = bronze;
    newNode->next = NULL;

    if (head == NULL)
    {
        //adding first element:
        head = newNode;
    }
    else 
    {
        //find the last element currently in the list:
        Country *last = head;
        while (last->next)//<= ***** edited
            last = last->next;

        //set newNode as the new last element:
        last->next = newNode;
    }
    return true;
}

同样在C ++中,您可以简单地编写new Country,它不需要struct关键字。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我们不能给一个字符串分配一个字符,却可以分配多个字符?

来自分类Dev

为什么我可以用多个字符串文字构造一个字符串?

来自分类Dev

为什么要构造具有多个字符串文字的字符串?

来自分类Dev

给定一个包含文件名的字符串,为什么我不能在Java中拆分一个字符串?

来自分类Dev

为什么我不能比较这两个字符串?字符串输入相同,但始终返回false

来自分类Dev

给定一个包含文件名的字符串,为什么我不能在Java中拆分一个字符串?

来自分类Dev

为什么不能在条件中比较两个字符串?

来自分类Dev

为什么 strtok 不能正确分隔这个字符串?C

来自分类Dev

为什么使用 getchar 读取和打印整个字符串?

来自分类Dev

为什么我的字符串在php中的2995个字符后停止

来自分类Dev

为什么我无法使用索引访问字符串单个字符

来自分类Dev

打印多个字符串与串联并同时打印所有字符串

来自分类Dev

为什么在打印多个字符串(%s)时printf()会留下换行符,并且该如何解决?

来自分类Dev

为什么我得到的这个字符串值是nil?

来自分类Dev

为什么我的代码找不到数组中存在的某个字符串?

来自分类Dev

为什么我的if语句说两个字符串不在列表中?

来自分类Dev

为什么我的 For 循环乘以每个字符串

来自分类Dev

为什么我不能打印出我的字符串数组c ++?

来自分类Dev

为什么我不能使用jQuery的.keypress()、. keydown()和.keyup()事件正确比较两个字符串?

来自分类Dev

为什么我不能在 windows form AP 中对 2 个字符串使用相等的函数?它总是返回 False

来自分类Dev

为什么这个字符串是不可变的?

来自分类Dev

为什么这个字符串不是日期

来自分类Dev

为什么sscanf跳过每个字符串的前4个字符?

来自分类Dev

为什么不能为输入框获得两个字符串中的前两个字符?

来自分类Dev

为什么我的C程序不能打印正确的字符串?

来自分类Dev

为什么我的C程序不能打印正确的字符串?

来自分类Dev

为什么我不能使用cout在C ++中打印字符串值的数组?

来自分类Dev

为什么不能将这两个字符串加在一起?

来自分类Dev

多个字符串格式

Related 相关文章

  1. 1

    为什么我们不能给一个字符串分配一个字符,却可以分配多个字符?

  2. 2

    为什么我可以用多个字符串文字构造一个字符串?

  3. 3

    为什么要构造具有多个字符串文字的字符串?

  4. 4

    给定一个包含文件名的字符串,为什么我不能在Java中拆分一个字符串?

  5. 5

    为什么我不能比较这两个字符串?字符串输入相同,但始终返回false

  6. 6

    给定一个包含文件名的字符串,为什么我不能在Java中拆分一个字符串?

  7. 7

    为什么不能在条件中比较两个字符串?

  8. 8

    为什么 strtok 不能正确分隔这个字符串?C

  9. 9

    为什么使用 getchar 读取和打印整个字符串?

  10. 10

    为什么我的字符串在php中的2995个字符后停止

  11. 11

    为什么我无法使用索引访问字符串单个字符

  12. 12

    打印多个字符串与串联并同时打印所有字符串

  13. 13

    为什么在打印多个字符串(%s)时printf()会留下换行符,并且该如何解决?

  14. 14

    为什么我得到的这个字符串值是nil?

  15. 15

    为什么我的代码找不到数组中存在的某个字符串?

  16. 16

    为什么我的if语句说两个字符串不在列表中?

  17. 17

    为什么我的 For 循环乘以每个字符串

  18. 18

    为什么我不能打印出我的字符串数组c ++?

  19. 19

    为什么我不能使用jQuery的.keypress()、. keydown()和.keyup()事件正确比较两个字符串?

  20. 20

    为什么我不能在 windows form AP 中对 2 个字符串使用相等的函数?它总是返回 False

  21. 21

    为什么这个字符串是不可变的?

  22. 22

    为什么这个字符串不是日期

  23. 23

    为什么sscanf跳过每个字符串的前4个字符?

  24. 24

    为什么不能为输入框获得两个字符串中的前两个字符?

  25. 25

    为什么我的C程序不能打印正确的字符串?

  26. 26

    为什么我的C程序不能打印正确的字符串?

  27. 27

    为什么我不能使用cout在C ++中打印字符串值的数组?

  28. 28

    为什么不能将这两个字符串加在一起?

  29. 29

    多个字符串格式

热门标签

归档