Skip to content

Fidolorous/rush02fausrguez

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

Codam

Rush02

MVP

Create a program that takes a number as argument and converts it to its written letters value.

Turn-in directory: ex00/

Files to turn in: Makefile and all the necessary files

Allowed functions : write, malloc, free, open, read, close


  • Executable name: rush-02
  • Your source code will be compiled as follows :
make fclean
make
  • Your program can take up to 2 arguments:
    • If there is only one argument, it is the value you need to convert
    • If there are two arguments, the first argument is the new reference dictionary and the second argument is the value you need to convert.
  • If the argument isn’t a valid positive integer, your program must return "Error", followed by a newline.
  • Your program must parse the dictionary given as resource to the project. The values inside it must be used to print the result. These values can be modified.
  • Any memory allocated on the heap (with malloc(3)) must be freed correctly. This will be verified during evaluation.
  • The dictionary will have the following rules:

[a number][0 to n spaces]:[0 to n spaces][any printable characters]\n

  • You will trim the spaces before and after the value in the dictionary.
  • The dictionary will always have at least the keys as in the reference dictionary.
    • Their value can be modified, more entries can be added, but the initial keys can’t be removed.
  • You only need to use the initial entries (For instance, if we add 54: fifty-four, you still have to use 50: fifty and 4: four)
    • The entries of the dictionary can be stored in any order.
    • There can be empty lines in the dictionary.
    • If you have any errors from the dictionary parsing, your program must output Dict Error\n
    • If the dictionary doesn’t allow you to resolve the asked value, your programmust output Dict Error\n.
  • Example:
$> ./rush-02 42 | cat -e
forty two$
$> ./rush-02 0 | cat -e
zero$
$> ./rush-02 10.4 | cat -e
error$
$> ./rush-02 100000 | cat -e
one hundred thousand$
$> grep "20" numbers.dict | cat -e
20 : hey everybody !$
$> ./rush-02 20 | cat -e
hey everybody !$

Bonus

  • Use customized key-value data: 54: fifty-four instead of 50: fifty and 4: four
  • Using -, ,, and to be closer to the correct written syntax
  • Doing the same exercice in a different language. For this, you are allowed to provide another dictionary which will contain the necessary entries.
  • Using read to read standard entry when there is no argument
  • Any other bonus that you think bring something more to the project

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 76.4%
  • C++ 17.0%
  • Makefile 6.6%