当前位置:文档之家› 用c语言编写的加减乘除计算器程序-参考模板

用c语言编写的加减乘除计算器程序-参考模板

#include

double jjcc(double st[],int k){

for(int j=1;j

if(st[j]=='*'||st[j]=='/'){

if(st[j]=='*')

st[j-1]=st[j-1]*st[j+1];

else

st[j-1]=st[j-1]/st[j+1];

int y=j;

int n=0;

while(n

st[y]=st[y+2];

y++;

n++;

}

k=k-2;

j--;

}

}

double sum=st[0];

for(int m=1;m

if(st[m]=='+')

sum=sum+st[m+1];

else

if(st[m]=='-')

sum=sum-st[m+1];

return sum;

}

void main(){

int sum1=0;

int i,c=0;

printf("请输入算式(最后以'='结束):\n");

char st1[200];

double st2[100],k,sum2;

gets(st1);

for(i=0;st1[i]!='=';){

sum2=0,k=1;

if(st1[i]>47&&st1[i]<58){

1 / 2

sum1=(st1[i]-48)+sum1*10;

i++;

if(st1[i]=='.'){

i++;

while(st1[i]>47&&st1[i]<58){

k=k*0.1;

sum2=(st1[i]-48)*k+sum2;

i++;

}

}

st2[c]=sum1+sum2;

}

else{

st2[++c]=st1[i];

i++;

sum1=0;

c++;

}

}

printf("%.4f\n",jjcc(st2,c+1));

}

---精心整理,希望对您有所帮助

速算,简易计算器c语言代码,可实现加减乘除

#include"stdio.h" #include"math.h" #include"stdlib.h" struct optrstyle { int top; char stack[20]; } struct opndstyle { int top; int stack[20]; } void main() { char ch; while(1) { printf("-----------------------------------------\n"); printf("|-----------欢迎来到速算24--------------|\n"); printf("|----------是否开始游戏?????------------|\n"); printf("|--------- 开始游戏请按'Y'-------------|\n"); printf("|--------- 退出游戏请按其他键-------------|\n"); printf("-----------------------------------------\n"); scanf("%c",&ch); if(ch=='Y' or ch=='y') { } else break; } } int EvaluateExpression() { // 算术表达式求值的算符优先算法。设OPTR 和OPND 分别为运算符栈和运算数栈,OP 为运算符集合。 InitStack(OPTR); Push(OPTR,'#'); InitStack(OPND); c = getchar(); while(c!='#' || GetTop(OPTR)!='#') { if(!In(c,OP))

C语言编程-简单的计算器

苏州市职业大学课程设计说明书名称《计算机语言C课程设计》 设计一个简单计算器 2011年6月20日至2011年6月25日共一周 院系计算机工程系 班级 姓名 系主任 教研室主任 指导教任

目录 一、题目说明 (2) 二、总体设计 (2) 2.1.系统开发平台 (2) 2.2.系统流程图 (2) 三、详细说明 (3) 四、遇到的问题和解决方法 (11) 五、课程设计总结 (12) 六、参考文献 (12)

一、题目说明 在功能上尽量模拟windows操作系统中的计算器,系统界面不做强制要求。 程序开发背景 传统的计算方法有口算、笔算还有就是借助工具。但是一旦碰到计算量稍大的计算式子,口算和笔算往往就不能发挥出优势,一般都回借助工具。而传统的计算器也并不方便随身携带。随着科技的发展,计算机已经逐渐普及,人们的生活中、工作中往往都离不开计算机。如果碰到大量的计算,还要去找计算器,这样似乎太过麻烦。所以,在计算机中进行计算器的工作,就会方便得多。因此,本次设计了在计算机操作系统中的计算器。 二、总体设计 2.1.系统开发平台 系统使用的是Microsoft VC++ 6.0软件平台。 2.2.系统流程图

图1系统流程图 三、详细说明 本系统分为两个部分:double jisuan()部分,main()主函数部分。 double jisuan部分首先对程序进行基础设置,以达到能够对输入的表达式进行判断。main()主函数模块,首先通过printf()语句对一些特殊符号进行解释,然后通过用户自己讲要计算的式子输入程序,来得出结果

1.double jisuan()函数 规定对优先级别,其过程为:while(a[i]!='\0') { if(a[i]>='0'&&a[i]<='9') { z=0; j=i+1; while(a[j]>='0'&&a[j]<='9') {j++;} j--; for(k=i;k<=j;k++) { z=z*10+a[k]-'0'; } j=j+1; x=z; if(a[j]=='.') { l=1; i=j+1; j=i+1; while(a[j]>='0'&&a[j]<='9') {j++;} j--; for(k=i;k<=j;k++) { n=pow(0.1,l); l=l+1; x=x+n*(a[k]-'0'); } i=j+1; } else i=j; shu.data[++shu.top].d1=x; shu.data[shu.top].d2=++cnt; nibo[++t1]='0'+shu.data[shu.top].d2; nibo[t1+1]='\0'; } else if(a[i]=='(') { zhan2[++t2]=a[i]; i++; }

用C语言编写计算器

用c编写的,有各种检错的功能,用栈和优先级实现。头文件是:ss.h typedef union{float a;char b;} eletype; typedef struct{ eletype *base; eletype *top; int stacksize; }stack; stack * createStack(int); int isempty(stack *); int gettopStack(stack *,eletype *); int push(stack *,eletype); int pop(stack *,eletype *data); stack * createStack(int m) { stack *p; p=(stack *)malloc(sizeof(stack)); if(!p)return 0; p->base=(eletype *)malloc(m*sizeof(eletype)); if(!p->base)return 0; p->top=p->base; p->stacksize=m; return p; } int isempty(stack *lp) { if(lp->top > lp->base)return 0; else return 1; } int gettopStack(stack *lp,eletype *data) { while(isempty(lp))return 0; *data = *(lp->top - 1); return 1; }

int push(stack *lp,eletype data) { if(lp->top - lp->base >= lp->stacksize) { lp->base=(eletype *)realloc(lp->base,(lp->stacksize+1)*sizeof(eletype)); if(!lp->base)return 0; lp->stacksize++; } lp->top++; *(lp->top-1)=data; return 1; } int pop(stack *lp,eletype *data) { while(isempty(lp))return 0; *data = *(--lp->top); return 1; } Main函数的编写: #include "ss.h" #define SHU printf("fuck!! biao da shi cuowu!!!"); int n,x,y=0; float t=0; char c; char panduan(char,char); float yunsuan(float,char,float); int jiexi(char a[100]); float zhuan(char c[20]); main() { char a[100]; int m; char d,l; stack *optr; stack *open; eletype data; eletype * data1; char e[20]; float j,k;

C语言简单计算器实现四则运算可带括号

C语言简单计算器实现四则运算可带括号```c #include #include int priority(char op) if (op == '+' , op == '-') return 1; else if (op == '*' , op == '/') return 2; else if (op == '(') return 0; else return -1; void calculate(char op, int *numStack, int *top, char *opStack, int *opTop) int num2 = numStack[(*top)--]; int num1 = numStack[(*top)--]; switch (op) case '+':

numStack[++(*top)] = num1 + num2; break; case '-': numStack[++(*top)] = num1 - num2; break; case '*': numStack[++(*top)] = num1 * num2; break; case '/': numStack[++(*top)] = num1 / num2; break; } int eval(char *expr) int numStack[100]; char opStack[100]; int numTop = -1; int opTop = -1; int num = 0; int sign = 1;

while (*expr != '\0') if (*expr >= '0' && *expr <= '9') num = num * 10 + (*expr - '0'); } else if (*expr == '+' , *expr == '-') numStack[++numTop] = num * sign; num = 0; sign = (*expr == '+') ? 1 : -1; } else if (*expr == '*' , *expr == '/') while (opTop >= 0 && priority(*expr) <= priority(opStack[opTop])) calculate(opStack[opTop--], numStack, &numTop, opStack, &opTop); } opStack[++opTop] = *expr; } else if (*expr == '(') opStack[++opTop] = '('; } else if (*expr == ')') while (opStack[opTop] != '(') calculate(opStack[opTop--], numStack, &numTop, opStack, &opTop);

C语言编写一个科学计算器

C语言编写一个科学计算器 科学计算器是一种功能强大的工具,可以进行各种复杂的科学计算。下面是一个使用C语言编写的科学计算器的示例代码,用于演示其基本功能。 ```c #include #include void mainMen printf("------------------------\n"); printf(" 科学计算器 \n"); printf("------------------------\n"); printf("1. 四则运算\n"); printf("2. 求平方根\n"); printf("3. 求立方根\n"); printf("4. 求幂次方\n"); printf("5. 求对数\n"); printf("6. 退出\n"); void arithmeticOperation float num1, num2;

printf("请输入两个操作数:\n"); scanf("%f %f", &num1, &num2); printf("1. 加法结果:%f\n", num1 + num2); printf("2. 减法结果:%f\n", num1 - num2); printf("3. 乘法结果:%f\n", num1 * num2); if (num2 != 0) printf("4. 除法结果:%f\n", num1 / num2); } else printf("操作数2不能为0!\n"); } void squareRoo float num; printf("请输入一个数字:\n"); scanf("%f", &num); printf("平方根:%f\n", sqrt(num)); void cubeRoo float num; printf("请输入一个数字:\n"); scanf("%f", &num);

用c语言编写计算器

板书: 1、在编写控制台程序的时候一切流程都是有先后关系、并行的,而且所有函数都是由我们来调用的,比如下面的实例性代码: printf("确定请输入y,取消输入n"); char c = getchar(); if(c=='y') { /// } else if(c=='n') { /// } 我们可以用getchar来等待用户输入一个值。但是到了Windows编程中就不一样了,同一时刻用户即可能点击【OK】按钮,又可能点击【Cancel】按钮,又可能在文本框中输入几个字,还可能在窗口上双击几下,这样就无法同时等待用户的这些动作。为了解决这个问题,Windows引入了消息机制(也可以叫做回调机制或者事件机制)。在程序启动的时候把函数func1要响应【OK】按钮1的点击动作、函数func2要响应【Cancel】按钮的点击动作、函数func3要响应窗口的双击动作等等这些信息告诉Windows,然后当用户执行相应操作的时候Windows就会来主动调用你注册的函数,主动通知你。不再是程序调用操作系统的函数,而是操作系统反过来调用你的函数。Don't call me ,I'll call you!(也被人称为“好莱坞法则”)。 2、关于上面的这个问题要慢慢来理解,下面就来通过第一个例子来初步理解这个Don't call me ,I'll call you! 创建一个对话框程序,然后来分析代码。看Main_OnCommand方法,初探windows的消息机制。 void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { case IDC_OK: MessageBox(hwnd,"You click OK!","Test003",MB_OK); EndDialog(hwnd, id); break; case IDC_CANCEL:

c语言计算器加减乘除开方混合计算和清零代码

C语言计算器加减乘除开方混合计算和清零代码 一、介绍 计算器是人们日常生活中常用的工具之一,通过计算器可以进行加减乘除等基本运算,还可以进行开方等复杂运算。本文将介绍使用C语言编写计算器的加减乘除开方混合计算和清零代码。 二、加法运算代码 加法运算是计算器最基本的运算之一,以下是C语言中加法运算的代码示例: ```c #include int m本人n() { int num1, num2, sum; printf("请输入两个整数:"); scanf("d d", num1, num2); sum = num1 + num2; printf("它们的和是:d\n", sum); return 0; } ```

三、减法运算代码 接下来是减法运算的C语言代码示例: ```c #include int m本人n() { int num1, num2, diff; printf("请输入两个整数:"); scanf("d d", num1, num2); diff = num1 - num2; printf("它们的差是:d\n", diff); return 0; } ``` 四、乘法运算代码 乘法运算是计算器中常用的运算之一,以下是C语言中乘法运算的代码示例: ```c #include

int m本人n() { int num1, num2, product; printf("请输入两个整数:"); scanf("d d", num1, num2); product = num1 * num2; printf("它们的积是:d\n", product); return 0; } ``` 五、除法运算代码 除法运算涉及到除数不能为0的情况,以下是C语言中除法运算的代码示例: ```c #include int m本人n() { float num1, num2, quotient; printf("请输入两个数:"); scanf("f f", num1, num2); if(num2 != 0) {

C语言实现科学计算器的加减乘除平方开放运算

C语言实现科学计算器的加减乘除平方开放运算 科学计算器是一种能够进行各种高级数学运算的工具。在这个项目中,我们将使用C语言实现一个简单的科学计算器,它能够执行加法、减法、 乘法、除法、平方和开方等运算。 首先,让我们来设计计算器的基本框架。我们可以使用一个循环来接 受用户的输入,并根据输入的指令执行相应的运算。我们可以使用一个变 量来存储当前的结果,并在每次运算完成后更新该变量。以下是一个简单 的代码框架: ```c #include #include int mai double result = 0; // 存储当前的结果 char operation; // 存储用户的指令 while (1) //显示当前的结果 printf("当前结果:%lf\n", result); //获取用户的指令 printf("请输入指令:"); scanf(" %c", &operation);

//根据用户的指令执行相应的运算switch (operation) case '+': //执行加法运算 break; case '-': //执行减法运算 break; case '*': //执行乘法运算 break; case '/': //执行除法运算 break; case 's': //执行平方运算 break; case 'r': //执行开方运算

break; case 'q': //退出计算器 return 0; default: printf("无效的指令\n"); } } return 0; ``` 在代码中,我们使用了`switch`语句来根据用户的指令执行相应的运算。接下来,我们将详细说明每个运算的实现。 1.加法运算: 用户可以输入两个数,并将它们相加。我们可以使用`scanf`函数来获取用户输入,并使用加法运算符`+`执行相加操作。 ```c printf("请输入两个数:"); double num1, num2; scanf("%lf %lf", &num1, &num2);

c语言计算器程序编写代码

c语言计算器程序编写代码 C语言是一门广泛应用于计算机程序设计中的高级编程语言,计 算器是我们日常生活中必不可少的工具之一。今天,我们将探讨如何 使用C语言编写计算器程序。 步骤一:确定计算器的基本功能 在开始编写任何计算器程序之前,我们需要先决定它的基本功能。例如,我们需要让计算器能够执行四种基本算术运算 -- 加、减、乘、除。我们可能还需要添加其他一些功能,例如计算百分数、开根号、 求幂等。 步骤二:编写C语言代码 接下来,我们可以开始编写计算器程序的C代码。此时,我们需 要确定程序的最外层框架。这包括用于接收用户输入、调用所需的函 数以及输出结果的代码。 例如,我们可以使用如下的代码框架: ``` #include int main() { // 接收输入 // 调用对应的函数进行计算 // 输出结果 return 0; } ``` 步骤三:编写函数 我们需要编写函数来执行各种计算。例如,我们可以编写一个 add函数来执行加法,一个Subtract函数来执行减法,以此类推。 对于每个函数,我们需要指定它所需的输入,以及它返回的输出。例如,对于add函数,我们期望它将两个数字相加,并返回结果:

``` int add(int x, int y) { return x + y; } ``` 步骤四:解析用户输入 为了使计算器程序更加友好,我们希望程序能够解析用户输入并 检查其是否有效。例如,如果用户输入了两个不能相互转换为数字的 字符串,则程序应该输出错误消息。 步骤五:测试代码 最后,我们需要测试我们的代码以确保它能够正常工作。这意味 着我们应该使用各种输入和边缘情况进行测试,例如“0除以任何数字”和“无效输入”的情况。 总结 编写C语言计算器程序可能看起来很困难,但实际上它是一项非 常有趣的任务,因为它要求我们配备基本的编程知识并创造性地思考 解决方案。通过这篇文章,我们了解了如何确定计算器的基本功能, 如何编写C语言代码并编写函数,如何解析用户输入以及如何测试我 们的代码。虽然这是一项基础的项目,但它是学习C语言编程的很好 的起点,尤其是对于那些希望开始编写自己的应用程序的人来说。

c语言编写计算机加减乘除程序

c语言编写计算机加减乘除程序 对于初学者来说,编写一个计算机加减乘除程序是一个不错的练习。本文将介绍如何使用C语言编写一个简单的计算器程序,让您在学习C语言的同时掌握基本的计算机编程技能。 首先,您需要了解C语言中基本的数学运算符,包括加 (+)、减(-)、乘 (*)、除 (/) 等等。这些运算符可以用来执行基本的算术运算,例如: int a = 5; int b = 2; int c = a + b; // c 的值为 7 int d = a - b; // d 的值为 3 int e = a * b; // e 的值为 10 int f = a / b; // f 的值为 2 上面的代码演示了如何在C语言中使用基本的运算符进行加减乘除运算。接下来,我们将介绍如何将这些运算符组合成一个计算机加减乘除程序。 程序的基本结构是从用户输入两个操作数和运算符,然后根据运算符执行相应的计算。以下是一个简单的例子: #include int main() { char operator; int num1, num2;

printf('Enter operator (+, -, *, /): '); scanf('%c', &operator); printf('Enter two operands: '); scanf('%d %d', &num1, &num2); switch (operator) { case '+': printf('%d + %d = %d', num1, num2, num1 + num2); break; case '-': printf('%d - %d = %d', num1, num2, num1 - num2); break; case '*': printf('%d * %d = %d', num1, num2, num1 * num2); break; case '/': printf('%d / %d = %d', num1, num2, num1 / num2); break; default: printf('Error! Invalid operator.'); } return 0; }

c语言四则运算程序

c语言四则运算程序 C语言是一种通用的计算机程序设计语言,用于开发软件和操作系统等工程项目。C语言的语法简洁,可以编写出高效的代码,因此在编写四则运算程序中被广泛应用。 四则运算指的是加减乘除四种基本运算。在C语言中,可以使用基本的算术运算符来进行四则运算,例如“+”表示加法,“-”表示减法,“*”表示乘法,“/”表示除法。在程序中使用scanf函数获取用户输入的数字,然后通过计算输出运算结果。 下面展示一个简单的加法程序,用户输入两个数字,程序通过相加运算输出结果: #include int main(){ int a,b,c; printf("Please enter two numbers:"); scanf("%d %d",&a,&b); c=a+b; printf("%d + %d = %d\n",a,b,c); return 0; }

以上程序展示了如何使用scanf函数获取用户的输入。scanf函数的第一个参数是格式化字符串,指定要读取的类型及其数量,例如“%d”表示整数,“%f”表示浮点数。第二个参数是存储输入值的变量名或指针,它们必须与格式化字符串中要读取的类型相匹配。 当用户输入两个整数后,程序将它们相加并输出结果。输出语句中使用了占位符“%d”,它们对应的是printf函数中的后三个参数,分别是a,b,c的值。 除了加法,减法、乘法、除法的处理也很相似。下面展示一个利用switch语句实现四则运算的程序: #include int main(){ int a,b,c; char op; printf("Please enter two numbers:"); scanf("%d %d",&a,&b); printf("Please enter the operator:"); scanf(" %c",&op); switch(op){ case '+': c=a+b;break;

用c语言编写加减乘除程序

用c语言编写加减乘除程序 加减乘除是数学上最基本的四则运算,而用计算机语言实现这些 运算则是计算机科学最基本的知识之一。在c语言中,实现四则运算 需要使用基本的算术运算符,并需要注意数据类型的匹配。 加法运算是最简单的四则运算之一,使用c语言执行加法运算的 方法是,用“+”符号分隔两个运算数并用“=”符号赋值给结果变量。例如,将两个整数相加并输出结果,代码如下: ``` #include int main() { int a = 5, b = 7, sum; sum = a + b; printf("The sum of %d and %d is %d", a, b, sum);

} ``` 这段代码将输出结果:“The sum of 5 and 7 is 12”,其中sum 变量存储了a和b两个变量的和。 减法运算的实现方法与加法运算类似,只需将运算符改为“-”即可,例如: ``` #include int main() { int a = 5, b = 7, diff; diff = a - b; printf("The difference between %d and %d is %d", a, b, diff);

} ``` 这段代码将输出结果:“The difference between 5 and 7 is -2”,其中diff变量存储了a和b两个变量的差。 乘法运算可以使用“*”符号来实现,例如: ``` #include int main() { int a = 5, b = 7, prod; prod = a * b; printf("The product of %d and %d is %d", a, b, prod); return 0;

用C++编程语言编写计算器程序示例

用C++编程语言编写计算器程序示例 标题: 用C++编程语言编写计算器程序示例 介绍: 这个示例程序将展示如何使用C++编程语言编写一个简单的计算器程序。计算器程序可以执行基本的数学运算,例如加法、减法、乘法和除法。 我们将使用C++编写一个控制台应用程序,用户可以通过输入运算符和操作数来进行计算,然后程序将输出计算结果。 以下是一个简单的示例代码: ```cpp #include using namespace std; int main() { double num1, num2; char op; cout << "欢迎使用计算器\n"; // 输入第一个操作数 cout << "请输入第一个数字: "; cin >> num1; // 输入运算符

cout << "请输入运算符(+, -, *, /): "; cin >> op; // 输入第二个操作数 cout << "请输入第二个数字: "; cin >> num2; double result; // 根据运算符执行相应的操作switch (op) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': if (num2 != 0) { result = num1 / num2;

} else { cout << "错误: 除数不能为零!"; return 0; } break; default: cout << "错误: 无效的运算符!"; return 0; } // 输出计算结果 cout << "计算结果: " << result << endl; return 0; } ``` 在这个示例中,我们使用了一个main函数来实现计算器程序。我们首先定义了三个变量:num1、num2和op,分别表示第一个操作数、第二个操作数和运算符。然后,使用cout输出欢迎信息,并通过cin和用户交互输入第一个数字、运算符和第二个数字。接下来,我们定义了一个result变量来保存计算结果。根据输入的运算符,我们使用switch语句执行相应的操作,并将

用c语言设计一个多功能计算器

用C语言设计一个多功能计算器 实现功能: 1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。 依次输入第一个运算数、运算符(+,-,*,/),第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘X’退出。 例如:输入:2 + 5 输出:7 2)实现单运算符表达式计算的功能。 输入的操作数可以包含整数或浮点数。如果遇到错误的表达式,应输出错误提示信息。 输入表达式如下: 例如:输入:2+5 输出:7 目录 摘要 (1) 第一章引言 (3) 1.1 计算器概述 (3) 第二章设计任务及要求 (5) 2.1 设计任务 (5) 2.2 设计要求 (6) 第三章计算器硬件设计 (7) 3.1 方案说明 (7) 3.2 设计单片机主体电路图 (8) 第四章软件设计 (9) 4.1 模块介绍 (9) 4.2 程序流程图 (10)

4.3 程序部分 (11) 第五章总结 (16) 参考文献 (17) 摘要:[目录]一、课程设计题目及任务要求二、设计思路三、部分程序介绍四、程序框图五、汇编程序六、参考资料[原文]一、课程设计题目及任务要求请设计十进制加减法计算器。要求能(不同时)显示3位输入和4位输出。二、设计思路1、操作显示设备显示设备采用八片七段共阴极LED显示器,共设置16 个键,其中数字键0~9 共十个,接下来依次是加号键、减号键、等于号、清除键。操作设备是两行八列共16键的简单键盘。第一行从左至右分别为0、1、2、3、4、5、6、7,第二行分别为8、9、A(+)、B(-)、C(=)、D(清除键)、E (清除键)、F(清除键),“清除键”表示程序初始化,为下次输入准备。2、程序实现功能(1)十进制加减法计算:输入范围为(1~999),该程序输入两个定点数,每个3位,输出4位;A为加,B为减,C为等于,输出为四位计算结果。数据输入采用规范化输入,即必须输入3个数才算完成一个运算数的输入,两个运算数之间输入运算符A或者B,输入完成按C显示计算结果;(2)计算机复位功能:DEF均为清零重启,任何时候按下DEF中一个将重新开始;三、部分程序介绍(1)主程序(START)程序开始运行初始化程序,设置输入输出口PA、PB、PC,扫描键盘,输入两个待求数据和运算符,存入寄存器,等待输入等号同时显示第二个数,运行计算程序,并将计算结果分离,输出到显示器;(2)读键子程序(RD_KB)程序分别扫描两行键盘,若有键按下则通过移位的方式计算键码;若无键按下,则将键码缓存设置为10H,判断后进行相应的跳转。具体实现形式见程序的注释。(3)计算子程序(CACULATE)程序是在按下等号的时候通过判断计算标志符的大小来跳转至乘法和除法两个分支。由于需要保持一位小数,所以在计算之前要对被乘数和被除数分别乘以10来保证计算不需要小数计算。如果计算的小数位数过多则计算结果就是零。 关键词:AT89S52,8155, 计算器,矩阵键盘 第1章引言 目前,51系列单片机在我国的各行各业得到了广泛应用,各大专院校、职业培训学校,均开设了单片机原理与应用方面的课程,这是一门技术性和实践性很强的学科,必须通过一系

用c语言编写的加减乘除计算器程序

#include double jjcc(double st[],int k){ for(int j=1;j47&&st1[i]<58){

sum1=(st1[i]-48)+sum1*10; i++; if(st1[i]=='.'){ i++; while(st1[i]>47&&st1[i]<58){ k=k*0.1; sum2=(st1[i]-48)*k+sum2; i++; } } st2[c]=sum1+sum2; } else{ st2[++c]=st1[i]; i++; sum1=0; c++; } } printf("%.4f\n",jjcc(st2,c+1)); } 如有侵权请联系告知删除,感谢你们的配合!

简易计算器C语言代码

简易四则运算计算器 计算机工具地历史而言,中国古代最早采用地一种计算工具叫筹策,又叫做算筹,这种算筹多用竹子制成,也有用木头,兽骨充当材料的,大约270枚一束,放在布袋里可随身携带。直到今天仍在使用的住算盘,是中国古代计算工具领域中的另一项发明明代时的住算盘已经与现代的住算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展。英国数学家纳尔发现了“纳皮尔算筹”;英国牧师奥却德发明了圆柱形对数计算尺,这种计算尺不仅能做加减乘涂,乘方和开方运算,甚至可以计算三角函数,指数函数和对数函数。这些计算工具不仅带动了计算的发展,也为现代计算器发展尊定了良好的基础,成为现代社会应用广泛的计算工具,如手机,操作系统上附带的多功能计算器。 项目设计目的 掌握模块的划分; 掌握结构体定义; 掌握栈的操作; 掌握函数的定义; 掌握栈的基本操作; 掌握VC的基本绘图库; 掌握鼠标的响应操作; 目设计内容 设计一个含有界面的计算器,输入一个包含括号的表达式,使用栈数据类型实现整数的四则运算操作,开方运算。 项目设计要求 根据分析,系统要求实现以下几点基本功能: 可通过按钮输入数字、运算符; 能通过按钮实现退格、清除功能; 实现加、减、乘、除、开方运算功能; 实现括号运算; 显示运算结果; 良好的交互界面。

项目详细设计 功能模块图 根据系统功能要求,主要含有四大模块,分别是计算器界面设计模块、计算器按键控制模块、四则混合运算模块、计算器记忆处理模块。 计算器界面设计模块:调用VC图形系统函数和字符函数画出计算器的界面,包括24个按钮和一个文本输入框。 计算机按键控制模块:计算器通过键盘按键值的判断,执行相应的操作,如接收数字输入等。 计算器计算处理模块。计算处理模块主要完成可以包括括号的表达式运算,运算包括加,减,乘,除、开方。计算处理模块在按键控制模块中被调用执行。处理模块是通过栈来实现的,分别定义了两个顺序栈,一个用来存放操作符栈,一个用来存放操作数栈。 计算器记忆处理模块。记忆处理模块使计算其具有记忆功能。记忆当前输入的表达式,给出一个最后的运算结果。可以清楚部分或全部记忆的值。 图简易计算器模块图 数据结构简易计算器C语言代码.doc 该系统主要的数据有操作符集,用一维数组存放;存放操作符的优先级关系集,操作符的优先级关系用一个二维数组来体现;另外定义两个栈,一个用来存放操作符,一个用来存放操作数。 charops[7]={'+','-','*','/','(',')','#'}; intcmp[7][7]={ {2,2,1,1,1,2,2}, {2,2,1,1,1,2,2}, {2,2,2,2,1,2,2}, {2,2,2,2,1,2,2}, {1,1,1,1,1,3,0}, {2,2,2,2,0,2,2}, {1,1,1,1,1,0,3}}; typedefstruct { charelem[Stack_Size]; inttop; }SeqStack; typedefstruct { intelem[Stack_Size]; inttop; }SeqStackOperand;

C语言编写四则运算

C语言编写四则运算 #include//计算器 #include #define STACK_SIZE100 //max size of the stack #define STACK_INCREMENT10 //realloc size typedefstruct FStack//stack of int { float* base; float* top; int stacksize; }FStack; void Init(FStack* s) { s->base = (float*)malloc(STACK_SIZE * sizeof(FStack)); if (!s->base) { printf("overflow!\n"); return;

} s->top = s->base; s->stacksize = STACK_SIZE; } bool isEmpty(FStack* s) { if (s->top == s->base) { returntrue; } else { returnfalse; } } void Push(FStack* s, float e) { if (s->top - s->base >= s->stacksize) { printf("stack is full!\nrealloc %d\n", STACK_INCREMENT);

s->base = (float*)realloc(s->base, (s->stacksize + sizeof(FStack))); if (!s->base) { printf("overflow!\n"); return; } s->top = s->base + s->stacksize; s->stacksize += STACK_INCREMENT; } *(s->top) = e; (s->top)++; } float GetTop(FStack* s) { if (s->top == s->base) { printf("stack is empty!\n"); return 0; } float e = *(s->top - 1); return e;

c语言课程设计报告++计算器的实现(内含完整报告-流程图-截屏-总结等)

目录 1 前言 (2) 2 需求分析 (2) 2.1要求 (2) 2.2任务 (2) 2.3运行环境 (2) 2.4开发工具 (2) 3 概要设计 (2) 3.1系统流程图 (3) 3.2查询函数流程图 (4) 4 详细设计 (6) 4.1分析和设计 (6) 4.2具体代码实现 (6) 4.3程序运行结果 (14) 5 课程设计总结 (14) 参考文献 (15) 致谢 (15)

1 前言 编写一个程序来实现算术计算器。通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、*、等运算符号),然后将其信息存入文件中。输入一个算术计算式,就在屏幕上显示结果。 2 需求分析 2.1要求 (1)用C语言实现程序设计; (2)利用结构体、共用体进行相关信息处理; (3)画出查询模块的流程图; (4)系统的各个功能模块要求用函数的形式实现; (5)界面友好(良好的人机互交),程序要有注释。 2.2任务 (1)定义一个结构体类型数组,输入0~9及+、--、*等符号的信息,将其信息存入文件中; (2)输入简单的加减乘除算术计算式,并在屏幕上显示计算结果; (3)画出部分模块的流程图; (4)编写代码; (5)程序分析与调试。 2.3运行环境 (1)WINDOWS2000/XP系统 (2)TurboC2.0编译环境 2.4开发工具 C语言 3 概要设计

3.1系统流程图 如图3.1所示。 w 图3.1 系统流程图

3.2查询函数流程图(1)边界画线函数流程图

(2)图标按钮设置函数流程图

4 详细设计 4.1分析和设计 (1)在程序的开头部分定义了结构体类型,用来存放按钮信息,使数据能够从键盘上输入。用输入函数input()来输入按键放在button[]数组中。再定义结构体栈:struct_stack() 用于数据的输入和存放。 (2)进而定义了表格窗口函数,窗口画线函数draw_win() 和边界线函数draw_border(),定义out_text_win()输出文本窗口,定义window_xy(32,3); 计算结果窗口。通过这些为形成整个界面提供了大的前提。 (3)接着通过“write_char()”,“active_button()”,“write_top()”,“out_text_win()”,“get_key()”,“window_xy()”等一系列的函数,使得计算器的整个外型呈现了出来。再定义了文本光标函数:text_clo()文本光标函数,通过光标移动选定数字并按空格键确定,通过mian()函数来调用各个子函数,最终得到结果。 4.2具体代码实现 源程序代码: #include"dos.h" #include"conio.h" #include"string.h" #include"stdio.h" #define normbut_bor 0x80 #define presbut_but 0xb8 #define normnum_but 0x8e #define presnum_but 0xb9 #define spebut_char 0x2c #define win_color 0xf2 #define win_char 0xfb

相关主题
文本预览
相关文档 最新文档