文档视界 最新最全的文档下载
当前位置:文档视界 › 简易计算器C语言代码.

简易计算器C语言代码.

简易四则运算计算器

计算机工具地历史而言,中国古代最早采用地一种计算工具叫筹策,又叫做算筹,这种算筹多用竹子制成,也有用木头,兽骨充当材料的,大约270枚一束,放在布袋里可随身携带。直到今天仍在使用的住算盘,是中国古代计算工具领域中的另一项发明明代时的住算盘已经与现代的住算盘几乎相同。

17世纪初,西方国家的计算工具有了较大的发展。英国数学家纳尔发现了“纳皮尔算筹”;英国牧师奥却德发明了圆柱形对数计算尺,这种计算尺不仅能做加减乘涂,乘方和开方运算,甚至可以计算三角函数,指数函数和对数函数。这些计算工具不仅带动了计算的发展,也为现代计算器发展尊定了良好的基础,成为现代社会应用广泛的计算工具,如手机,操作系统上附带的多功能计算器。项目设计目的

掌握模块的划分;

掌握结构体定义;

掌握栈的操作;

掌握函数的定义;

掌握栈的基本操作;

掌握VC的基本绘图库;

掌握鼠标的响应操作;

目设计内容

设计一个含有界面的计算器,输入一个包含括号的表达式,使用栈数据类型实现整数的四则运算操作,开方运算。

项目设计要求

根据分析,系统要求实现以下几点基本功能:

可通过按钮输入数字、运算符;

能通过按钮实现退格、清除功能;

实现加、减、乘、除、开方运算功能;

实现括号运算;

显示运算结果;

良好的交互界面。

项目详细设计

功能模块图

根据系统功能要求,主要含有四大模块,分别是计算器界面设计模块、计算器按键控制模块、四则混合运算模块、计算器记忆处理模块。

计算器界面设计模块:调用VC图形系统函数和字符函数画出计算器的界面,包括24个按钮和一个文本输入框。

计算机按键控制模块:计算器通过键盘按键值的判断,执行相应的操作,如接收数字输入等。

计算器计算处理模块。计算处理模块主要完成可以包括括号的表达式运算,运算包括加,减,乘,除、开方。计算处理模块在按键控制模块中被调用执行。处理模块是通过栈来实现的,分别定义了两个顺序栈,一个用来存放操作符栈,一个用来存放操作数栈。

计算器记忆处理模块。记忆处理模块使计算其具有记忆功能。记忆当前输入的表达式,给出一个最后的运算结果。可以清楚部分或全部记忆的值。

图简易计算器模块图

数据结构简易计算器C语言代码.doc

该系统主要的数据有操作符集,用一维数组存放;存放操作符的优先级关系集,操作符的优先级关系用一个二维数组来体现;另外定义两个栈,一个用来存放操作符,一个用来存放操作数。

char ops[7]={'+','-','*','/','(',')','#'};

int cmp[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}}; typedef struct

{

char elem[Stack_Size]; int top;

}SeqStack;

typedef struct

{

int elem[Stack_Size]; int top;

}SeqStackOperand;

系统流程图

图系统流程图

主要算法

比较运算符优先级:程序里的涉及到的运算符有7个,分别是‘+’,‘-’,‘*’,‘/’,‘(’,‘)’,‘#’,它们之间的优先级关系用一个二维数组来存放, int cmp[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}};

主要代码

1. 计算器界面设计

利用VC绘图库函数设计一个相对友好的操作界面。关于VC绘图库的介绍在本书第二章。界面图像如下:

2. 当用户通过鼠标左键按下‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘.’,‘+’,‘—’,‘*’,‘/’,‘(’,‘)’,‘=’,这些键时,字符按点击顺序在输出文本框输出;当用户点击‘<—’,表示退一格操作;当用户点击‘=’,

作:初始化栈,判断栈空,取栈顶元素,入栈,出战,实现操作数的四则运

小结

知识点: VC绘图库

鼠标按键响应操作结构体定义顺序栈

顺序栈的基本操作:初始化栈、判断栈是否为空、取栈顶元素、入栈、出栈功能扩充

实现取对数、正弦、余弦等一些函数功能。

速算,简易计算器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语言计算器源代码

# include # include # include # define maxsize 100 typedef double datatype1; typedef char datatype2; typedef struct stack1 { datatype1 data1[maxsize]; int top1; /*栈顶元素*/ }seqstack1,*pseqstack1; /* 顺序栈*/ typedef struct stack2 { datatype2 data2[maxsize]; int top2; /*栈顶元素*/ }seqstack2,*pseqstack2; /* 顺序栈*/ /*栈的初始化*/ pseqstack1 init_seqstack1(void) { pseqstack1 S; S=(pseqstack1)malloc(sizeof(pseqstack1)); if(S) S->top1=-1; return S; } pseqstack2 init_seqstack2(void) { pseqstack2 S; S=(pseqstack2)malloc(sizeof(pseqstack2)); if(S) S->top2=-1; return S; } /*判断栈空*/ int empty_seqstack1(pseqstack1 S) { if(S->top1==-1) return 1; else return 0; } int empty_seqstack2(pseqstack2 S) { if(S->top2==-1)

C语言表达式计算器代码

#include #include #include typedef struct Expression //定义表达式结构体 { int num[64]; char ch[64]; }Exper; typedef struct node //定义字栈 { char e[100]; int top; }linkstack; typedef struct Node //定义整数栈 { int c[100]; int top; }link; char precede(char a,char b) //符号判断 { int i=0,j=0; char sign[]="+-*/()^%"; char prec[8][8]={">><<()<<",">><<()<<",">>>>()<<",">>>>()<<","((((~~((","))))~~))",">>>>()>>",">>>>()> >"}; if (b=='=') { return 0; } while(sign[i]!=a) { i++; } while (sign[j]!=b) { j++;

} return(prec[i][j]); } void push1(linkstack *p,char c) //字符入栈 { p->e[p->top++]=c; } void push2(link *p,int num) //整数入栈 { p->c[p->top++]=num; } char gettop(linkstack *s) //读字符栈顶的元素{ char c; c=s->e[s->top-1]; return(c); } char pop1(linkstack *s) //字符出栈 { char c; c=s->e[--s->top]; return(c); } int pop2(link *N) //整数入栈 { int num; num=N->c[--N->top]; return(num); } int operate(int a, char oper,int b)//进行运算 { int num; switch (oper) {

c语言计算器代码

#include char token; /*定义程序要使用到的一些函数*/ void match( char expectedToken ) /*对当前的标志进行匹配*/ { if( token == expectedToken ) token = getchar(); /*匹配成功,获取下一个标志*/ else { printf("cannot match\n"); exit(1); /*匹配不成功,退出程序*/ } } int low( void )/*用于计算表达式中级别最低的运算*/ { int result = mid(); /*计算比加减运算优先级别高的部分*/ while(( token == '+' ) || ( token == '-' )) if ( token == '+') { match('+'); /*进行加法运算*/ result += mid(); break; } else if ( token == '-') { match('-'); /*进行减法运算*/ result -= mid(); break; } return result; } int mid( void )/*用于计算表达式中级别较高的运算*/ { int div; /*除数*/ int result = high(); /*计算比乘除运算优先级别高的部分*/ while(( token == '*' ) || ( token == '/' )) if ( token == '*') { match('*'); /*进行乘法运算*/ result *= high(); break; }

用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语言编写的加减乘除计算器程序

#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*; 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语言简易计算器的实现

C语言简易计算器的实现 计算器是一个常见的应用程序,用于执行数学运算。在C语言中,可以通过使用条件判断、循环和函数来实现一个简易计算器。下面是一个实现四则运算的简易计算器的示例代码: ```c #include float add(float a, float b) return a + b; float subtract(float a, float b) return a - b; float multiply(float a, float b) return a * b; float divide(float a, float b) return a / b; int mai float num1, num2; char operator; printf("请输入两个数:"); scanf("%f %f", &num1, &num2);

printf("请输入操作符:"); scanf(" %c", &operator); // 注意空格,以防止读取上一个输入时的换行符 float result; switch (operator) case '+': result = add(num1, num2); printf("结果为:%.2f\n", result); break; case '-': result = subtract(num1, num2); printf("结果为:%.2f\n", result); break; case '*': result = multiply(num1, num2); printf("结果为:%.2f\n", result); break; case '/': if (num2 == 0)

C语言编写的计算器源代码

C语言编写的计算器源代码 ```c #include #include #include #include #define MAX_EXPRESSION_SIZE 100 //栈结构定义 typedef struct int top; double data[MAX_EXPRESSION_SIZE]; } Stack; //初始化栈 void initStack(Stack *s) s->top = -1; //入栈 void push(Stack *s, double value) if (s->top == MAX_EXPRESSION_SIZE - 1) printf("Stack is full. Cannot push element.\n");

} else s->data[++(s->top)] = value; } //出栈 double pop(Stack *s) if (s->top == -1) printf("Stack is empty. Cannot pop element.\n"); return -1; } else return s->data[(s->top)--]; } //获取栈顶元素 double peek(Stack *s) if (s->top == -1) return -1; } else return s->data[s->top]; } //判断运算符的优先级

int getPriority(char operator) switch (operator) case '+': case '-': return 1; case '*': case '/': return 2; case '^': return 3; default: return -1; } //执行四则运算 double performOperation(double operand1, double operand2, char operator) switch (operator) case '+': return operand1 + operand2;

C语言计算器源代码

C++语言编写;; include include include using namespace std; const double pi = 3.; const double e = ; const int SIZE = 1000; typedef struct node { i++; ge = 0; biao_dian = 1; } iflinei == 'P' {

shu++p = pi; i++; break; } iflinei == 'E' { shu++p = e; i++; break; } ifflag1 { h = h 10 + linei - '0'; flag = 1; i++; ifbiao_dian

ge++; } else break; } ifflag { ifbiao_dian { int r = 1; forint k = 1; k <= ge; k++ r = 10; h /= r; } shu++p = h; + ^乘方 Foff Enter= "<

cout<<"M在前面结果的基础上继续计算,如:上次结果为10,现输入+2"<>start

用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语言 以下是一个简单的进制转换计算器的C语言实现。此程序将用户输入的十进制数转换为二进制、八进制和十六进制数。 ```c #include void print_binary(unsigned int num) { for (int i = (sizeof(unsigned int) * 8) - 1; i >= 0; i--) { printf("%d", (num >> i) & 1); } printf("\n"); } void print_octal(unsigned int num) { printf("%o\n", num); } void print_hexadecimal(unsigned int num) { printf("%X\n", num); }

int main() { unsigned int num; printf("请输入一个十进制数: "); scanf("%u", &num); printf("二进制: "); print_binary(num); printf("八进制: "); print_octal(num); printf("十六进制: "); print_hexadecimal(num); return 0; } ``` 注意,这个程序使用无符号整数(`unsigned int`)来处理输入,所以它不能处理负数。同时,二进制转换函数是自己实现的,

但八进制和十六进制的转换则直接使用了 `printf` 函数的 `%o` 和 `%X` 格式说明符。 此外,这个程序没有进行错误处理,例如检查用户是否输入了一个有效的十进制数。在实际应用中,你可能需要添加这些额外的检查。 最后,这个程序只能处理 `unsigned int` 类型可以表示的数。如果你需要处理更大的数,你可能需要使用其他的数据类型,或者实现一个更复杂的算法来处理大数。

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 #include #include //定义多项式的一个节点 typedef struct Node int coefficient; // 系数 int exponent; // 指数 struct Node* next; // 下一个节点 } Node; //创建一个节点 Node* createNode(int coefficient, int exponent) Node* newNode = (Node*)malloc(sizeof(Node)); newNode->coefficient = coefficient; newNode->exponent = exponent; newNode->next = NULL; return newNode; //插入节点到多项式中

Node* insertNode(Node* head, int coefficient, int exponent) Node* newNode = createNode(coefficient, exponent); if(head == NULL) return newNode; } else Node* temp = head; while(temp->next != NULL) temp = temp->next; } temp->next = newNode; return head; } //打印多项式 void printPolynomial(Node* head) Node* temp = head; while(temp != NULL) printf("%dx^%d ", temp->coefficient, temp->exponent); temp = temp->next; if(temp != NULL)

c语言制作简单计算器

C语言制作简单计算器 一、工程介绍 工程效果图 编写这个程序的步骤如下: •获得用户要求计算机执行计算所需的输入。 •检查输入,确保输入可以理解。 •执行计算。 •显示结果。 三、解决方案 获得用户输入是很简单的,可以使用printf()和scanf()。下面是读取用户输入的程序代码:

#includeint main(){ double number1=; //定义第一个操作值 double number2=; //定义第二个操作值 char operation=0; //operation必须是'+''-''*''/'或'%' printf("\nEnter the calculation\n"); scanf("%lf%c%lf",&number1,&operation,&number2); return0; } 接着,检查输入是否正确。最明显的检查是要执行的操作是否有效。有效的操作有+、-、*、/和%,所以需要检查输入的操作是否是其中的一个。 还需要检查第二个数字,假设操作是/或者%,第二个数字就不能是0。假设右操作数是0,这些操作就是无效的。这些操作都可以用if语句来完成,switch语句那么为此提供了一种更好的方式,因此它比一系列if语句更容易理解。 switch(operation) { case'+': printf("=%lf\n",number1+number2); break; case'-': printf("=%lf\n",number1-number2); break; case'*': printf("=%lf\n",number1*number2); break; case'/': if(number2==0) printf("\n\n\aDavision by zero error!\n"); else printf("=%lf\n",number1/number2); break; case'%': if((long)number2==0) printf("\n\n\aDavision by zero error!\n");

用c语言编写的计算器源代码

作品:科学计算器 作者:欧宗龙 编写环境:vc++6.0 语言:c #include "stdafx.h" #include #include #include #include "resource.h" #include "MainDlg.h" #include #include #define PI 3.141593 BOOL A_Op=FALSE; BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_MAND, Main_Onmand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); } return FALSE; } BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { return TRUE; } void TrimNumber(char a[])//判断并删除小数点后无用的零

for(unsigned i=0;i=i;j--) { if(a[j]=='0') { a[j]='\0'; } else if(a[j]=='.') { a[j]='\0'; } else break; } } } } double Operate(char Operator,double n1,double n2) //判断符号,进行相应的运算{ if(Operator=='0') { } if(Operator=='+') { n2+=n1; } if(Operator=='-') { n2=n1-n2; } if(Operator=='*') { n2*=n1; } if(Operator=='/') { n2=n1/n2; } if(Operator=='^') { n2=pow(n1,n2); } return n2; }

矩阵计算器代码实现 C语言

#include #include #include #define N 10 //定义方阵的最大阶数为10 #include using namespace std; double MatDet(double *p, int n); //求矩阵的行列式 double Creat_M(double *p, int m, int n, int k); //求矩阵元素A(m, n)的代数余子式void print(double *p, int n); //输出矩阵n*n class Matrix { private: int row,col; double **eM ; public: creatM();//创造矩阵 outM(Matrix A);//输出矩阵 add(Matrix A,Matrix B);//矩阵相加 minus(Matrix A,Matrix B);//矩阵相减 transpose(Matrix A);//矩阵转置 mutiply(Matrix A,Matrix B);//矩阵相乘 h(Matrix A);//求行列式,和上三角 inverse(Matrix A);//矩阵的逆 }; void main() { cout<<"******矩阵计算器******"<>c; switch(c) { case 1: { Matrix m1,m2; cout<<"请输入第一个矩阵"<

简易计算器C语言代码

#include #include int main(void) { int choice,t=1; printf("**********************计算器*****************************************\n"); printf(" 1.加法运算2.减法运算\n"); printf(" 3.乘法运算4.除法运算\n"); printf(" 5.平方运算6.开方运算\n"); printf(" 7.解一元二次方程By:_一念成殇、\n"); printf("**********************************************************************\n"); printf("请选择您即将进行的运算方式(输入对应数字):"); while(t==1) { scanf("%d",&choice); if(choice>7) printf("请您输入正确的选项编号!\n"); //加法 if(choice==1) { float addend_1,addend_2,sum; printf("请输入两个加数:\n"); scanf("%f",&addend_1); scanf("%f",&addend_2); sum=addend_1+addend_2; printf("结果为:%.2f",sum); } //减法 if(choice==2) { float reduction,minuend,difference; printf("请输入被减数和减数:\n"); scanf("%f",&reduction); scanf("%f",&minuend ); difference=reduction-minuend ; printf("结果为:%.2f",difference); } //乘法 if(choice==3) { float multiplier_1,multiplier_2,product; printf("请输入两个乘数:\n"); scanf("%f",&multiplier_1); scanf("%f",&multiplier_2); product= multiplier_1 * multiplier_2; printf("结果为:%.2f",product);

C语言计算器源代码

break; if (flagl) { h 二h * 10 + (line[i] - ’0,); flag = 1; i++; if(biao_dian) ge++; } else break; if(flag) if (biao_dian) int r = 1; for (int k = 1; k <=

ge; k++) r *二10;

h /= r;

shu[++p] = A(乘方)F(off) Enter(=)coutvv技j*于对数输入L2_5表示以2为底5前珮护Vvendl; cout«/z M(在前面结果的基础上继续计算,女口:上次结果为10,现输入+*2)"vvendl; coutvv〃D(清零并继续输入)z/vvendl: coutvv〃F(计算机关闭)z/vvendl; coutvv〃输入P就代表输入圆周率,输入E代表输入自然对数 z/vvendlvvendl; void print () system(〃color 2〃); coutvv〃欢迎使用本计算器"vvendl; coutvv〃输入一个字符串on,计算器开始启动z/vvendl; void if_start ()//是否启动计算器 { string start; print (); while(cin>>start)

if(start !二〃on〃)

cout<<〃您所输入的字符无效,请按照介绍的继续输入:〃《endl; continue; else break; } if (start 二二〃on〃) system(/z color 5”);// 颜色的处理 system("cls〃) ;// 刷屏 introduce () ;//对计算器的简要介绍cout<

相关文档
相关文档 最新文档