#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+CgppbnQgU3F1YXJlKGludCB2YWx1ZSk7CmludCBDdWJlKGludCB2YWx1ZSk7CmludCBtYWluICgpCgp7CgovKiB2YXJpYWJsZSBkZWZpbml0aW9uOiAqLwoKICAgaW50IGludFZhbHVlLCBtZW51U2VsZWN0LFJlc3VsdHM7CgogICBpbnRWYWx1ZSA9IDE7CgogICAvLyBXaGlsZSBhIHBvc2l0aXZlIG51bWJlcgoKd2hpbGUgKGludFZhbHVlID4gMCkKCnsgIAoKICAgICBwcmludGYgKCJFbnRlciBhIHBvc2l0aXZlIEludGVnZXJcbjogIik7CgogICAgIHNjYW5mKCIlZCIsICZpbnRWYWx1ZSk7CgogICBpZiAoaW50VmFsdWUgPiAwKQoKICAgewoKICAgICBwcmludGYgKCJFbnRlciAxIHRvIGNhbGN1bGF0ZSBTcXVhcmUsIDIgdG8gQ2FsY3VsYXRlIEN1YmUgXG46ICIpOwoKICAgICBzY2FuZigiJWQiLCAmbWVudVNlbGVjdCk7CgogICAgIGlmIChtZW51U2VsZWN0ID09IDEpCgogICAgIHsKCiAgICAgICAvLyBDYWxsIHRoZSBTcXVhcmUgRnVuY3Rpb24KCiAgICAgICBSZXN1bHRzID0gU3F1YXJlKGludFZhbHVlKTsKCiAgICAgICBwcmludGYoIlNxdWFyZSBvZiAlZCBpcyAlZFxuIixpbnRWYWx1ZSxSZXN1bHRzKTsKCiAgICAgfQoKICAgICBlbHNlIGlmIChtZW51U2VsZWN0ID09IDIpCgogICAgIHsKCiAgICAgICAvLyBDYWxsIHRoZSBDdWJlIGZ1bmN0aW9uCgogICAgICAgUmVzdWx0cyA9IEN1YmUoaW50VmFsdWUpOwoKICAgICAgIHByaW50ZigiQ3ViZSBvZiAlZCBpcyAlZFxuIixpbnRWYWx1ZSxSZXN1bHRzKTsKCiAgICAgfQoKICAgICBlbHNlCgogICAgICAgcHJpbnRmKCJJbnZhbGlkIG1lbnUgaXRlbSwgb25seSAxIG9yIDIgaXMgYWNjZXB0ZWRcbiIpOwoKICAgICB9ICAgIAoKICAgfSAgICAKCnJldHVybiAwOwoKfQoKLyogZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBTcXVhcmUgb2YgYSBudW1iZXIgKi8KCmludCBTcXVhcmUoaW50IHZhbHVlKQoKewoKICAgcmV0dXJuIHZhbHVlKnZhbHVlOwoKfQoKLyogZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBDdWJlIG9mIGEgbnVtYmVyICovCgppbnQgQ3ViZShpbnQgdmFsdWUpCgp7CiAgIHJldHVybiB2YWx1ZSp2YWx1ZSp2YWx1ZTsKCn0=