各位达人帮忙看下

Gengoo 2008-04-18 12:48:42


头文件
#include <iostream.h>

struct CNode
{
int nNode;
CNode *pNext;
};

class PNode
{
public:
int CNodeCount; //节点数量
CNode *pHeadNode; //节点
public:

int InitData();
int WriteToFile(char *sFile);
int ReadToNode(char *sFile);
int DestNode();

void printfNode();

PNode()
{
CNodeCount = 0;
pHeadNode = NULL;
}
~PNode()
{
}

};

源文件
#include "test.h"
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>


int PNode::InitData()
{

pHeadNode = new CNode;
if (pHeadNode == NULL)
{
cout << "不能分配内存空间!" << endl;
exit(0);
}

CNode *curNode, *tailNode;

curNode = pHeadNode;

int value;

//为什么下面不能给头结点赋值,输入值后,pHeadNode->nNode没有值
while (cin >> value && value != 0)
{
tailNode = new CNode;
if (tailNode == NULL)
{
cout << "不能分配内存空间!" << endl;
exit(0);
}

tailNode->nNode = value;
curNode->pNext = tailNode;
curNode = tailNode;
}

curNode->pNext = NULL;

return 0;
}

void PNode::printfNode()
{
CNode *ptrNode = new CNode;
ptrNode = pHeadNode;

while (ptrNode)
{
cout << ptrNode->nNode << ', '<< endl;
ptrNode = ptrNode->pNext;
}
}

void main()
{
PNode *pNode = new PNode;
pNode->InitData();
pNode->printfNode();
}

...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
baihacker 2008-04-18
  • 打赏
  • 举报
回复

#include <iostream.h>

struct CNode
{
int nNode;
CNode *pNext;
};

class PNode
{
public:
int CNodeCount; //节点数量
CNode *pHeadNode; //节点
public:

int InitData();
int WriteToFile(char *sFile);
int ReadToNode(char *sFile);
int DestNode();

void printfNode();

PNode()
{
CNodeCount = 0;
pHeadNode = NULL;
}
~PNode()
{
}

};

#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>


int PNode::InitData()
{

pHeadNode = new CNode;
if (pHeadNode == NULL)
{
cout << "不能分配内存空间!" << endl;
exit(0);
}

CNode *curNode, *tailNode;

curNode = pHeadNode;

int value;

//为什么下面不能给头结点赋值,输入值后,pHeadNode->nNode没有值
while (cin >> value && value != 0)
{
tailNode = new CNode;
if (tailNode == NULL)
{
cout << "不能分配内存空间!" << endl;
exit(0);
}

tailNode->nNode = value;
curNode->pNext = tailNode;
curNode = tailNode;
}

curNode->pNext = NULL;

return 0;
}

void PNode::printfNode()
{
CNode *ptrNode = pHeadNode->pNext;

while (ptrNode)
{
cout << ptrNode->nNode << ','<< endl; //', '多了一个空格
ptrNode = ptrNode->pNext;
}
}

void main()
{
PNode *pNode = new PNode;
pNode->InitData();
pNode->printfNode();
}

1
2
3
0
1,
2,
3,
Press any key to continue

fallinleave 2008-04-18
  • 打赏
  • 举报
回复
//为什么下面不能给头结点赋值,输入值后,pHeadNode->nNode没有值
你输入的第一个值就给第二个节点了,当然没有值了
fallinleave 2008-04-18
  • 打赏
  • 举报
回复
int PNode::InitData()
{

CNode *curNode, *tailNode, *pHeadNode;

curNode = pHeadNode = tailNode = NULL;
int value;

//为什么下面不能给头结点赋值,输入值后,pHeadNode->nNode没有值
while (cin >> value && value != 0)
{
tailNode = new CNode;
if (tailNode == NULL)
{
cout << "不能分配内存空间!" << endl;
exit(0);
}

tailNode->nNode = value;
if(NULL == curNode)
{
pHeadNode = tailNode;
curNode = tailNode;
}
curNode->pNext = tailNode;
curNode = tailNode;
}

curNode->pNext = NULL;

return 0;
}
effective_person 2008-04-18
  • 打赏
  • 举报
回复

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

struct CNode
{
int nNode;
CNode *pNext;
};

class PNode
{
public:
int CNodeCount; //节点数量
CNode *pHeadNode; //节点
public:

int InitData();
int WriteToFile(char *sFile);
int ReadToNode(char *sFile);
int DestNode();

void printfNode();

PNode()
{
CNodeCount = 0;
pHeadNode = NULL;
}
~PNode()
{
}

};


int PNode::InitData()
{

pHeadNode = new CNode;
if (pHeadNode == NULL)
{
cout << "不能分配内存空间!" << endl;
exit(0);
}

CNode *curNode, *tailNode;
//pHeadNode->pNext=NULL;
curNode = pHeadNode;

int value;

//为什么下面不能给头结点赋值,输入值后,pHeadNode->nNode没有值
while (cin >> value && value != 0)
{
tailNode = new CNode;
if (tailNode == NULL)
{
cout << "不能分配内存空间!" << endl;
exit(0);
}
tailNode->nNode = value;
curNode->pNext = tailNode;
curNode = tailNode;
}
curNode->pNext = NULL;

return 0;
}

void PNode::printfNode()
{
// CNode *ptrNode = new CNode;
CNode* ptrNode = pHeadNode->pNext;

while (ptrNode)
{
cout << ptrNode->nNode << " "<< endl;//是输出的问题 ‘1’有误!
ptrNode = ptrNode->pNext;
}
}

void main()
{
PNode *pNode = new PNode;
pNode->InitData();
pNode->printfNode();
}


64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧