2010年5月18日火曜日

超簡単なC言語による電卓プログラム

良くC言語の宿題や課題として出題される電卓プログラムです。 以下をコピペすれば簡単です。

#include<stdio.h>
#include<stdlib.h>
int main(void){

double acc=0,b;
char buf[20];
int inp,mode=0,p=0;

buf[0]=0;

while(1){
inp = getchar();
if(inp=='.' || inp>='0'&&inp<='9') buf[p]=inp,buf[p+1]=0,p=p<18?p+1:p;
else if(inp=='q')break;
else if(!(inp == '+' ||inp == '-' ||inp == '*' ||inp == '/'|| inp == '='));
else b=atof(buf),p=0,buf[0]=0,acc=mode==0?b:acc,acc=mode=='+'?acc+b:acc,acc=mode=='-'?acc-b:acc,acc=mode=='*'?acc*b:acc,acc=mode=='/'?acc/b:acc,mode=inp;
if(inp=='=')printf("%f\n",acc),mode=0,acc=0;
}
return 0;
}

0 件のコメント:

コメントを投稿