新微赢技术网
标题:
[求助]队列接受显示的问题
[打印本页]
作者:
小猫钓鱼tp
时间:
2009-11-4 00:45
标题:
[求助]队列接受显示的问题
用队列接受并且显示,麻烦大大帮下忙,现在能接受2个数,但是只能显示第一个的,我要怎样做才能显示出2个来,搞了7.8个小时了,郁闷得很
#include <iostream>
#include <string>
using namespace std;
class node
{
private:
string data;
string name;
public:
node *Next;
void add_data(const string &d);
string disp_data();
void disp()
{
cout<<"\nCustomer data :\t"<<data;
cout<<"\nName :\t"<<name;
}
};
void node::add_data(const string &d)
{
data=d;
cout<<"\nEnter Customer Name\t";
getline(cin,name);
}
string node::disp_data()
{
return disp();
}
class queClass
{
node *FRONT, *REAR;
public:
queClass(void);
void add_node(string &d);
bool del_node();
};
queClass::queClass()
{
FRONT=NULL;
REAR=NULL;
}
void queClass::add_node(string &d)
{
node *Fresh;
Fresh = new node;
Fresh->add_data(d);
Fresh->Next = NULL;
if(FRONT==NULL)
{
FRONT=Fresh;
REAR=Fresh;
}
else
{
REAR->Next=Fresh;
REAR=Fresh;
}
}
bool queClass::del_node()
{
node *temp;
int ctr=1;
if (FRONT==NULL)
return false;
while(FRONT!=NULL)
{
temp=FRONT;
FRONT=FRONT->Next;
cout<<"Candidate\t"<<ctr<<"\t is "<<temp->disp_data()<<endl;
ctr++;
delete temp;
}
return true;
}
int main()
{
queClass q1;
string val;
char choice='y';
while(choice=='y')
{
cout<<"Are there any more people in Queue (y/n)?";
cin>>choice;
if(choice == 'n')
break;
cout<<"\n\n Enter name of Person in the Queue\n\n";
cin.ignore();
getline(cin,val);
q1.add_node(val);
}
cout<<"The Order of Interview Time on First-cum-first basis of all the ,candidates is as follows:\n";
if (q1.del_node()==false)
cout<<"No candidates for Interview\n";
system("PAUSE");
}
作者:
√碧水寒潭
时间:
2009-11-4 00:45
没有注释很闹心
既然你说看了很长时间
估计你不会出一般错误
我就不找了
这里你试试void node::add_data(const string &d)
{
data=d;
cout<<"\nEnter Customer Name\t";
cin.ignore(100,'\n');
getline(cin,name);
}
作者:
未来的回忆
时间:
2009-11-4 00:45
不行........
用链表成吗?但是我不知道怎么用POP和PUSH和链表连接,在学校里面老师又没讲,就直接出题,说交不出来平时练习的分没了.....自己最先试了半天结果还是不知道怎么连,麻烦能指点下吗
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2