// C Code
// This program will provide options for a user to calculate the square or
// cube, of a positive Integer, and a shrink that divides a positive Integer
// by 2 that is input by a user.
#include <stdio.h>
// function prototypes
int Square( int ) ;
int Cube( int ) ;
double Shrink( int ) ;
int main( void )
{
/* variable definition: */
int intValue, menuSelect, Results, shrinkResults;
intValue = 1 ;
//While a positive number
while ( intValue > 0 )
{
printf ( "Enter a positive Integer\n :" ) ; if ( intValue > 0 )
{
printf ( "Enter 1 to calculate Square, 2 to calculate Cube, 3 to calculate Shrink \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
shrinkResults = Shrink( intValue) ;
printf ( "Half of %d is %lf\n " , intValue
, shrinkResults
) ; }
else
printf ( "Invalid menu item, only 1 or 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 the Shrink of a number */
double Shrink( int value)
{
return ( value) / 2.0 ;
}
Ly8gQyBDb2RlCgovLyBUaGlzIHByb2dyYW0gd2lsbCBwcm92aWRlIG9wdGlvbnMgZm9yIGEgdXNlciB0byBjYWxjdWxhdGUgdGhlIHNxdWFyZSBvcgovLyBjdWJlLCBvZiBhIHBvc2l0aXZlIEludGVnZXIsIGFuZCBhIHNocmluayB0aGF0IGRpdmlkZXMgYSBwb3NpdGl2ZSBJbnRlZ2VyCi8vIGJ5IDIgdGhhdCBpcyBpbnB1dCBieSBhIHVzZXIuCiNpbmNsdWRlIDxzdGRpby5oPgovLyBmdW5jdGlvbiBwcm90b3R5cGVzCmludCBTcXVhcmUoaW50KTsKaW50IEN1YmUoaW50KTsKZG91YmxlIFNocmluayhpbnQpOwoKaW50IG1haW4odm9pZCkgCnsKCS8qIHZhcmlhYmxlIGRlZmluaXRpb246ICovCglpbnQgaW50VmFsdWUsIG1lbnVTZWxlY3QsIFJlc3VsdHMsIHNocmlua1Jlc3VsdHM7CglpbnRWYWx1ZSA9IDE7CgkKCQkJCQkKCS8vV2hpbGUgYSBwb3NpdGl2ZSBudW1iZXIKCXdoaWxlIChpbnRWYWx1ZSA+MCkKCXsKCQlwcmludGYgKCJFbnRlciBhIHBvc2l0aXZlIEludGVnZXJcbjoiKTsKCQlzY2FuZigiJWQiLCAmaW50VmFsdWUpOwoJCWlmIChpbnRWYWx1ZSA+IDApCgkJewoJCQlwcmludGYoIkVudGVyIDEgdG8gY2FsY3VsYXRlIFNxdWFyZSwgMiB0byBjYWxjdWxhdGUgQ3ViZSwgMyB0byBjYWxjdWxhdGUgU2hyaW5rIFxuOiIpOwoJCQlzY2FuZigiJWQiLCAmbWVudVNlbGVjdCk7CgkJCWlmIChtZW51U2VsZWN0ID09MSkKCQkJewoJCQkJLy8gQ2FsbCB0aGUgU3F1YXJlIEZ1bmN0aW9uCgkJCQlSZXN1bHRzID0gU3F1YXJlKGludFZhbHVlKTsKCQkJCXByaW50ZigiU3F1YXJlIG9mICVkIGlzICVkXG4iLCBpbnRWYWx1ZSwgUmVzdWx0cyk7CgkJCX0KCQkJCWVsc2UgaWYgKG1lbnVTZWxlY3QgPT0yKQoJCQkJewoJCQkJCS8vQ2FsbCB0aGUgQ3ViZSBmdW5jdGlvbgoJCQkJCVJlc3VsdHMgPSBDdWJlKGludFZhbHVlKTsKCQkJCQlwcmludGYoIkN1YmUgb2YgJWQgaXMgJWRcbiIsIGludFZhbHVlLCBSZXN1bHRzKTsKCQkJCX0KCQkJCWVsc2UgaWYgKG1lbnVTZWxlY3QgPT0zKQoJCQkJCXsKCQkJCQkJLy9DYWxsIHRoZSBTaHJpbmsgZnVuY3Rpb24KCQkJCQkJc2hyaW5rUmVzdWx0cyA9IFNocmluayhpbnRWYWx1ZSk7CgkJCQkJCXByaW50ZigiSGFsZiBvZiAlZCBpcyAlbGZcbiIsIGludFZhbHVlLCBzaHJpbmtSZXN1bHRzKTsKCQkJCQl9CQoJCQkJCWVsc2UKCQkJCQkJcHJpbnRmKCJJbnZhbGlkIG1lbnUgaXRlbSwgb25seSAxIG9yIDIgb3IgMyBpcyBhY2NlcHRlZFxuIik7CgkJfQoJfQoJcmV0dXJuIDA7Cn0KCQkJCi8qIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgU3F1YXJlIG9mIGEgbnVtYmVyICovCmludCBTcXVhcmUoaW50IHZhbHVlKQp7CglyZXR1cm4gdmFsdWUqdmFsdWU7Cn0KCQkJCQovKiBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIEN1YmUgb2YgYSBudW1iZXIgKi8KaW50IEN1YmUoaW50IHZhbHVlKQp7CglyZXR1cm4gdmFsdWUqdmFsdWUqdmFsdWU7Cn0KCQkJCQovKiBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIFNocmluayBvZiBhIG51bWJlciAqLwpkb3VibGUgU2hyaW5rKGludCB2YWx1ZSkKewoJcmV0dXJuICh2YWx1ZSkvMi4wOwp9Cgo=
stdout
Enter a positive Integer
:Enter 1 to calculate Square, 2 to calculate Cube, 3 to calculate Shrink
:Square of 10 is 100
Enter a positive Integer
:Enter 1 to calculate Square, 2 to calculate Cube, 3 to calculate Shrink
:Cube of 5 is 125
Enter a positive Integer
:Enter 1 to calculate Square, 2 to calculate Cube, 3 to calculate Shrink
:Half of 6 is 0.000000
Enter a positive Integer
: