在这个链表中,为什么它不允许我再次运行并创建另一个节点,我的代码中有什么错误?

UN90

我正在尝试使用链表数据结构创建员工数据库,但是一旦我输入该值,再次运行的选项将不可用,并且显示功能也不会在我检查代码之前停止执行代码sevearl 次,但我无法发现错误。

#include<iostream>

using namespace std;

class node
{
    public:
    int Emp_No;
    node *next;
    node()
    {
        next=NULL;
    }
};

class Link_List
{
    public:
    node *head;
    
    Link_List()
    {
        head==NULL;
    }
    void create();
    void display();
};

void Link_List::create()
{
    node *temp,*p;
    int again;
    do
    {
        temp=new node();
        cout<<"Enter Employee No.: ";
        cin>>temp->Emp_No;
        if (head==NULL)
        {
            head=temp;
        }
        else
        {
            p=head;
            while (p->next!=NULL)
            {
                p=p ->next;
            }
            p ->next=temp;
        }
        cout<<"Enter 1 to add more: ";
        cin>>again;
    } while (again==1);
}

void Link_List::display()
{
    node *p1;
    if (head==NULL)
    {
        cout<<"The linked list is empty"<<endl;
    }
    else
    {
        p1=head;
        while (p1!=NULL)
        {
            cout<<"Employee No:"<<p1 ->Emp_No<<endl;
            p1=p1->next;
        }
    }
}
int main()
{
    Link_List emp1;
    emp1.create();
    emp1.display();
    return 0;
}

以下是输出,它只允许我输入一次值,然后不要求下一次它结束,并且这里也没有执行显示功能:

PS E:\Programming\C++> cd "e:\Programming\C++\" ; if ($?) { g++ Linked_List.cpp -o Linked_List } ; if ($?) { .\Linked_List }
Enter Employee No.: 101
PS E:\Programming\C++>
多拉德

你在Link_List构造函数中有一个错字它应该是:

head=NULL;

不是

head==NULL;

它似乎工作,更换后。

提示:虽然用眼睛静态扫描代码会让你思考得更好;调试器是您需要采用的基本工具。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的Java代码有一个明显的错误。为什么要编译并运行?

为什么不允许覆盖方法中的参数类型不同(一个是原始类型,另一个是包装器)?

为什么我的div在代码中与另一个div重叠?

我的链表代码中有什么错误?

为什么一个代码从Firebase给我正确的密钥,而另一个却没有?

为什么libxml不允许我创建具有base64文本内容的节点?

我在joomla中有一个错误-请查询。我在这个查询中有错误

代码不允许我禁用另一个脚本中的一个脚本

为什么我没有在另一个活动中获得传递的值?

VBA:不允许我更改Microsoft Access中另一个表单的RecordSource

这段代码中某处的Vba错误,它不允许我的代码运行

我在这个继承中有什么错误?

有人能告诉我为什么这些 JavaScript 代码中的一个有效而另一个无效吗?

为什么在这个方法调用中有一个 NullPointerException?

当我使用在将粘贴到另一个文件中的代码中定义的变量时,它不应打印在文件中。为什么?

为什么这个 C 代码在没有告诉它的情况下将我的变量 lastName 更改为另一个值?

为什么我的图像没有显示在另一个 div 内的 div 中?

为什么我在这个特定的代码中得到一个 ArrayIndexOutOfBoundsException?

我现在没有,为什么我在这个 sql 请求中有错误

为什么 SELECT INTO sql 语句在这个 Pl/SQL 函数中给我一个错误?

为什么在这个解散的 std::string dtor 中有一个锁定的 xadd 指令?

为什么我在这个回声中得到一个领先的单曲引述?

Windows 10中的文件ini_set在哪里我为什么在这个脚本中有错误

为什么我在这个双向链表中出现错误?

我得到一个非法引用和一个不允许的类型名称,为什么?

为什么我的链表中有一个循环,即使它被编码为事先退出?

为什么它不允许我输入超过 [1][0] 的值?

为什么 sublime text 不允许我的代码正常运行?

为什么 Ubuntu 允许创建超过 4 个主分区,但不允许我创建?