Use the following code to allow an output to the screen to play a word descrambling game in C++

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Use the following code to allow an output to the screen to play a word descrambling game in C++ 

#include <bits/stdc++.h>
using namespace std;

// Function that sorts the given string
// and transform a sorted string to uppercase
string sortString(string word)
{
   // Transformed to uppercase
   transform(word.begin(), word.end(),
           word.begin(), ::toupper);

   // Sort the words
   sort(word.begin(), word.end());
   return word;
}

// Function that finds the anagram of
// given string in the given text file
void jumbledString(string jumble)
{
   // Initialize strings
   string checkPerWord = "";
   string userEnteredAfterSorting;

   // Sort the string
   userEnteredAfterSorting
       = sortString(jumble);

   // Using filehandling ifstream
   // to read the file
   ifstream words("words.txt");

   // If file exist
   if (words) {

       // Check each and every word
       // of words.txt(dictionary)
       while (getline(words,
                   checkPerWord)) {

           string Ch
               = sortString(checkPerWord);

           // If words matches
           if (Ch
               == userEnteredAfterSorting) {

               // Print the word
               cout << checkPerWord
                   << endl;
           }
       }

       // Close the file
       words.close();
   }
}

// Driver Code
int main()
{
   // Given string str
   string string = "tac";

   // Function Call
   jumbledString(string);

   return 0;
}

Expert Solution
Step 1

There are some issues with the code. Also without the contents of the text file, it is difficult to tell the error.

  • There is an issue with a copy elision.
  • In the code "words" is the text file and "word" is a variable used.
  • Use fstream in the header to read and write files easily
  • The file "words.txt" should be in the working directory. Usually, the working directory is the directory containing the executable

 

------------------------------------------------------ Updated C++ Code ------------------------------------------------

#include <iostream>
#include <fstream>
using namespace std;

string sortString(string word)
{
   transform(word.begin(), word.end(), word.begin(), ::toupper);

   sort(word.begin(), word.end());
   return word;
}
void jumbledString(string jumble)
{
   string checkPerWord = "";
   string userEnteredAfterSorting;

   userEnteredAfterSorting = sortString(jumble);

   ifstream word("words.txt");

   if (word) {
       while (getline(word, checkPerWord)) {

           string Ch = sortString(checkPerWord);

           if (Ch == userEnteredAfterSorting) {
               cout << checkPerWord << endl;
           }
       }
       word.close();
    }
 }

 int main()
{
   string string = "tac";
   jumbledString(string);
   return 0;
}

steps

Step by step

Solved in 2 steps

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY