程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> [C語言]模擬計算器

[C語言]模擬計算器

編輯:關於C
#include <stdio.h>
#include <stdlib.h>
 
int _add(int a, int b)
{
    return a + b;
}
int _sub(int a, int b)
{
    return a - b;
}
int _mul(int a, int b)
{
    return a*b;
}
int _div(int a, int b)
{
    if (b == 0)
    {
    printf("除數位0\n");
    }
    return a / b;
}
 
void menu()
{
    printf("*************************\n");
    printf("**** 1.add   2.sub   ****\n");
    printf("**** 3.mul   4.div   ****\n");
    printf("******** 0.exit *********\n");
    printf("*************************\n");
}
 
int main()
{
    int input = 1;
    int num1 = 0;
    int num2 = 0;
    int ret = 0;
    while (input)
    {
    menu();
    printf("請選擇>:");
    scanf("%d", &input);
    printf("請輸入兩個整數操作數>:");
    scanf("%d%d", &num1, &num2);
    switch (input)
    {
    case 1:
        ret = _add(num1, num2);
        break;
    case 2:
        ret = _sub(num1, num2);
        break;
    case 3:
            ret = _mul(num1, num2);
        break;
    case 4:
        ret = _div(num1, num2);
        break;
    case 0:
        exit(EXIT_FAILURE);
        break;
    default:
        printf("選擇錯誤,請重新選擇.\n");
        break;
    }
    printf("ret = %d\n", ret);
    }
    return 0;
}
 
 
此外,也可以用枚舉結構(enum)實現:
 
#include <stdio.h>
#include <stdlib.h>
 
enum OP
{
    EXIT,
    ADD,
    SUB,
    MUL,
    DIV
};
int _add(int a, int b)
{
    return a + b;
}
int _sub(int a, int b)
{
    return a - b;
}
int _mul(int a, int b)
{
    return a*b;
}
int _div(int a, int b)
{
    if (b == 0)
    {
    printf("除數位0\n");
    }
    return a / b;
}
 
void menu()
{
    printf("*************************\n");
    printf("**** 1.add   2.sub   ****\n");
    printf("**** 3.mul   4.div   ****\n");
    printf("******** 0.exit *********\n");
    printf("*************************\n");
}
 
int(*pfun[5])(int, int) = {0, _add, _sub, _mul, _div};
 
int main()
{
    int input = 1;
    int num1 = 0;
    int num2 = 0;
    int ret = 0;
    while (input)
    {
    menu();
    printf("請選擇>:");
    scanf("%d", &input);
    printf("請輸入兩個整數操作數>:");
    scanf("%d%d", &num1, &num2);
    if (input >= 1 && input <= 4)
        {
            ret = pfun[input](num1, num2);
        }
        else if (input == 0)
        {
            exit(EXIT_FAILURE);
        }
        else
        {
            printf("選擇錯誤\n");
        }
    printf("ret = %d\n", ret);
    }
    return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved