Git Product home page Git Product logo

Cruze McFarlane's Projects

c-p2p-chat icon c-p2p-chat

Peer to peer chat application written in C for CS 3251

c_programming_thesuarus icon c_programming_thesuarus

Write a program that allows the user to spell check an ASCII text file. The program should read in a dictionary of words from the plain ASCII file linux.words (You will be given this file) and store it in a suitable array. The program should then read words, one at a time, from the user-given input file. Each word should be compared to the dictionary. If an exact match is found, the program should continue to the next word. If no exact match is found, then the program should begin searching for suitable suggestions for replacement. The search for replacement words should work as follows. Let N be the length of the original input word, minus 1. Starting with that value of N, the program should search for any exact matches of the first N characters of the input word with any words in the dictionary, and add them to a suggestion list. Following that, the program should search for any exact matches of an N substring anywhere inside the input word, as compared to anywhere inside a dictionary word. Decrease the value of N by 1, and repeat. This process should stop when 10 words have been suggested, or when N reaches 0. The program should provide the list of suggestions to the user through a simple text menu. One option in that menu should be to keep the original word. Either upon verifying that the original word is found in the dictionary, or upon the user selecting a replacement, the program should write the appropriate word to an output file. The program should discover the names of both the input file and the output file from command line arguments. The program should check to make sure that the appropriate number of command line arguments is given by the user and, if not, report an error along with the proper usage of the program. The program does not have to be concerned with spacing or arrangement between words. Words can be output one per line, for example, even though that does not match how they were arranged in the input file. The program does not need to handle punctuation characters and can disregard them while checking spelling.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.