日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

C語言實(shí)現(xiàn)簡易計(jì)算器功能_C 語言

作者:owen-li ? 更新時(shí)間: 2022-04-09 編程語言

本文實(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

欄目分類
最近更新