Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- struct Node
- {
- string letter;
- int data;
- Node *next;
- };
- void addInOrder(Node *&, char, int);
- void deleteList(Node *&head);
- void printList(Node * head);
- int main()
- {
- Node * head = nullptr;
- ifstream infile;
- string fileName;
- char fileLetter;
- int fileData = 0;
- //Welcome message
- cout << "\nWelcome to the Secret Messages program!\n";
- cout << "This program will decript the hidden message inside\n";
- cout << "a file and will show you what it says! Let's begin!\n";
- cout << endl;
- //Enter filename
- cout << "Enter filename: ";
- cin >> fileName;
- infile.open(fileName);
- if (infile)
- {
- while (infile >> fileLetter >> fileData)
- {
- addInOrder(head, fileLetter, fileData);
- }
- }
- else
- {
- cout << "Error file could not open...\n";
- }
- printList(head);
- //Goodbye message
- cout <<"\nThanks for using the Secret Messages program!\n";
- }
- void addInOrder(Node *&h, char fileLetter, int fileData)
- {
- Node * curr;
- Node * prev;
- Node * newNode = new Node;
- newNode->letter = fileLetter;
- newNode->data = fileData;
- if (h == nullptr)
- {
- h = newNode;
- newNode->next = nullptr;
- }
- else
- {
- prev = nullptr;
- curr = h;
- while (curr != nullptr && curr->data < fileData)
- {
- prev = curr;
- curr = curr->next;
- }
- if (prev == nullptr)
- {
- h = newNode;
- newNode->next = curr;
- }
- else
- {
- prev->next = newNode;
- newNode->next = curr;
- }
- }
- }
- void deleteList(Node *&head)
- {
- Node * curr;
- while (head != nullptr)
- {
- curr = head;
- head = head->next;
- delete curr;
- }
- }
- void printList(Node * h)
- {
- Node * curr = h;
- while (curr != nullptr)
- {
- cout << curr->letter << " ";
- curr = curr->next;
- }
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement