I have a question about stacks... I want to write a program with 3stacks and I want to add this operations on each of these stacks( I should use arrays):
1.create the stack 2. push number 3.pop number 4. display the top of each stack
I wrote the program but I encountered these errors:
Error 4 error LNK2019: unresolved external symbol "public: int __thiscall stack::IsFull2(void)" (?IsFull2@stack@@QAEHXZ) referenced in function "public: void __thiscall stack::Push2(void)" (?Push2@stack@@QAEXXZ) C:\Users\Princess\Documents\Visual Studio 2012\Projects\Project9\Project9\Source.obj
Error 5 error LNK1120: 1 unresolved externals C:\Users\Princess\Documents\Visual Studio 2012\Projects\Project9\Debug\Project9.exe 1
what should I do in order to solve these errors?
#include <iostream>
using namespace std;
#define Max 100
class stack
{
private:
int a[Max],b[Max],c[Max];
int sp1,sp2,sp3;
public:
void create1();
void create2();
void create3();
int IsEmpty1();
int IsEmpty2();
int IsEmpty3();
int IsFull1();
int IsFull2();
int IsFull3();
void Push1();
void Push2();
void Push3();
int Pop1();
int Pop2();
int Pop3();
void Top();
void Show();
int menu();
};
//***************************************
void stack::create1()
{
sp1=-1;
};
//***************************************
void stack::create2()
{
sp2=-1;
}
//***************************************
void stack::create3()
{
sp3=-1;
}
//***************************************
int stack::IsEmpty1(){
return sp1==-1;
}
//***************************************
int stack::IsEmpty2(){
return sp2==-1;
}
//***************************************
int stack::IsEmpty3(){
return sp3==-1;
}
//***************************************
int stack::IsFull1()
{
return sp1==Max-1;
}
//***************************************
void stack::Push1()
{
if(IsFull1())
printf("stack is full");
else
{
int x;
cout<<"Enter your number"<<endl;
cin>>x;
sp1++;
a[sp1]=x;
}
}
//***************************************
int stack::Pop1()
{
if(IsEmpty1())
cout<<"stack is empty"<<endl;
else
{
int x=a[sp1];
sp1--;
return x;
}
}
//***************************************
int stack::IsFull3()
{
return sp3==Max-1;
}
//***************************************
void stack::Push2()
{
if(IsFull2())
printf("stack is full");
else
{
int x;
cout<<"Enter your number"<<endl;
cin>>x;
sp2++;
b[sp2]=x;
}
}
//***************************************
int stack::Pop2()
{
if(IsEmpty2())
cout<<"stack is empty"<<endl;
else
{
int x=b[sp2];
sp2--;
return x;
}
}
//***************************************
void stack::Push3()
{
if(IsFull3())
printf("stack is full");
else
{
int x;
cout<<"Enter your number"<<endl;
cin>>x;
sp3++;
c[sp3]=x;
}
}
//***************************************
int stack::Pop3()
{
if(IsEmpty3())
cout<<"stack is empty"<<endl;
else
{
int x=c[sp3];
sp3--;
return x;
}
}
//***************************************
void stack::Top()
{
cout<<"the top of first stack"<<a[sp1]<<endl;
cout<<"the top of second stack"<<b[sp2]<<endl;
cout<<"the top of third stack"<<c[sp3]<<endl;
}
//***************************************
void stack::Show()
{
for(int i=0;i<=sp1;i++)
cout<<"the members of the first stack:"<<a[i]<<endl;
for(int j=0;j<=sp2;j++)
cout<<"the members of the second stack:"<<b[j]<<endl;
for(int k=0;k<=sp3;k++)
cout<<"the members of the third stack:"<<c[k]<<endl;
}
//***************************************
int stack::menu(){
int x;
cout<<"1.Add Item"<<endl;
cout<<"2.Delete Item"<<endl;
cout<<"3.Get Count"<<endl;
cout<<"4.Show stack"<<endl;
cout<<"5.Exit"<<endl;
cout<<"Enter your choose:"<<endl;
cin>>x;
return x;
}
////***************************************
int main()
{
stack st;
st.create1();
st.create2();
st.create3();
while(1)
{
switch(st.menu())
{
case 1:
cout<<"first stack:"<<endl;
st.Push1();
cout<<"second stack:"<<endl;
st.Push2();
cout<<"third stack:"<<endl;
st.Push3();
break;
case 2:
cout<<"first stack:"<<endl;
st.Pop1();
cout<<"second stack:"<<endl;
st.Pop2();
cout<<"third stack:"<<endl;
st.Pop3();
break;
case 3:
st.Top();
break;
case 4:
st.Show();
break;
case 5:
return 0;
default:
cout<<"incorrect"<<endl;
}
}
return 0;
}
IsFull2
. Also, please tag this question with pertinent platform tags, apparently this is C++ on Windows? – tripleee"what should I do in order to solve these errors?"
A: read them? (unresolved ... symbol "... int ... stack::IsFull2
) – kfsone