Advertisement
Guest User

reac

a guest
Apr 18th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. struct Node
  6. {
  7. string letter;
  8. int data;
  9. Node *next;
  10. };
  11.  
  12. void addInOrder(Node *&, char, int);
  13. void deleteList(Node *&head);
  14. void printList(Node * head);
  15. int main()
  16. {
  17. Node * head = nullptr;
  18. ifstream infile;
  19. string fileName;
  20. char fileLetter;
  21. int fileData = 0;
  22.  
  23. //Welcome message
  24. cout << "\nWelcome to the Secret Messages program!\n";
  25. cout << "This program will decript the hidden message inside\n";
  26. cout << "a file and will show you what it says! Let's begin!\n";
  27. cout << endl;
  28. //Enter filename
  29. cout << "Enter filename: ";
  30. cin >> fileName;
  31. infile.open(fileName);
  32. if (infile)
  33. {
  34. while (infile >> fileLetter >> fileData)
  35. {
  36. addInOrder(head, fileLetter, fileData);
  37. }
  38. }
  39. else
  40. {
  41. cout << "Error file could not open...\n";
  42. }
  43. printList(head);
  44. //Goodbye message
  45. cout <<"\nThanks for using the Secret Messages program!\n";
  46. }
  47.  
  48. void addInOrder(Node *&h, char fileLetter, int fileData)
  49. {
  50. Node * curr;
  51. Node * prev;
  52. Node * newNode = new Node;
  53. newNode->letter = fileLetter;
  54. newNode->data = fileData;
  55.  
  56. if (h == nullptr)
  57. {
  58. h = newNode;
  59. newNode->next = nullptr;
  60. }
  61. else
  62. {
  63. prev = nullptr;
  64. curr = h;
  65. while (curr != nullptr && curr->data < fileData)
  66. {
  67. prev = curr;
  68. curr = curr->next;
  69. }
  70. if (prev == nullptr)
  71. {
  72. h = newNode;
  73. newNode->next = curr;
  74. }
  75. else
  76. {
  77. prev->next = newNode;
  78. newNode->next = curr;
  79. }
  80. }
  81. }
  82. void deleteList(Node *&head)
  83. {
  84. Node * curr;
  85. while (head != nullptr)
  86. {
  87. curr = head;
  88. head = head->next;
  89. delete curr;
  90. }
  91. }
  92.  
  93. void printList(Node * h)
  94. {
  95. Node * curr = h;
  96. while (curr != nullptr)
  97. {
  98. cout << curr->letter << " ";
  99. curr = curr->next;
  100. }
  101. cout << endl;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement