C語言經典例題(四)
阿新 • • 發佈:2018-12-21
問題如下:手搓一個簡易計算器
分析問題:首先看一下這個題,經過讀題我們得知要計算一個簡易的計算器,那麼就需要用函式,程式碼如下:
#include <stdio.h> void xing(int shu); void biaoti(int kong,char * title); void zhuyemian(char *title); void sizeyunsuan(); void guocheng(char w); void xing(int shu) { int i; for(i=0;i<=shu;i++) printf("* "); printf("\n"); } void biaoti(int kong,char * title) { int j; for(j=0;j<=kong;j++) printf(" "); printf("%s\n",title); printf("\n"); } void zhuyemian(char *title) { xing(59); biaoti(50,title); xing(59); } void sizeyunsuan() { int d; char w; system("cls"); zhuyemian("四則運算"); printf("請選擇您要進行運算的型別(選擇1234輸入,按回車),並進行計算\n\n"); printf("1.加法運算\n\n"); printf("2.減法運算\n\n"); printf("3.乘法運算\n\n"); printf("4.除法運算\n\n"); scanf("%d",&d); if(d==1) { system("cls"); zhuyemian("加法運算"); w='+'; } if(d==2) { system("cls"); zhuyemian("減法運算"); w='-'; } if(d==3) { system("cls"); zhuyemian("乘法運算"); w='*'; } if(d==4) { system("cls"); zhuyemian("除法運算"); w='/'; } guocheng(w); } void guocheng(char w) { double A,B,C; char r='y'; printf("請輸入兩個數,中間用逗號隔開\n"); while(r=='y'||r=='Y') { scanf("%lf,%lf",&A,&B); if(w=='+') C=A+B; else if(w=='-') C=A-B; else if(w=='*') C=A*B; else if(w=='/') { if(B==0) C==0; C=A/B; } printf("%lf%c%lf=%lf",A,w,B,C); printf("是否繼續Y\n"); r=getchar(); r=getchar(); } sizeyunsuan(); } int main() { sizeyunsuan(); }
程式碼解析:我們看一下這部分程式碼,可以看出首先通過函式寫出了加減乘除,然後套用,即可得出。