// C code
// This program will provide options for a user to calculate the square,
// cube or half of a positive Integer input by a user.
// Developer: Gary J Kilmer
// Date: 30 July 2016
#include <stdio.h>
int main ( )
{
/* variable definition: */
int intValue, menuSelect, Results;
// REMOVED THE "intValue = 1" DEFAULT VALUE
while ( intValue > 0 )
{
// While a positive number
printf ( "Enter a positive Integer:\n " ) ; // REMOVED THE "if intValue >0" LINE OF CODE
{
printf ( "Enter 1 to Calculate Square, 2 to Calculate Cube, 3 to Divide by Half:\n " ) ; scanf ( "%d" , & menuSelect
) ; if ( menuSelect == 1 )
{
// Call the Square Function
Results = Square( intValue) ;
printf ( "Square of %d is %d\n " , intValue
, Results
) ; }
else if ( menuSelect == 2 )
{
// Call the Cube function
Results = Cube( intValue) ;
printf ( "Cube of %d is %d\n " , intValue
, Results
) ; }
else if ( menuSelect == 3 )
{
// Call the Shrink function
Results = Shrink( intValue) ;
printf ( "Half of %d is %d\n " , intValue
, Results
) ; }
else
printf ( "Invalid menu item, only 1, 2 or 3 is accepted\n " ) ; }
}
return 0 ;
}
/* function returning the Square of a number */
int Square( int value)
{
return value* value;
}
/* function returning the Cube of a number */
int Cube( int value)
{
return value* value* value;
}
/* function returning Half of an inputted number */
int Shrink( int value)
{
return value/ 2 ;
}
Ly8gQyBjb2RlCi8vIFRoaXMgcHJvZ3JhbSB3aWxsIHByb3ZpZGUgb3B0aW9ucyBmb3IgYSB1c2VyIHRvIGNhbGN1bGF0ZSB0aGUgc3F1YXJlLAovLyBjdWJlIG9yIGhhbGYgb2YgYSBwb3NpdGl2ZSBJbnRlZ2VyIGlucHV0IGJ5IGEgdXNlci4KLy8gRGV2ZWxvcGVyOiBHYXJ5IEogS2lsbWVyCi8vIERhdGU6IDMwIEp1bHkgMjAxNgojaW5jbHVkZSA8c3RkaW8uaD4KaW50IG1haW4gKCkKewovKiB2YXJpYWJsZSBkZWZpbml0aW9uOiAqLwogICBpbnQgaW50VmFsdWUsIG1lbnVTZWxlY3QsUmVzdWx0czsKLy8gUkVNT1ZFRCBUSEUgImludFZhbHVlID0gMSIgREVGQVVMVCBWQUxVRQp3aGlsZSAoaW50VmFsdWUgPiAwKQp7ICAKCSAgIC8vIFdoaWxlIGEgcG9zaXRpdmUgbnVtYmVyCiAgICAgcHJpbnRmICgiRW50ZXIgYSBwb3NpdGl2ZSBJbnRlZ2VyOlxuICIpOwogICAgIHNjYW5mKCIlZCIsICZpbnRWYWx1ZSk7Ci8vIFJFTU9WRUQgVEhFICJpZiBpbnRWYWx1ZSA+MCIgTElORSBPRiBDT0RFCiAgIHsKICAgICBwcmludGYgKCJFbnRlciAxIHRvIENhbGN1bGF0ZSBTcXVhcmUsIDIgdG8gQ2FsY3VsYXRlIEN1YmUsIDMgdG8gRGl2aWRlIGJ5IEhhbGY6XG4gIik7CiAgICAgc2NhbmYoIiVkIiwgJm1lbnVTZWxlY3QpOwogICAgIGlmIChtZW51U2VsZWN0ID09IDEpCiAgICAgewogICAgICAgLy8gQ2FsbCB0aGUgU3F1YXJlIEZ1bmN0aW9uCiAgICAgICBSZXN1bHRzID0gU3F1YXJlKGludFZhbHVlKTsKICAgICAgIHByaW50ZigiU3F1YXJlIG9mICVkIGlzICVkXG4iLGludFZhbHVlLFJlc3VsdHMpOwogICAgIH0KICAgICBlbHNlIGlmIChtZW51U2VsZWN0ID09IDIpCiAgICAgewogICAgICAgLy8gQ2FsbCB0aGUgQ3ViZSBmdW5jdGlvbgogICAgICAgUmVzdWx0cyA9IEN1YmUoaW50VmFsdWUpOwogICAgICAgcHJpbnRmKCJDdWJlIG9mICVkIGlzICVkXG4iLGludFZhbHVlLFJlc3VsdHMpOwogICAgIH0KICAgICBlbHNlIGlmIChtZW51U2VsZWN0ID09MykKICAgICB7CiAgICAgCS8vIENhbGwgdGhlIFNocmluayBmdW5jdGlvbgogICAgIAlSZXN1bHRzID0gU2hyaW5rKGludFZhbHVlKTsKICAgICAJcHJpbnRmKCJIYWxmIG9mICVkIGlzICVkXG4iLGludFZhbHVlLFJlc3VsdHMpOwogICAgIH0KICAgICBlbHNlCiAgICAgICBwcmludGYoIkludmFsaWQgbWVudSBpdGVtLCBvbmx5IDEsIDIgb3IgMyBpcyBhY2NlcHRlZFxuIik7CiAgICAgfSAgICAKICAgfQpyZXR1cm4gMDsKfQovKiBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIFNxdWFyZSBvZiBhIG51bWJlciAqLwppbnQgU3F1YXJlKGludCB2YWx1ZSkKewogICByZXR1cm4gdmFsdWUqdmFsdWU7Cn0KLyogZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBDdWJlIG9mIGEgbnVtYmVyICovCmludCBDdWJlKGludCB2YWx1ZSkKewogICByZXR1cm4gdmFsdWUqdmFsdWUqdmFsdWU7Cn0KLyogZnVuY3Rpb24gcmV0dXJuaW5nIEhhbGYgb2YgYW4gaW5wdXR0ZWQgbnVtYmVyICovCmludCBTaHJpbmsoaW50IHZhbHVlKQp7CglyZXR1cm4gdmFsdWUvMjsKfQ==
stdout
Enter a positive Integer:
Enter 1 to Calculate Square, 2 to Calculate Cube, 3 to Divide by Half:
Square of 12 is 144
Enter a positive Integer:
Enter 1 to Calculate Square, 2 to Calculate Cube, 3 to Divide by Half:
Cube of 15 is 3375
Enter a positive Integer:
Enter 1 to Calculate Square, 2 to Calculate Cube, 3 to Divide by Half:
Half of 8000 is 4000
Enter a positive Integer:
Enter 1 to Calculate Square, 2 to Calculate Cube, 3 to Divide by Half:
Half of -99 is -49