User Tools

Site Tools


haas:fall2019:c4eng:projects:mtf1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:fall2019:c4eng:projects:mtf1 [2019/09/23 18:12] – [Sample run using multiplication] wedgehaas:fall2019:c4eng:projects:mtf1 [2019/10/01 12:07] (current) – [Specifications] wedge
Line 15: Line 15:
 It is your task to enhance the program you wrote last week (**mtf0**) that will use loops and other programming concepts learned this far to automate the display of entire mathematical operation tables (addition, subtraction, multiplication, division, or remainder; as indicated by the user). This information is potentially of value to some of your letter division efforts in the pctX projects. It is your task to enhance the program you wrote last week (**mtf0**) that will use loops and other programming concepts learned this far to automate the display of entire mathematical operation tables (addition, subtraction, multiplication, division, or remainder; as indicated by the user). This information is potentially of value to some of your letter division efforts in the pctX projects.
  
 +=====Specifications=====
 Your program should: Your program should:
 +
   * have valid, descriptive variable names of length //no shorter than// 4 symbols   * have valid, descriptive variable names of length //no shorter than// 4 symbols
 +    * I will make an exception for the use of 'row'
   * prompt the user for the operation ('+' for addition, '-' for subtraction, '*' for multiplication, '/' for division, and '%' for remainder)   * prompt the user for the operation ('+' for addition, '-' for subtraction, '*' for multiplication, '/' for division, and '%' for remainder)
     * properly store this in a variable of type **char**     * properly store this in a variable of type **char**
-    * check for a literal '+', '-', '*', or '/' symbol to determine operation to perform+    * check for a literal '+', '-', '*', '/', or '%' symbol to determine operation to perform
       * if invalid input, display an error and exit with a non-zero value of 1       * if invalid input, display an error and exit with a non-zero value of 1
   * prompt for the starting row (0-9)   * prompt for the starting row (0-9)
Line 43: Line 46:
   * For the math operations that are not associative, the row value is the one to be operated against (ie result=row-col).   * For the math operations that are not associative, the row value is the one to be operated against (ie result=row-col).
   * To display a '%' character using fprintf, repeat it: %%. That will cancel the otherwise substitutive properties of the symbol in the context of fprintf.   * To display a '%' character using fprintf, repeat it: %%. That will cancel the otherwise substitutive properties of the symbol in the context of fprintf.
 +=====Compiling=====
 +As we have been doing all along, use the following options to gcc when compiling:
 +
 +<cli>
 +lab46:~/src/c4eng/mtf1$ gcc -Wall --std=gnu99 -o mtf1 mtf1.c
 +lab46:~/src/c4eng/mtf1$ 
 +</cli>
 +
 =====Execution===== =====Execution=====
  
 ====Sample run using multiplication==== ====Sample run using multiplication====
 <cli> <cli>
-lab46:~/src/c4eng/mtf1$ ./mtf1+lab46:~/src/c4eng/mtf1$ ./mtf1
 Which operation: * Which operation: *
 Starting Row (0-9): 4 Starting Row (0-9): 4
Line 186: Line 197:
 *:mtf1:correct variable types and name lengths used [13/13] *:mtf1:correct variable types and name lengths used [13/13]
 *:mtf1:proper output formatting per specifications [13/13] *:mtf1:proper output formatting per specifications [13/13]
-*:mtf1:submission conforms to project specifications [13/13] 
 *:mtf1:runtime tests of submitted program succeed [13/13] *:mtf1:runtime tests of submitted program succeed [13/13]
 *:mtf1:no negative compiler messages for program [13/13] *:mtf1:no negative compiler messages for program [13/13]
haas/fall2019/c4eng/projects/mtf1.1569262365.txt.gz · Last modified: 2019/09/23 18:12 by wedge