#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//void print(int* ptr, int sz)
//{
// int i = 0;
// for (;i < sz;i++)
// {
// printf("%d", *(ptr + i));
// }
//}
//
//int main()
//{
// int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
// int* p = arr;
// int sz = sizeof(arr) / sizeof(arr[0]);
// print(p, sz);
// return 0;
//}
//void test(int** p2)
//{
// ** p2 = 10;
//}
//
//int main()
//{
// int a;
// int* pa = &a;
// int** ppa = &pa;
// test(ppa);
// printf("%d", a);
// return 0;
//}
//
//int main()
//{
// int a = 10;
// int* pa = &a;
//
// char ch = 'w';
// char* pc = &ch;
//
// int arr[10] = { 0 };
// int(*parr)[10] = &arr;
// int i = 0;
// for (;i < 10;i++)
// {
// printf("%d\n", (*parr)[i]);
// }
// printf("%p\n", arr);
// printf("%p\n", &arr);
//
//
// return 0;
//}
//
//int ADD(int x, int y)
//{
// int z;
// z = x + y;
// return z;
//}
//int main()
//{
// int(*tr)(int, int) = ADD;
// int ret = (*tr)(6, 6);
// //int bet = *tr(6, 6);err
// int bet = tr(6, 6);
// int get = ADD(6, 6);
//
//
//
// printf("%d\n", ret);
// printf("%d\n", bet);
// printf("%d", get);
//
// return 0;
int Add(int x, int y)
{
return x+y;
}
int Mul(int x, int y)
{
return x * y;
}
int Div(int x, int y)
{
return 1.0*x /y;
}
int Sub(int x, int y)
{
return x - y;
}
int Qum(int x, int y)
{
return x % y;
}
void calc(int(*p)(int , int ),int x,int y)
{
int ret = 0;
ret = p(x, y);
printf("%d", ret);
}
//+,-,*,/,%
//void menu()
//{
// printf("********************\n");
// printf("**1. Add 2. Sub **\n");
// printf("**3. Mul 4. Div **\n");
// printf("**5. Qum 0. exix **\n");
// printf("********************\n");
//
//}
//void menu()
//{
// printf("*****************\n");
// printf("* *\n");
// printf("* *\n");
// printf("*****************\n");
// printf("* 7 * 8 * 9 * + *\n");
// printf("*****************\n");
// printf("* 4 * 5 * 6 * - *\n");
// printf("*****************\n");
// printf("* 1 * 2 * 3 * * *\n");
// printf("*****************\n");
// printf("* * 0 * % * \/ *\n");
// printf("*****************\n");
//}
void All(int* p, int* x, int* y)
{
while (1)
{
int put = 0;
printf("输入1退出:");
scanf("%d", &put);
if (put == 1)
{
break;
}
int* tp = &p;
int* tx = &x;
int* ty = &y;
do
{
if (tp == 0)
calc(Add, *tx, *ty);
else if (tp == 1)
calc(Sub, *tx, *ty);
else if (tp == 2)
calc(Mul, *tx, *ty);
else if (tp == 3)
calc(Div, *tx, *ty);
else if (tp == 4)
calc(Qum, *tx, *ty);
else
printf("error");
} while (tp);
}
}
int main()
{
//menu();
int x;
int y;
//int i=0;
char mark [5] = "+-*/%";
int n = 0;
char s;
//int (*pfArr[5])(int x, int y) = { Add,Sub,Mul,Div,Qum };
scanf("%d%c%d", &x,&s,&y);
for (n;n < 5;)
{
if (mark[n] == s)
{
goto home;
}
else
n++;
}
home:;
int* tn = &n;
int* tx = &x;
int* ty = &y;
All(tn, tx, ty);
//switch (n)
//{
///*case(0):
// printf("退出");
// break;*/
//case(0):
// calc(Add,x,y);
// break;
//case(1):
// calc(Sub, x, y);
// break;
//case(2):
// calc(Mul, x, y);
// break;
//case(3):
// calc(Div, x, y);
// break;
//case(4):
// calc(Qum, x, y);
// break;
//default:
// printf("error");
// break;
//}
//ret = pfArr[0](1, 2);
//printf("%d\n", ret);
//ret = pfArr[1](2, 1);
//printf("%d\n", ret);
return 0;
}
//int mian()
//{
// while (1)
// {
// scanf
// if (x == 1)
// {
// break;
// }
// scanf
// scanf
// num()
//
// }
//
//}