#include <stdio.h>
int Square( int value) ;
int Cube( int value) ;
int main ( )
{
/* variable definition: */
int intValue, menuSelect, Results;
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 \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
printf ( "Invalid menu item, only 1 or 2 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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgU3F1YXJlKGludCB2YWx1ZSk7CmludCBDdWJlKGludCB2YWx1ZSk7CgppbnQgbWFpbiAoKQoKewoKLyogdmFyaWFibGUgZGVmaW5pdGlvbjogKi8KCiAgIGludCBpbnRWYWx1ZSwgbWVudVNlbGVjdCxSZXN1bHRzOwoKICAgaW50VmFsdWUgPSAxOwoKICAgLy8gV2hpbGUgYSBwb3NpdGl2ZSBudW1iZXIKCndoaWxlIChpbnRWYWx1ZSA+IDApCgp7ICAKCiAgICAgcHJpbnRmICgiRW50ZXIgYSBwb3NpdGl2ZSBJbnRlZ2VyXG46ICIpOwoKICAgICBzY2FuZigiJWQiLCAmaW50VmFsdWUpOwoKICAgaWYgKGludFZhbHVlID4gMCkKCiAgIHsKCiAgICAgcHJpbnRmICgiRW50ZXIgMSB0byBjYWxjdWxhdGUgU3F1YXJlLCAyIHRvIENhbGN1bGF0ZSBDdWJlIFxuOiAiKTsKCiAgICAgc2NhbmYoIiVkIiwgJm1lbnVTZWxlY3QpOwoKICAgICBpZiAobWVudVNlbGVjdCA9PSAxKQoKICAgICB7CgogICAgICAgLy8gQ2FsbCB0aGUgU3F1YXJlIEZ1bmN0aW9uCgogICAgICAgUmVzdWx0cyA9IFNxdWFyZShpbnRWYWx1ZSk7CgogICAgICAgcHJpbnRmKCJTcXVhcmUgb2YgJWQgaXMgJWRcbiIsaW50VmFsdWUsUmVzdWx0cyk7CgogICAgIH0KCiAgICAgZWxzZSBpZiAobWVudVNlbGVjdCA9PSAyKQoKICAgICB7CgogICAgICAgLy8gQ2FsbCB0aGUgQ3ViZSBmdW5jdGlvbgoKICAgICAgIFJlc3VsdHMgPSBDdWJlKGludFZhbHVlKTsKCiAgICAgICBwcmludGYoIkN1YmUgb2YgJWQgaXMgJWRcbiIsaW50VmFsdWUsUmVzdWx0cyk7CgogICAgIH0KCiAgICAgZWxzZQoKICAgICAgIHByaW50ZigiSW52YWxpZCBtZW51IGl0ZW0sIG9ubHkgMSBvciAyIGlzIGFjY2VwdGVkXG4iKTsKCiAgICAgfSAgICAKCiAgIH0gICAgCgpyZXR1cm4gMDsKCn0KCi8qIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgU3F1YXJlIG9mIGEgbnVtYmVyICovCgppbnQgU3F1YXJlKGludCB2YWx1ZSkKCnsKCiAgIHJldHVybiB2YWx1ZSp2YWx1ZTsKCn0KCi8qIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgQ3ViZSBvZiBhIG51bWJlciAqLwoKaW50IEN1YmUoaW50IHZhbHVlKQoKewogICByZXR1cm4gdmFsdWUqdmFsdWUqdmFsdWU7Cgp9