简易计算器
作者:霍久久
#include <stdio.h>
#include <stdlib.h>
#define BUFFERSIZE 1024
int main()
{
float a,b;
char buffer[BUFFERSIZE];
char f;
printf("************************************\n");
printf("* *\n");
printf("* *\n");
printf("* <加减乘除>计算器 *\n");
printf("* 例:“1/2” *\n");
printf("* *\n");
printf("************************************\n");
while((fgets(buffer,BUFFERSIZE,stdin)!=NULL)&&(buffer[0]!='#'))
{
if(sscanf(buffer,"%f%c%f",&a,&f,&b)!=3)
{
printf("输入的数字不是两个\n");
continue;
}
switch(f)
{
case '+':printf("%f + %f = %f\n",a,b,a+b);break;
case '-':printf("%f - %f = %f\n",a,b,a-b);break;
case '*':printf("%f * %f = %f\n",a,b,a*b);break;
case '/':
{
if(b!=0){printf("%f / %f = %f\n",a,b,a/b);break;}
else {printf("分母不能为零\n");break;}
}
default:printf("不合法标识符\n");break;
}
}
return 0;
}
程序运行照片
fgets功能是从指定的stream流中读取字符并把它复制到buffer中本程序stream为标准stdin(输入流),当读取到一个换行符并存储到缓冲区之后不再读取
(sscsnf来处理缓冲区中的数据)