Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.59 KB | None | 0 0
  1. Login
  2. -------------
  3. #include <iostream>
  4. #include "linkedlist.h"
  5. #include "Employee.h"
  6. using namespace std;
  7. class Login{
  8.     LinkedList<Employee> list;
  9.     Login(){
  10.         //Employee e1 ("manager","manager",true),e2 ("staff","staff",false);
  11.         Employee *e1 = new Employee("manager","manager",true);
  12.         Employee *e2 = new Employee("staff","staff",false);
  13.         list.add(*e1);
  14.         list.add(*e2);
  15.     }
  16.     ~Login(){
  17.        
  18.     }
  19.  
  20. };
  21. ---------
  22. #include <iostream>
  23. using namespace std;
  24. class Employee{
  25. int ID;
  26. static int nextID;
  27. string username;
  28. string password;
  29. bool manager;
  30.  
  31. public:
  32.     Employee(string username,string password,bool manager){
  33.         this->ID = nextID;
  34.         nextID++;
  35.         this->username = username;
  36.         this->password = password;
  37.         this->manager = manager;
  38.     }
  39.     void Employee::grantManager(){
  40.         this->manager = true;
  41.     }
  42.     void Employee::revokeManager(){
  43.         this->manager = false;
  44.     }
  45. };
  46. int Employee::nextID=0;
  47. -----------
  48. //LinkedList.h - defines a linked list
  49.  
  50. #include <iostream>
  51.  
  52. using namespace std;
  53.  
  54. template<class T>
  55. struct node
  56. {
  57.     T item;
  58.     node<T> *next;
  59.     node<T> *prev;
  60. };
  61. template <class T>
  62. class LinkedList
  63. {
  64. public:
  65.     void add(const T& item);
  66.     LinkedList();
  67.     ~LinkedList();
  68.     int getLength();
  69.     void reset();
  70.     T iterate();
  71.     T search(int ID);
  72.     void remove(int ID);
  73.  
  74.  
  75. protected:
  76.     node<T> *first;
  77.     node<T> *last; 
  78.     int length;
  79.     T i;
  80. };
  81.  
  82. template <class T>
  83. LinkedList<T>::LinkedList(){
  84.     first = NULL;
  85.     last = NULL;
  86.     length = 0;
  87. }
  88. template <class T>
  89. LinkedList<T>::~LinkedList(){
  90.     node<T> *remove;
  91.     while(first!=NULL){
  92.         remove = first;
  93.         first = first->next;
  94.         delete remove;
  95.     }
  96.     delete last;
  97.     length = 0;
  98. }
  99. template <class T>
  100. void LinkedList<T>::add(const T& item){
  101.     node<T> *nNode;
  102.     nNode->item=item;
  103.     if (*first == NULL) *first = *nNode;
  104.     else {
  105.         *last->next = *nNode;
  106.         *nNode->prev = *last;
  107.         *last = nNode;
  108.     }
  109. }
  110. template <class T>
  111. int LinkedList<T>::getLength(){
  112.     return length;
  113. }
  114. template <class T>
  115. T LinkedList<T>::iterate(){
  116.     if(i ==NULL){
  117.         i = first;
  118.         return i->item;
  119.     }else{
  120.         return i->next->item;
  121.         i = i->next;
  122.     }
  123. }
  124. template <class T>
  125. void LinkedList<T>::reset(){
  126.     i = NULL;
  127. }
  128. template <class T>
  129. T LinkedList<T>::search(int ID){
  130.         node i = NULL;
  131.         while(i->item->ID !=ID){
  132.             i = list.iterate();
  133.         }
  134.         return i->item;
  135.     }
  136. template <class T>
  137. void LinkedList<T>::remove(int ID){
  138.     node i = first;
  139.     node temp = NULL;
  140.     if(first->item->ID == ID){
  141.         temp = first;
  142.         first = temp->next;
  143.         delete temp;
  144.     }else{
  145.         while(i->next->item->ID !=ID){
  146.             i = i->next;
  147.         }
  148.         temp = i->next;
  149.         delete i->next;
  150.         i->next = temp->next;
  151.     }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement