a652751663 2015-06-16 00:35 采纳率: 0%
浏览 1447

关于链表在函数对象中节点的存储问题

代码如下,写的是职工信息管理系统的前部分代码,通过类的对象p把数据保存在了结点中,但是只是对象,无法永久保存在链表里面,翻了很多书,代码,实在想不通,有人说用指针的引用List*&p来解决,但是我还是不懂,求大神帮帮忙吧,我一个人实在解决不了了,跪求大神啊,,,,,,
#include
#include
#include
using namespace std;
class Stuff
{
public:
char* Name;
int medium;
char* pNo;
char* pDepno;
char* pSalary;
class Stuff* next;
Stuff()
{
Name=NULL;
medium=NULL;
pNo=NULL;
pDepno=NULL;
pSalary=NULL;
next=NULL;
}
};
class List
{
int medium;
Stuff* Head;
public:
List()
{
medium=0;
Head=new Stuff;
}
void Add(); //添加员工信息
void AddInput(char*no,char*name,char*dep,char*salary); //添加员工数据重载单链表
void output(); //输出员工信息
void stuffswap(Stuff* a,Stuff* b);//信息交换
void sordon(); //通过pno指针将职工记录按no从小到大链接起来
void depno(); //通过pdepno指针将职工记录按depno从小到大链接起来
void outputdepno(); //沿pdepno链输出全部职工信息
void sordsalary(); //通过psalary指针将职工记录按salary从小到大链接起来
void empty(); //清空员工信息
void savexit(); //存储到文件并退出
~List();
};
void List::AddInput(char no,char *name,char *dep,char *salary)
{
Stuff
q=new Stuff;
Stuff* p=Head;
q->pNo=new char[strlen(no)+1];
q->pDepno=new char[strlen(dep)+1];
q->pSalary=new char[strlen(salary)+1];
q->Name=new char[strlen(name)+1];
strcpy_s(q->pNo,2,no);
strcpy_s(q->pDepno,2,dep);
strcpy_s(q->pSalary,4,salary);
strcpy_s(q->Name,2,name);
//medium++;
for(;q->next!=0;q=q->next)
{p->next=q;}
}
void List::Add() //员工信息添加
{
Stuff*p=new Stuff;
char no[50],name[50],dep[50],salary[50];
int select;
do
{
cout<<"请输入职工号:";
cin>>no;
cout<<"请输入员工姓名:";
cin>>name;
cout<<"请输入部门号:";
cin>>dep;
cout<<"请输入工资数:";
cin>>salary;
while(cin.fail())
{
cout<<"请输入正确的工资数。";
cin.clear();
fflush(stdin);
cin>>salary;
}
cout< /*p->pNo=no;
p->pDepno=dep;
p->Name=name;
p->pSalary=salary;
medium++;
p->next=Head->next;
Head->next=p;
//for(int i=0;i //{
//p->next=
//}*/
cout<<"数据添加成功!是否继续添加?(Y/N)";
cin>>select;
}
while(select=='y'||select=='Y');
//AddInput(no,name,dep,salary);
output();
}

  • 写回答

1条回答 默认 最新

  • 帘卷西风 博客专家认证 2015-06-16 02:40
    关注

    你这个问题描述不是很清楚,对象或者指针都可以存在链表里面啊。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料