網(wǎng)站首頁 編程語言 正文
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)簡易計(jì)算器功能的具體代碼,供大家參考,具體內(nèi)容如下
表達(dá)式求值項(xiàng)目(多功能計(jì)算器)。該項(xiàng)目主要包含了10個(gè)模塊,10項(xiàng)功能:
1:加法運(yùn)算:主要進(jìn)行兩個(gè)數(shù)的加法運(yùn)算,可進(jìn)行計(jì)算整數(shù)和浮點(diǎn)數(shù);
2:減法運(yùn)算:主要進(jìn)行兩個(gè)數(shù)的減法運(yùn)算,可進(jìn)行計(jì)算整數(shù)和浮點(diǎn)數(shù);
3:乘法運(yùn)算:主要進(jìn)行兩個(gè)數(shù)的乘法運(yùn)算,可進(jìn)行計(jì)算整數(shù)和浮點(diǎn)數(shù);
4:除法運(yùn)算:主要進(jìn)行兩個(gè)數(shù)的除法運(yùn)算,可進(jìn)行計(jì)算整數(shù)和浮點(diǎn)數(shù);增加了報(bào)錯(cuò)功能,由于除數(shù)不可以為0,當(dāng)用戶輸入的除數(shù)為0的時(shí)候,該項(xiàng)目會(huì)出提示紅色字體提示語句,提醒用戶輸入有誤重新輸入。
5:開平方根:主要進(jìn)行某個(gè)數(shù)的開方,選擇該功能時(shí),計(jì)算器會(huì)提示輸入需開方的數(shù),然后打印出開方后的結(jié)果;
6:求某數(shù)的N次冪:選擇該功能時(shí),計(jì)算器會(huì)提示請(qǐng)輸入需要計(jì)算的數(shù)x以及N的值,然后打印出N次冪后的結(jié)果;
7:進(jìn)位制的轉(zhuǎn)換:任意輸入某個(gè)數(shù)字,可以將該數(shù)字分別轉(zhuǎn)換為二進(jìn)制,八進(jìn)制,和十六進(jìn)制。
8:表達(dá)式求值:
9:一元二次方程求解:
10:中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式:輸入表達(dá)式后,計(jì)算器會(huì)對(duì)表達(dá)式進(jìn)行判斷。判斷括號(hào)是否匹配,括號(hào)匹配完成后進(jìn)行下一步表達(dá)式運(yùn)算符匹配,匹配成功后輸出其后綴表達(dá)式。如果匹配出現(xiàn)錯(cuò)誤,出現(xiàn)紅色字體警告,發(fā)出嗶嗶的聲音,提示重新輸入。
0:退出功能:選擇退出時(shí),出現(xiàn)一個(gè)退出界面。并退出程序。
小功能介紹:計(jì)算器包含了3個(gè)界面,開始界面,菜單界面,退出界面。采用多級(jí)變色提示音,紅,綠,紫,黃。方便用戶操作和查看。
開始界面如圖:
功能界面如圖:
#include<stdio.h> #include<windows.h> #include<stdlib.h> #include<math.h> #define MaxSize 10000 void print2(); void print1(); struct Stackop { ? ? char op[MaxSize]; ? ? int top; } stackop; struct StackNum { ? ? double num[MaxSize]; ? ? int top; } stacknum; int GetLevel(char op)//得到運(yùn)算符的優(yōu)先等級(jí) { ? ? if(op=='+'||op=='-') ? ? ? ? return 1; ? ? if(op=='*'||op=='/') ? ? ? ? return 2; ? ? return 0; } double Add(double a,double b)//加法運(yùn)算 { ? ? return a+b; } double Sub(double a,double b)//減法運(yùn)算 { ? ? return a-b; } double Multi(double a,double b)//乘法運(yùn)算 { ? ? return a*b; } double Div(double a,double b,double *result)//除法運(yùn)算 { ? ? ? if(b==0) ? ? ? ? printf("除數(shù)不能為0\n"); ? ? return 0; ? ? *result=a/b; ? ? return 1; } int Calculate(double a,double b,char op,double *result) //用于對(duì)兩個(gè)數(shù)進(jìn)行運(yùn)算 { ? ? switch(op) ? ? { ? ? case '+': ? ? ? ? *result=Add(a,b); ? ? ? ? return 1; ? ? case '-': ? ? ? ? *result=Sub(a,b); ? ? ? ? return 1; ? ? case '*': ? ? ? ? *result=Multi(a,b); ? ? ? ? return 1; ? ? case '/': ? ? ? ? return Div(a,b,result); ? ? default: ? ? ? ? return 0; ? ? } } void GetRpn(char *str,char *rpn) { ? ? int len=strlen(str),cnt=0,i; ? ? int isnum=0; ? ? stackop.top=-1; ? ? if(str[len-1]=='=') ? ? ? ? len--; ? ? if(str[0]=='-') ? ? { ? ? ? ? rpn[cnt++]='0'; ? ? ? ? rpn[cnt++]='#'; ? ? } ? ? for(i=0; i<len; i++) ? ? { ? ? ? ? if(str[i]>='0'&&str[i]<='9'||str[i]=='.') ? ? ? ? { ? ? ? ? ? ? rpn[cnt++]=str[i]; ? ? ? ? ? ? isnum=1; ? ? ? ? ? ? continue; ? ? ? ? } ? ? ? ? if(isnum) ? ? ? ? { ? ? ? ? ? ? rpn[cnt++]='#'; ? ? ? ? ? ? isnum=0; ? ? ? ? } ? ? ? ? if(str[i]=='('&&str[i+1]=='-') ? ? ? ? { ? ? ? ? ? ? rpn[cnt++]='0'; ? ? ? ? ? ? rpn[cnt++]='#'; ? ? ? ? } ? ? ? ? ? ? if(str[i]=='(') ? ? ? ? ? ? stackop.op[++stackop.top]=str[i]; ? ? ? ? else if(str[i]==')') ? ? ? ? { ? ? ? ? ? ? while(stackop.op[stackop.top]!='(') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? rpn[cnt++]=stackop.op[stackop.top]; ? ? ? ? ? ? ? ? stackop.top--; ? ? ? ? ? ? } ? ? ? ? ? ? stackop.top--; ? ? ? ? } ? ? ? ? else if(stackop.top!=-1&&GetLevel(str[i])<= ? ? ? ? ? ? ? ? GetLevel(stackop.op[stackop.top])) ? ? ? ? { ? ? ? ? ? ? while(stackop.top!=-1&&GetLevel(str[i])<= ? ? ? ? ? ? ? ? ? ? GetLevel(stackop.op[stackop.top])) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? rpn[cnt++]=stackop.op[stackop.top]; ? ? ? ? ? ? ? ? stackop.top--; ? ? ? ? ? ? } ? ? ? ? ? ? stackop.op[++stackop.top]=str[i]; ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? stackop.op[++stackop.top]=str[i]; ? ? ? ? } ? ? } ? ? if(isnum) ? ? ? ? rpn[cnt++]='#'; ? ? while(stackop.top!=-1) ? ? { ? ? ? ? rpn[cnt++]=stackop.op[stackop.top]; ? ? ? ? stackop.top--; ? ? } ? ? rpn[cnt]='\0'; } int GetAns(char *rpn,double *result) { ? ? int len=strlen(rpn),i; ? ? double fnum; ? ? int num,cnt; ? ? stacknum.top=-1; ? ? for(i=0; i<len; i++) ? ? { ? ? ? ? if(rpn[i]>='0'&&rpn[i]<='9') ? ? ? ? { ? ? ? ? ? ? num=cnt=0; ? ? ? ? ? ? fnum=0; ? ? ? ? ? ? while(rpn[i]!='#'&&rpn[i]!='.') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? num=num*10+rpn[i]-'0'; ? ? ? ? ? ? ? ? i++; ? ? ? ? ? ? } ? ? ? ? ? ? ? if(rpn[i]=='.') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? i++; ? ? ? ? ? ? ? ? while(rpn[i]!='#') ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? fnum=fnum+(rpn[i]-'0')*1.0/pow(10,++cnt); ? ? ? ? ? ? ? ? ? ? i++; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? ? ? fnum+=num; ? ? ? ? ? ? stacknum.num[++stacknum.top]=fnum; ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? double a,b,c; ? ? ? ? ? ? b=stacknum.num[stacknum.top]; ? ? ? ? ? ? stacknum.top--; ? ? ? ? ? ? a=stacknum.num[stacknum.top]; ? ? ? ? ? ? stacknum.top--; ? ? ? ? ? ? if(Calculate(a,b,rpn[i],&c)==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? //計(jì)算失敗 ? ? ? ? ? ? ? ? return 0; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? stacknum.num[++stacknum.top]=c; ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? *result=stacknum.num[stacknum.top]; ? ? return 1; } int kuohao(char *str)//判斷圓括號(hào)輸入是否正確 { ?? ?int i,len=strlen(str); ?? ?int count=0; ?? ?for(i=0;i<len;i++) ?? ?{ ?? ??? ?if(str[i]=='(') ?? ??? ?count++; ?? ??? ?if(str[i]==')') ?? ??? ?count--; ?? ?} ?? ?if(count!=0) ?? ?{ ?? ??? ?Beep(5000, 300); ?? ??? ?SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED); ?? ??? ?printf("\n括號(hào)輸入有錯(cuò)誤\n"); ?? ??? ?SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN); ?? ??? ?return 0; ?? ?} ?? ?else ?? ?printf("\n括號(hào)匹配正確\n"); ?? ?return 1; } int yunsunfu(char *str) { ?? ?int i,len=strlen(str),k; ?? ?printf("\n判斷括號(hào)匹配輸入是否正確:\n"); ?? ?k=kuohao(str); ?? ?if(k==0) ?? ?return 0; ?? ?printf("\n判斷多項(xiàng)式運(yùn)算符輸入是否正確:\n"); ?? ?for(i=0;i<len;i++) ?? ?{ ?? ??? ?if(str[i]=='+'||str[i]=='-'||str[i]=='*'||str[i]=='/') ?? ??? ?{ ?? ??? ??? ?if(str[i+1]=='('||(str[i+1]>='0'&&str[i+1]<='9')) ?? ??? ??? ?continue; ?? ??? ??? ?else ?? ??? ??? ?{ ?? ??? ??? ??? ?Beep(5000, 300); ?? ??? ??? ??? ?SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED); ?? ??? ??? ??? ?printf("\n多項(xiàng)式輸入有錯(cuò)誤\n"); ?? ??? ??? ??? ?SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN); ?? ??? ??? ??? ?return 0; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?printf("\n多項(xiàng)式輸入正確\n"); ?? ?return 1; } ? ? int main() { ? ? HANDLE hOut; ? ? // ?獲取輸出流的句柄 ? ? hOut = GetStdHandle(STD_OUTPUT_HANDLE); ? ? SetConsoleTextAttribute(hOut, ? ? ? ? ? ? ? ? ? ? ? ? ? ? FOREGROUND_RED | ?// 前景色_紅色 ? ? ? ? ? ? ? ? ? ? ? ? ? ? FOREGROUND_BLUE | // 前景色_藍(lán)色 ? ? ? ? ? ? ? ? ? ? ? ? ? ? FOREGROUND_INTENSITY);// 加強(qiáng) ? ? print1(); ? ? system("pause"); ? ? system("cls"); ? ? char str[MaxSize],rpn[MaxSize],ch; ? ? double bNumber, Number, Result,result; //給加減乘除定義的變量 ? ? double a, b, c,x, x1, x2, Rad; ?//一元二次方程定義變量 ? ? int Ary_10,n; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//定義進(jìn)制的變量 ? ? char string[32]; ? ? ? ? ? ? ? ?//二進(jìn)制變量定義 ? ? while(1) ? ? { ? ? ? ? switch(menu()) ? ? ? ? { ? ? ? ? case 1: ? ? ? ? ? ? printf ("請(qǐng)輸入被加數(shù):"); ? ? ? ? ? ? scanf ("%lf",&bNumber); ? ? ? ? ? ? printf("請(qǐng)輸入加數(shù):"); ? ? ? ? ? ? scanf("%lf",&Number); ? ? ? ? ? ? Result = bNumber + Number; ? ? ? ? ? ? printf (" 結(jié)果是: %.2lf\n\n",Result); ? ? ? ? ? ? if(scanf("%c*%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? ? case 2: ? ? ? ? ? ? printf (" ? ? ? ?請(qǐng)輸入被減數(shù):"); ? ? ? ? ? ? scanf ("%lf",&bNumber); ? ? ? ? ? ? printf (" ? ? ? ?請(qǐng)輸入減數(shù):"); ? ? ? ? ? ? scanf ("%lf",&Number); ? ? ? ? ? ? Result = bNumber - Number; ? ? ? ? ? ? printf (" 結(jié)果是: %.2lf\n\n",Result); ? ? ? ? ? ? if(scanf("%c*%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? ? case 3: ? ? ? ? ? ? printf (" ? ? ? ?請(qǐng)輸入被乘數(shù):"); ? ? ? ? ? ? scanf ("%lf",&bNumber); ? ? ? ? ? ? printf (" ? ? ? ?請(qǐng)輸入乘數(shù):"); ? ? ? ? ? ? scanf ("%lf",&Number); ? ? ? ? ? ? Result = bNumber * Number; ? ? ? ? ? ? printf (" 結(jié)果是: %.2lf\n",Result); ? ? ? ? ? ? if(scanf("%c*%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? case 4: ? ? ? ? ? ? printf (" ? ? ? ?請(qǐng)輸入被除數(shù):"); ? ? ? ? ? ? scanf ("%lf",&bNumber); ? ? ? ? ? ? printf (" ? ? ? ?請(qǐng)輸入除數(shù):"); ? ? ? ? ? ? scanf ("%lf",&Number); ? ? ? ? ? ? if(Number==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); ?// 獲取控制臺(tái)句柄 ? ? SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_RED); // 紅色提示 ? ? ? ? ? ? ? ? printf("除數(shù)不可以為零\n"); ? ? ? ? ? ? ? ? ?if(scanf("%c*%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? Result = bNumber / Number; ? ? ? ? ? ? printf (" 結(jié)果是: %.2lf\n\n",Result); ? ? ? ? ? ? if(scanf("%c*%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break;} ? ? ? ? case 8: ? ? ? ? { ? ? ? ? ? ? int k; ? ? ? ? ? ? printf("輸入所要經(jīng)計(jì)算的表達(dá)式(如:a*b/(c-d))\n"); ? ? ? ? ? ? gets(str); ? ? ? ? ? ? if(gets(str)!=NULL) ? ? ? ? ? ? { ? ? ? ? ? ? k=yunsunfu(str); ? ? ? ? ? ? if(k!=0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? GetRpn(str,rpn); ? ? ? ? ? ? ? ? printf("其后綴表達(dá)式:%s\n",rpn); ? ? ? ? ? ? ? ? GetAns(rpn,&result); ? ? ? ? ? ? ? ? printf("表達(dá)式結(jié)果:%.2f\n",result); ? ? ? ? ? ? ? ? if(scanf("%c",&ch)=='\0'); ? ? ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? case 10: ? ? ? ? ? ? { ? ? ? ? ? ? ? ? int k; ? ? ? ? ? ? printf("請(qǐng)輸入需要轉(zhuǎn)換的表達(dá)式并以回車結(jié)束:\n"); ? ? ? ? ? ? gets(str); ? ? ? ? ? ? if(gets(str)!=NULL) ? ? ? ? ? ? { ? ? ? ? ? ? k=yunsunfu(str); ? ? ? ? ? ? if(k!=0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? GetRpn(str,rpn); ? ? ? ? ? ? ? ? printf("其后綴表達(dá)式:%s\n",rpn); ? ? ? ? ? ? ? ? if(scanf("%c",&ch)=='\0'); ? ? ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? ?if(scanf("%c",&ch)=='\0'); ? ? ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? ? ? printf("表達(dá)式為空,請(qǐng)核證后在輸入.\n"); ? ? ? ? ? ? } ? ? ? ? case 9: ? ? ? ? { ? ? ? ? ? ? printf("請(qǐng)輸入一元一次方程的a,b,c三個(gè)數(shù):"); ? ? ? ? ? ? scanf("%lf%lf%lf",&a,&b,&c); ? ? ? ? ? ? getchar(); ? ? ? ? ? ? Rad = b*b - 4*a*c; ? ? ? ? ? ? if (Rad > 0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? x1 = -b + sqrt(Rad) / (2*a); ? ? ? ? ? ? ? ? x2 = -b - sqrt(Rad) / (2*a); ? ? ? ? ? ? ? ? printf("有兩個(gè)解 x1 = %.2lf, x2 = %.2lf\n",x1,x2); ? ? ? ? ? ? } ? ? ? ? ? ? else if (Rad == 0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? x1 = -b / (2*a); ? ? ? ? ? ? ? ? printf("只有一個(gè)解 x1 = %.2lf\n",x1); ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("無解\n"); ? ? ? ? ? ? } ? ? ? ? ? ? if(scanf("%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? } ? ? ? ? case 7: ? ? ? ? ? ? printf("請(qǐng)輸入需要轉(zhuǎn)換的十進(jìn)制數(shù):"); ? ? ? ? ? ? scanf("%d", &Ary_10); ? ? ? ? ? ? getchar(); ? ? ? ? ? ? itoa (Ary_10, string ,2); ? ? ? ? ? ? printf("二進(jìn)制: %s\n",string); ? ? ? ? ? ? printf("八進(jìn)制: %o\n",Ary_10); ? ? ? ? ? ? printf("十六進(jìn)制: %x\n",Ary_10); ? ? ? ? ? ? if(scanf("%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? case 5: ? ? ? ? ? ? printf("請(qǐng)輸入要開平方根的數(shù)X:\n"); ? ? ? ? ? ? scanf("%lf",&x); ? ? ? ? ? ? getchar(); ? ? ? ? ? ? result=sqrt(x); ? ? ? ? ? ? printf("%.2lf開根后的結(jié)果:%.2lf",x,result); ? ? ? ? ? ? if(scanf("%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? case 6: ? ? ? ? ? ? printf("請(qǐng)輸入你要求冪的數(shù)X和指數(shù)n:"); ? ? ? ? ? ? scanf("%lf%d",&x,&n); ? ? ? ? ? ? ? ? ? ? ? ?getchar(); ? ? ? ? ? ? result=pow(x,n); ? ? ? ? ? ? printf("%.2lf的%d次冪為%.2lf",x,n,result); ? ? ? ? ? ? if(scanf("%c",&ch)=='\0'); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? break; ? ? ? ? case 0: ? ? ? ? ? ? print2(); ? ? ? ? ? ? return 0; ? ? ? ? } ? ? } ? ? return 0; } int menu() { ? ? int v; ? ? HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); ?// 獲取控制臺(tái)句柄 ? ? SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);// 設(shè)置為黃色 ? ? printf("\n"); ? ? printf ("┏ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┓\n"); ? ? printf ("┇請(qǐng)選擇你要計(jì)算的方法: ? ? ? ? ? ? ? ? ? ? ? ? ┇\n"); ? ? printf ("┣ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┫\n"); ? ? printf ("┇ ?加法請(qǐng)按_1 ? ?進(jìn)制轉(zhuǎn)換_7 ? ? ? ? ? ? ? ? ? ?┇\n"); ? ? printf ("┇ ?減法請(qǐng)按_2 ? ?表達(dá)式求值請(qǐng)按_8 ? ? ? ? ? ? ?┇\n"); ? ? printf ("┇ ?乘法請(qǐng)按_3 ? ?求一元二次方程_9 ? ? ? ? ? ? ?┇\n"); ? ? printf ("┇ ?除法請(qǐng)按_4 ? ?中綴表達(dá)式轉(zhuǎn)化為后綴表達(dá)式_ 10┇\n"); ? ? printf ("┇ ?求平方根_ 5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ┇\n"); ? ? printf ("┇ ?求數(shù)的N次冪_6 ? ? ? ? ? ?退出_0 ? ? ? ? ? ? ┇\n"); ? ? printf ("┗ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┛\n"); ? ? printf ("Please write down the number:"); ? ? ? do ? ? { ? ? ? ? printf("請(qǐng)選擇(0-10)\n"); ? ? ? ? scanf("%d",&v); ? ? } ? ? while(v<0||v>10); ? ? return v; } void print1() { ? ? ? printf("|_______________________________________ | ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | | ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|| ? ? ? ?歡迎使用功能計(jì)算器 ? ? ? ? ? | | ? ? ? ? 本計(jì)算器能夠進(jìn)行 ? \n"); ? ? printf("||_____________________________________| | ? ? ?+,-,×,÷,\n"); ? ? printf("|| ? ? ? ? ? ? ? ? ? ?圖案僅供參考 ? ? | | ? ? ? ()等等 ? ? ? ? ? ? \n"); ? ? printf("||_____________________________________| | ? ? ? ? ? ? ?\n"); ? ? printf("| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? \n"); ? ? printf("|___ ?___ ?___ ?___ ?___ ?___ ?___ ?___ ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|________ ?________ ?________ ?________ ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|| ?⑨ ?| ?| ?⑧ ?| ?| ?⑦ ?| ?| ?× ?| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("||______| ?|______| ?|______| ?|______| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|________ ?________ ?________ ?________ ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|| ?⑥ ?| ?| ?⑤ ?| ?| ?④ ?| ?| ?- ?| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("||______| ?|______| ?|______| ?|______| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("| _______ ?________ ?________ ?________ ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|| ?③ ?| ?| ?② ?| ?| ?① ?| ?| ?+ ?| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("||______| ?|______| ?|______| ?|______| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|________ ?________ ?________ ?________ ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|| ?〇 ?| ?| ?= ?| ?| ?AC ?| ?| ?÷ ?| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("||______| ?|______| ?|______| ?|______| ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? printf("|| ? ? ?版權(quán)所有,翻版必究 ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? } void print2() { ? ? system("cls"); ? ? HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); ?// 獲取控制臺(tái)句柄 ? ? SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_BLUE); // 設(shè)置為藍(lán)色 ? ? printf("\n\n\n\n\n\n\n\n\t\t\t ##############################\n"); ? ? printf("\t\t\t # ? ? ? ? ? ? ? ? ? ? ? ? ? ?#\n"); ? ? printf("\t\t\t #----------謝謝使用----------#\n"); ? ? printf("\t\t\t # ? ? ? ? ? ? ? ? ? ? ? ? ? ?#\n"); ? ? printf("\t\t\t ##############################\n"); ? ? printf("\t\t\t ? ? ? ? ? ? ? ? ? ? ?--小李子制作\n ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "); }
原文鏈接:https://blog.csdn.net/wuliowen/article/details/51308042
相關(guān)推薦
- 2024-04-03 objectMapper(字符串轉(zhuǎn)對(duì)象)
- 2022-12-19 Android硬件解碼組件MediaCodec使用教程_Android
- 2022-11-20 C#設(shè)計(jì)模式之裝飾器模式實(shí)例詳解_C#教程
- 2022-03-08 android?studio組件通信:Intend啟動(dòng)Activity接收返回結(jié)果_Android
- 2022-04-23 Python中ini配置文件讀寫的實(shí)現(xiàn)_python
- 2023-01-07 Flutter?Widget開發(fā)Shortcuts快捷鍵實(shí)例_Android
- 2022-04-18 修改taro-ui的樣式,在自定義組件中使用taro-ui,修改ui框架樣式
- 2022-07-29 Linux文件系統(tǒng)介紹_linux shell
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支