Here's another way to write your program using functions:
Code:
#include <stdio.h>
int func_add(int num1, int num2) { return num1 + num2; }
int func_subtract(int num1, int num2) { return num1 - num2; }
int func_multiply(int num1, int num2) { return num1 * num2; }
int func_divide(int num1, int num2) { return num1 / num2; }
int main(void)
{
struct
{
char *name;
int (*func)(int, int);
} list[] = { { "Add", func_add }, { "Subtract", func_subtract },
{ "Multiply", func_multiply }, { "Divide", func_divide } };
int num1, num2;
int i;
int choice;
puts("What would you like to do?");
for(i = 0;i < 4;++i)
printf("%d=%s\n", i + 1, list[i].name);
scanf("%d", &choice);
if(choice >= 1 && choice <= 4)
{
choice--;
printf("What is the first number you would like to %s? ",
list[choice].name);
fflush(stdout);
scanf("%d", &num1);
printf("What is the second number you would like to %s? ",
list[choice].name);
fflush(stdout);
scanf("%d", &num2);
printf("Your number is %d\n", list[choice].func(num1, num2));
}
return 0;
}