#include <stdio.h>
// Function prototypes 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, 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
Results = Shrink( intValue) ;
printf ( "Shrink of %d is %lf\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 the shrink of a number */
double Shrink( int value)
{
return value/ 2 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBGdW5jdGlvbiBwcm90b3R5cGVzIGludCBTcXVhcmUoaW50IHZhbHVlKTsgaW50IEN1YmUoaW50IHZhbHVlKTsgCiAKaW50IG1haW4gKCkgCnsgCiAgLyogdmFyaWFibGUgZGVmaW5pdGlvbjogKi8gIAogICBpbnQgaW50VmFsdWUsIG1lbnVTZWxlY3QsUmVzdWx0czsgCiAgIGludFZhbHVlID0gMTsgIAogICAvLyBXaGlsZSBhIHBvc2l0aXZlIG51bWJlciAKIHdoaWxlIChpbnRWYWx1ZSA+IDApIAogIHsgICAgIAogICAgIHByaW50ZiAoIkVudGVyIGEgcG9zaXRpdmUgSW50ZWdlclxuOiAiKTsgCiAgICAgc2NhbmYoIiVkIiwgJmludFZhbHVlKTsgCiAgICBpZiAoaW50VmFsdWUgPiAwKSAKICAgIHsgCiAgICAgcHJpbnRmICgiRW50ZXIgMSB0byBjYWxjdWxhdGUgU3F1YXJlLCAyIHRvIENhbGN1bGF0ZSBDdWJlLCAzIHRvIGNhbGN1bGF0ZSBTaHJpbmsgXG46ICIpOyAKICAgICBzY2FuZigiJWQiLCAmbWVudVNlbGVjdCk7IAogCiAgICAgaWYgKG1lbnVTZWxlY3QgPT0gMSkgCiAgICAgeyAKICAgICAgICAvLyBDYWxsIHRoZSBTcXVhcmUgRnVuY3Rpb24gCiAgICAgICAgUmVzdWx0cyA9IFNxdWFyZShpbnRWYWx1ZSk7IAogICAgICAgIHByaW50ZigiU3F1YXJlIG9mICVkIGlzICVkXG4iLGludFZhbHVlLFJlc3VsdHMpOyAKICAgICB9IAogICAgIGVsc2UgaWYgKG1lbnVTZWxlY3QgPT0gMikgCiAgICAgeyAKICAgICAgICAvLyBDYWxsIHRoZSBDdWJlIGZ1bmN0aW9uIAogICAgICAgIFJlc3VsdHMgPSBDdWJlKGludFZhbHVlKTsgCiAgICAgICAgcHJpbnRmKCJDdWJlIG9mICVkIGlzICVkXG4iLGludFZhbHVlLFJlc3VsdHMpOyAKICAgICB9ICAgICAgCiAgICAgZWxzZSBpZiAobWVudVNlbGVjdCA9PSAzKSAKICAgICB7IAogICAgICAgIC8vIENhbGwgdGhlIFNocmluayBmdW5jdGlvbiAKICAgICAgICBSZXN1bHRzID0gU2hyaW5rKGludFZhbHVlKTsgCiAgICAgICAgcHJpbnRmKCJTaHJpbmsgb2YgJWQgaXMgJWxmXG4iLGludFZhbHVlLFJlc3VsdHMpOyAKICAgICB9IAogICAgIGVsc2UgIAogICAgICAgcHJpbnRmKCJJbnZhbGlkIG1lbnUgaXRlbSwgb25seSAxLCAyLCBvciAzIGlzIGFjY2VwdGVkXG4iKTsgCiAgICAgfSAgICAgICAKICAgIH0gICAgICAgCiAgcmV0dXJuIDA7IAp9IAovKiBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIFNxdWFyZSBvZiBhIG51bWJlciAqLyAKaW50IFNxdWFyZShpbnQgdmFsdWUpIAp7IAogICAgcmV0dXJuIHZhbHVlKnZhbHVlOyAKfSAgIAovKiBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIEN1YmUgb2YgYSBudW1iZXIgKi8gCmludCBDdWJlKGludCB2YWx1ZSkgCnsgICAgIAoJcmV0dXJuIHZhbHVlKnZhbHVlKnZhbHVlOyAKfQovKiBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIHNocmluayBvZiBhIG51bWJlciAqLyAKZG91YmxlIFNocmluayhpbnQgdmFsdWUpIAp7ICAgICAKCXJldHVybiB2YWx1ZS8yOyAKfQo=
compilation info
prog.c: In function ‘main’:
prog.c:23:19: warning: implicit declaration of function ‘Square’ [-Wimplicit-function-declaration]
Results = Square(intValue);
^~~~~~
prog.c:29:19: warning: implicit declaration of function ‘Cube’ [-Wimplicit-function-declaration]
Results = Cube(intValue);
^~~~
prog.c:35:19: warning: implicit declaration of function ‘Shrink’ [-Wimplicit-function-declaration]
Results = Shrink(intValue);
^~~~~~
prog.c:36:35: warning: format ‘%lf’ expects argument of type ‘double’, but argument 3 has type ‘int’ [-Wformat=]
printf("Shrink of %d is %lf\n",intValue,Results);
^
prog.c: At top level:
prog.c:55:8: error: conflicting types for ‘Shrink’
double Shrink(int value)
^~~~~~
prog.c:35:19: note: previous implicit declaration of ‘Shrink’ was here
Results = Shrink(intValue);
^~~~~~
stdout