当前位置:编程学习 > C/C++ >>

C++怎么编计算器

追问:是C+++MFC的?
答案:
给你一个超强的,连sin,cos的都能算   

输入样例:
Please enter the string:1+sin(pi/2)
1+sin(pi/2) = 2.000000

Please enter the string:1+2+3+4*5
1+2+3+4*5 = 26.000000

程序:


/* Author cngdzhang */
/* Date 2002.2 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <conio.h>
#include <ctype.h>

#define ISTR 1
#define INUM 2
#define IOPE 3
#define IERR 0

double getfactor();
double getvalue();

char *pss;

char *ps;
char s1[256];
char s2[256];

double t;
double pi=3.1415926;
void ctolower(char *s)
{
while(*s!='\0')
{
*s=tolower(*s);
s++;
}
}

int getitem(char *ss,char *st)
{
char *p=ss;
while(*p==' ') p++;
if(*p=='(' || *p==')' || *p=='+' || *p=='-' || *p=='*' || *p=='/')
{
*st++=*p;
*st='\0';
p++;
ps=p;
return(IOPE);
}
else if(isdigit(*p))
{
while(isdigit(*p)) *st++=*p++;
*st='\0';
ps=p;
return(INUM);
}
else if(isalnum(*p))
{
while(isalnum(*p)) *st++=*p++;
*st='\0';
ps=p;
return(ISTR);
}
return(IERR);
}





待续
设计一个一个多功能计算器

实现功能:

1) 具备整型数据,浮点型数据的算术(加减乘除)运算功能。

依次输入第一个运算数,运算符(+ — * /),第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按“C”清屏,按“x”退出。

例如:输入:2

+

5

输出:7

2) 实现单运算符表达式计算的功能。

输入的操作数可以包含整数或浮点数。如果遇到错误的表达式,应输出错误提示信息。

输入表达式如下:

例如:输入:2+5
输出:7
关键考虑好算法:
如 +-*/怎么个流程
另外,如何处理输入
字数限制发不了那么多 给你截个图看看 好的话问我要
字数限制发不了那么多 给你截个图看看 好的话问我要
用switch
用MFC吧,还控制台...

上一个:帮调c++链表程序
下一个:C++文件和类

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,