Thenbspproblemwritenbspa programnbspthat translatesnbspto

Assignment Help C/C++ Programming
Reference no: EM13359881

The Problem

Write a program that translates to and from Morse Code. Use the curl library and a website (e.g. https://morse.socs.uoguelph.ca/cgi­bin/morse.pl) to do the actual translations. Your program must take the user input, call the remote perl script using curl, process the response and display the appropriate results to the user. You may use any suitable website for translation but you must call the site using curl. There is a curl­utility file in the A2 algorithm folder (in the examples repo) that you may use to simplify your use of curl. 

Your program should permit the user to enter text to be translated to morse code, or to enter dots and dashes to be translated to text. A dot is represented by the period (.) and a dash is represented by the hyphen (­). Separate words by spaces.

Musts: How to get more than ZERO

? Compile, with no errors using ­ansi ­Wall ­pedantic (on the raspberry pi (raspbian))

? Run and take both types of user input without crashing

The Basics: The first 80%

You can get 80% on this assignment by just following the instructions. If you meet each of the expectations listed, you should get most or all of the 80 marks allocated to basic functionality.  

Expectations for your Program

? The user can choose to enter text or morse code (up to 200 characters)

? The program loops until the user asks to quit

? Allow the user to see previous results (keep a history)

? When taking morse code input, prevent all input that is not a dot, dash or space

? The user interface is intuitive and pleasant to use (may use ncurses) and does not leave the user with a cluttered, confusing screen.

? The website used may be hardcoded, you do not have to let the user choose the translation service.

? The program gives correct translations.

 

Expectations for your Code

? Use the curl library (you may use the curl utility that is provided with the assignment algorithm files)

? Separate functions and main into different source files

? Root assignment folder has src/ include/ doc/ and bin/ subdirectories that are used properly. If needed use lib/ and assets/ subdirectories as well.

? make correct use of dynamic memory (including freeing pointers)

? dynamically allocate arrays and strings to be the correct length for the input

?Source code is divided properly into .c and .h files with required headers in .cfile (see the policies document)

? Source code is consistently indented using spaces

? Comments about function parameters and return values purpose are present (ideally in .h files). Comments about algorithm logic are in .c files

? Variable and function names are meaningful and are in camelCase

? Program compiles with a makefile that places the executable in the bin/ folder

Things you will need to know

? The basics of International Morse Code (https://morsecode.scphillips.com/morse2.html)

? The structure of an html document (so you can parse through the returned result)

? Dynamic Arrays

? Array processing and/or string.h library functions

? malloc and free

? How to use git to clone, commit, push

? How to write a simple makefile

? How to place files in folders

 

Enhancements: How to get the last 20%

The final 20% of the marks for this assignment are earned by showing that you have mastered the programming constructs and that you are an adept problem solver. You do not need to do all of the following to get graded on the last 20% of the assignment, but you do need to demonstrate (verbally when we grade you) that you have a solid understanding of how to approach them all and you need to have done at least one of these enhancements really well, or two of them to a functional­but­not­perfect level. Some of the enhancements are harder than others.

? Morse code is primarily intended to be heard. Add functionality to your program so that when text is translated to morse code, the user can hear the morse  code through speakers

? Use an LED/resistor set and the GPIO pins on the pi to visually display themorse code when english is translated to morse code. Judi has some LED/resistor sets you can purchase or you can build your own by following these instructions (https://www.thirdeyevis.com/pi-page-2.php). Our TA (Bill) has a C library you can use to simplify GPIO interaction. Youll need to ask us for it if you want it.

? Use a parsing library to parse the HTML instead of writing your own special purpose parser. Be sure to include the library files in your submission and to write your makefile to look in the lib/ folder for your library

Deliverables: Things you must hand in

1. (via git) The assignment files are in a subdirectory of your coursework repository. The subdirectory must be called A2 (capitalization is important)

2. A plain text file called README is in the root folder of the assignment (A2). It contains information about running and using your program as well as any known limitations of the program.

3. You have a makefile that will compile your code and place the executable in the bin subfolder. The makefile is in the root directory of the assignment. The makefile should not run your program.

4. Information about how you tested your program is in the testing document

5. Your reference list is in the doc subfolder

Reference no: EM13359881

Questions Cloud

Warehousewhy does inventory need to be stored in a : warehousewhy does inventory need to be stored in a warehouse? what different types of warehouses are there? how do
Nbspquestion what is felix frankfurters quotationwhat r : nbspquestion what is felix frankfurters quotation?what r some of the benefits and concerns of teaching in a class
Staffing trendshuman resources professionals are : staffing trendshuman resources professionals are responsible for staying abreast of staffing trends. you are aware of
Wage amp benefit issuesplease help with the following study : wage amp benefit issuesplease help with the following study questions. detailed responses are greatly appreciated by
Thenbspproblemwritenbspa programnbspthat translatesnbspto : thenbspproblemwritenbspa programnbspthat translatesnbspto and from morsenbspcode.nbspuse the curl librarynbspand a
Motorola cisco compare and constrast problem formulation : motorola cisco compare and constrast problem formulation and identification styleshow can i investigate and observe the
Exploration and exploitationwhat are the exploration and : exploration and exploitationwhat are the exploration and exploitation? and why are these important for designing a
Project management is a relatively young practice and the : project management is a relatively young practice and the memory and terminology of many nonstandard pm models are
Nine pmi standardsbpps customer innovative systems has had : nine pmi standardsbpps customer innovative systems has had very uneven results from the ad hoc approach it has taken to

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Calculates the student * averages and quiz averages based

Calculates the student * averages and quiz averages based upon input from the user. Modify this program to read in the following grade text file, * with a maximum number of students set to 35 and having five quiz scores for each student. The output s..

  Function that accepts a pointer to a c-string

Write a function that accepts a pointer to a C-string as an argument and returns the number of words contained in the string. Also have it display the average number of letters in each word.

  Write a function that returns the day of the year

Write a function day_of_year(month, day, year) that returns the day of the year (an integer between 1 and 366) specified by the three augments.

  The first will be a structure called point

Create two structures. The first will be a structure called Point and will have as its data members an x and y coordinate. The second will be called Line and will have two Point structures as its data members.

  Function odd_fill() that fills all integers between two poin

write a function odd_fill() that fills all integers between two pointers, first and last, with a sequence of odd integers: 1,3,5,7

  How to compile your program

how to compile your program (including the actual compile command) and how to run it (including command line arguments, if any) A description of your solution to these two problems, including what you did to solve the problem, and why you did it that..

  Design a cruiseship class that is derived from ship class

SEN 970 Object-Oriented Programming in Objective-C. Demonstrate the classes in a program that has an array of ship pointers. The array elements should be initialized with the addresses of dynamically allocated Ship, CruiseShip and CargoShip objects..

  Create a program for a company named retail-martprompt the

create a program for a company named retail-martprompt the user to enter an item name one word only a quantity and a

  Define a function hypotenuse that calculates the hypotenuse

Define a function hypotenuse that calculates the hypotenuse of a right triangle when the other two sides are given. The function should take two arguments and return the hypotenuse as a double.

  Implementation of data member counter of type int

Write the implementation (.cpp file) of Counter class. Here is the full specification of the class: A data member counter of type int.

  Create a serial object s

The function call operator is overloaded and will generate a sequential integer each time the operator is used and the object can be created with the sequence start value specified.

  Program to next the loops in either direction

You can write your program to next the loops in either direction, that is, process row-by-row or column-by-column. Explain which way you would choose to process the data.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd