/*分享自己用C4droid写的四则运算器源代码,我叫它奈算器4.0 .....用着比上次的奈算器3 .0 缺点好多了...
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
//安卓环镜的C4droid和快写代码等软件运行的 环境运行的完美四则计算器 (运行机制防发声的计算器)
//作者奈叶敬 小数计算结果到小数的后7位 否则结果示为科学计算法
//若这些代码有bug可以通过 2963787923反应给我 (´。✪ω✪。`)2020-1-27日编写 版本4
void jm();//界面函数声明
double js(double a, char d, double b);//计算结果函数声明
void jm()//界面函数
{
for (int i = 0; i <= 40; i++)printf("#");
printf("\n# 这是一个迷你的计算器程序:作者奈叶敬 #\n");
printf("# 请输入格式正确的数字例如:2+2再回车 #\n");
printf("# 回车后计算结果直接加例如:4+2再回车 #\n");
printf("# 输入1@1戓者@1清除计算结果 版本:4 #\n");
printf("# 输入要计算的算术 #\n");
for (int i = 0; i <= 40; i++)printf("#");
}
double js(double a, char d, double b)//计算函数
{
if (d == '+'){return a + b;}
else if (d == '-'){return a - b;}
else if (d == '*'){return a * b;}
else if (d == '/'){return a / b;}
else if (d == '@'){return 1;}
else { printf("\n$输入正解的算术运算符 \n");
sleep(1); //暂停一秒显示上面的打印结果
return 0;
}
}
int main()//主函数
{ while (1)
{ double a = 0, b = 0, q = 0; //加数 被加数 暂存数等变量声明
char d = 0; //运算符声明
int i = 0, k = 1; //计数器声明
jm(); //调用界面函数
printf("\n$输入结果:");
scanf("%lf", &a);
scanf("%c", &d);
scanf("%lf", &b);
getchar();
if(js(a,d,b)==0)//输错运算符和清除相关程序
{
system("cls");
system("clear");
continue;
}
if(js(a,d,b)==1)
{
system("cls");
system("clear");
continue;
}
system("cls");
system("clear");
jm();
printf("\n$%c 输出结果:= %g ",d,q = js(a, d, b));
double h = q, f = 0; //变量声明
char g;
while (1)
{ if (i != 0)jm();//只调用一次的界面
if (i != 0)
{ js(h, g, f);
if (k == 1)printf("\n$%c 输出结果:=%g ", g, h = js(q, g, f)); //只计算一次的界面
else printf("\n%c 输出结果:=%g ", g, h = js(h, g, f));
k = 0;
}
scanf("%c", &g); //输入四则运算符
scanf("%lf", &f);//输入加数等
getchar();//吞回车符
i = 1;
if(js(h,g,f)==0)//判定输入错误的东西和清除@键
{
system("cls");
system("clear");
break;
}
if(js(h,g,f)== 1)
{
system("cls");
system("clear");
break;
}
system("cls");//windows电脑上清屏的命令不知道为什么安卓也能用
system("clear"); //linux和安卓系统的清屏命令 双重命令
}
}
return 0;
}
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
//安卓环镜的C4droid和快写代码等软件运行的 环境运行的完美四则计算器 (运行机制防发声的计算器)
//作者奈叶敬 小数计算结果到小数的后7位 否则结果示为科学计算法
//若这些代码有bug可以通过 2963787923反应给我 (´。✪ω✪。`)2020-1-27日编写 版本4
void jm();//界面函数声明
double js(double a, char d, double b);//计算结果函数声明
void jm()//界面函数
{
for (int i = 0; i <= 40; i++)printf("#");
printf("\n# 这是一个迷你的计算器程序:作者奈叶敬 #\n");
printf("# 请输入格式正确的数字例如:2+2再回车 #\n");
printf("# 回车后计算结果直接加例如:4+2再回车 #\n");
printf("# 输入1@1戓者@1清除计算结果 版本:4 #\n");
printf("# 输入要计算的算术 #\n");
for (int i = 0; i <= 40; i++)printf("#");
}
double js(double a, char d, double b)//计算函数
{
if (d == '+'){return a + b;}
else if (d == '-'){return a - b;}
else if (d == '*'){return a * b;}
else if (d == '/'){return a / b;}
else if (d == '@'){return 1;}
else { printf("\n$输入正解的算术运算符 \n");
sleep(1); //暂停一秒显示上面的打印结果
return 0;
}
}
int main()//主函数
{ while (1)
{ double a = 0, b = 0, q = 0; //加数 被加数 暂存数等变量声明
char d = 0; //运算符声明
int i = 0, k = 1; //计数器声明
jm(); //调用界面函数
printf("\n$输入结果:");
scanf("%lf", &a);
scanf("%c", &d);
scanf("%lf", &b);
getchar();
if(js(a,d,b)==0)//输错运算符和清除相关程序
{
system("cls");
system("clear");
continue;
}
if(js(a,d,b)==1)
{
system("cls");
system("clear");
continue;
}
system("cls");
system("clear");
jm();
printf("\n$%c 输出结果:= %g ",d,q = js(a, d, b));
double h = q, f = 0; //变量声明
char g;
while (1)
{ if (i != 0)jm();//只调用一次的界面
if (i != 0)
{ js(h, g, f);
if (k == 1)printf("\n$%c 输出结果:=%g ", g, h = js(q, g, f)); //只计算一次的界面
else printf("\n%c 输出结果:=%g ", g, h = js(h, g, f));
k = 0;
}
scanf("%c", &g); //输入四则运算符
scanf("%lf", &f);//输入加数等
getchar();//吞回车符
i = 1;
if(js(h,g,f)==0)//判定输入错误的东西和清除@键
{
system("cls");
system("clear");
break;
}
if(js(h,g,f)== 1)
{
system("cls");
system("clear");
break;
}
system("cls");//windows电脑上清屏的命令不知道为什么安卓也能用
system("clear"); //linux和安卓系统的清屏命令 双重命令
}
}
return 0;
}