答案:给你一个超强的,连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++文件和类