| | |
Linked stack modification issue
![]() |
•
•
Join Date: Jun 2005
Posts: 8
Reputation:
Solved Threads: 0
I need to have my code modified, but am unsure how to write the code to do it. After the ID and name are poped from the stack, I need the program to automatically display the list created i.e. I don't want to use display as an option.
I think I need to have main function loop back after pop and display are done. How can I do this?
Here is the code:
Code tags added. -Narue
I think I need to have main function loop back after pop and display are done. How can I do this?
Here is the code:
C++ Syntax (Toggle Plain Text)
#include<conio.h> #include<stdio.h> #include <iostream.h> class link_stack { struct node { int id; char name[10]; node *next; }; node *top,*x,*ptr; public: link_stack() { top=x=ptr=NULL; } void push() { x=new node; cout << "Enter an ID number and name: "; cin >> x->id >> x->name; x->next=top; top=x; } void pop() { if(top==NULL) cout<<"\nStack is Empty"; else { x=top; top=top->next; delete x; } } void display() { ptr=top; while(ptr!=NULL) { cout << "\nName: "<< ptr->name; cout<<"\nID number: "<<ptr->id; ptr=ptr->next; } } }; void main() { link_stack obj; int choice; do { cout << "\n ----------MENU---------- \n"; cout << "1.Push\n" << "2.Pop\n" << "3.Display\n" << "4.Exit"; cout << "\nEnter your choice: "; cin>>choice; switch(choice) { case 1: obj.push(); break; case 2: obj.pop(); break; case 3: obj.display(); break; case 4: cout << endl; } } while (choice!=4); getch(); }
Use code tags for any future code. I've added them for you this time, but next time I may just feel the need to delete your post if you fail to do it properly.
>After the ID and name are poped from the stack, I need the program to
>automatically display the list created
Change this:
To this:
By default, cases will fall through to the next case if you don't use a break statement. So if you want to display the stack after every pop, simply omit the break on the pop case.
If that's not what you want, be more specific.
>After the ID and name are poped from the stack, I need the program to
>automatically display the list created
Change this:
C++ Syntax (Toggle Plain Text)
case 2: obj.pop(); break; case 3: obj.display(); break;
C++ Syntax (Toggle Plain Text)
case 2: obj.pop(); case 3: obj.display(); break;
If that's not what you want, be more specific.
I'm here to prove you wrong.
>More specifically, how can I get rid of display () and still "display" poped entries after each pop.
That's easy: you don't. Since the data members of your class are private (as they should be), the only way to display them is with a public member function or a friend function. Either way you would have the equivalent of link_stack::display().
That's easy: you don't. Since the data members of your class are private (as they should be), the only way to display them is with a public member function or a friend function. Either way you would have the equivalent of link_stack::display().
I'm here to prove you wrong.
![]() |
Similar Threads
- linked stack question (C++)
- linked stack question. (C)
Other Threads in the C++ Forum
- Previous Thread: C++ help with Julian day program revised
- Next Thread: using stringstream for tokenizing a string
| Thread Tools | Search this Thread |
addition api array base based binary bitmap bootloader c++ c/c++ char class classes code coding compile console conversion count data delete deploy desktop developer directshow dll download dynamic dynamiccharacterarray email embed encryption error erroraftercompilation excel file forms fstream function functions game getline givemetehcodez gmail graph gui homework homeworkhelp homeworkhelper iamthwee ifstream input int integer java lib linkedlist linker loop looping loops map math matrix memory multiple news node output pointer problem program programming project python random read recursion reference rpg std::coutwstring string strings systrayfail temperature template test text text-file tree url variable vector video win32 windows winsock word wordfrequency wxwidgets






