四根羽毛i

导航

小学期项目:简易计算器

2020年第一次小学期项目制作

项目描述:

实现科学计算器的基本功能。

项目需求:

做一个计算机能够完成四则混合运算,加入乘方和开方运算,并显示出正确的结果。
程序能够根据运算符等级的高低进行运算。
可以输入括号,并按照括号的等级进行优先计算。
可以求二进制、八进制、十六进制、阶乘。

部分源码:

double Power(double m,double n){//乘方运算
    double set=1.0;
    int i;
    double z,x;
    scanf("%lf^%lf",&z,&x);
    for(i=0;i<x;i++){
        set*=z;
    }
    printf("%.2f",set);
    return 0;
}

int Fact(int a,int b){//阶乘
    int i,n;
    long sum=1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        sum=sum*i;
    printf("%d!=%ld",n,sum);
    printf("\n");
    return 0;
}

//实现四则混合运算

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
int AddMinu();
int MutipDiv();
int Factor();
int  main()
{    
    printf("%d",AddMinu());
    return 0;
}

int AddMinu()
//加减判断
{
    int t;
    
    t = MutipDiv();
    for(;;)
        if(*s=='+')
        { s++;
         t = t + MutipDiv();
        }
        else if(*s=='-')
        { s++;
         t = t - MutipDiv();
          }
        else
        break;
    return t;
}

int MutipDiv()//乘除判断
{
    int p;
    
    p = Factor();
    for(;;)
        if(*s=='*')
        { s++;
         p = p * Factor();
        }
        else if(*s=='/')
         { s++;
         p = p / Factor();
         }
        else
        break;
    return p;
}

int Factor()
//括号判断
{
    int f;
    if(*s=='(') {
        s++;
        f = AddMinu();
    if(*s==')')
        s++;
        return f;
    }
    f=0;
    while('0'<=*s && *s<='9') {
        f=f*10+(*s-'0');
        s++;
    }
    return f;
}

posted on 2020-12-11 21:57  四根羽毛i  阅读(91)  评论(0)    收藏  举报