| | |
Linked stack modification issue
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
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 |
api array beginner binary bitmap c++ c/c++ calculator char char* class classes code coding compile compiler console conversion count database delete desktop developer directshow dll download dynamic email encryption error file forms fstream function functions game givemetehcodez google graph gui homeworkhelper iamthwee ifstream input int integer java lib linkedlist linker linux loop looping loops map math matrix memory multiple news node number numbertoword output parameter pointer problem program programming project proxy python random read recursion recursive return sorting string strings struct temperature template templates test text text-file tree unix url variable vector video visualstudio win32 windows winsock word wordfrequency wxwidgets






