引言
在大學(xué)期間,C 語(yǔ)言或者數(shù)據(jù)結(jié)構(gòu)等課程,老師會(huì)要求學(xué)生編寫(xiě)一個(gè)小項(xiàng)目練手,或者期末編寫(xiě)一個(gè)小軟件等課程設(shè)計(jì)。今天在電腦看到大一學(xué)C語(yǔ)言時(shí),實(shí)驗(yàn)課上寫(xiě)的計(jì)算器
功能,挺有意思。所以在此分享給學(xué)C語(yǔ)言的學(xué)弟學(xué)妹,記得收藏保留!
計(jì)算器
簡(jiǎn)單版本計(jì)算器,主要實(shí)現(xiàn)的是簡(jiǎn)單兩個(gè)數(shù)的加法
,減法
,乘法
,除法
,求余
功能。用戶可以在主菜單選擇需要計(jì)算的功能,然后根據(jù)用戶輸入的數(shù)字,進(jìn)行計(jì)算,輸出結(jié)果。
首先,我們定義五個(gè)方法,實(shí)現(xiàn)兩個(gè)數(shù)的加法
,減法
,乘法
,除法
,求余
功能。代碼如下:
// 加法 float add(float a, float b) { return a + b; } // 減法 float sub(float a, float b) { return a - b; } // 乘法 float mul(float a, float b) { return a * b; } // 除法 float mod(float a, float b) { return a / b; } // 求余 int com(int a, int b) { return a % b; }
然后定義一個(gè)打印主菜單界面的函數(shù),使用簡(jiǎn)介美觀的菜單界面,供用戶選擇要計(jì)算的功能,代碼如下:
// 打印主功能菜單 void printMenu() { // 清屏 // system("cls"); printf("|----------------------- 計(jì)算器 -----------------------| "); printf("| | "); printf("| By -- 陳皮的JavaLib | "); printf("| | "); printf("|---------------------- 1:加法 -----------------------| "); printf("|---------------------- 2:減法 -----------------------| "); printf("|---------------------- 3:乘法 -----------------------| "); printf("|---------------------- 4:除法 -----------------------| "); printf("|---------------------- 5:求余 -----------------------| "); printf("|---------------------- 6:退出 -----------------------| "); printf("| | "); printf("|----------------------- 計(jì)算器 -----------------------| "); }
最后,我們?cè)谥骱瘮?shù) main 中,定義一個(gè) while 循環(huán)代碼塊,不斷讀取用戶輸入的內(nèi)容,進(jìn)行數(shù)字計(jì)算,代碼如下:
int main() { // 選擇的功能 int select = 0; // 定義算術(shù)的兩個(gè)數(shù) float a, b; while (select != 6){ select = 0; // 打印主菜單 printMenu(); // 只允許選擇菜單欄內(nèi)的數(shù)字,不是則重新選擇 while (select < 1 || select > 6) { printf("請(qǐng)輸入菜單功能(1-6):"); scanf("%d", &select); } if (6 == select) { printf(" |----------------- 歡迎使用計(jì)算器!再見(jiàn)!-----------------| "); return 0; } printf(" 請(qǐng)輸入兩個(gè)數(shù)(用空格隔開(kāi)兩個(gè)數(shù)):"); scanf("%f %f", &a, &b); switch (select) { case 1: printf("%f+%f=%f ", a, b, add(a, b)); break; case 2: printf("%f-%f=%f ", a, b, sub(a, b)); break; case 3: printf("%f*%f=%f ", a, b, mul(a, b)); break; case 4: printf("%f/%f=%f ", a, b, mod(a, b)); break; case 5: printf("%f/%f=%d ", a, b, com((int)a, (int)b)); break; case 6: default: break; } } }
下面我們演示幾個(gè)例子,能更加直觀體驗(yàn)計(jì)算器的功能:
菜單功能選擇錯(cuò)誤,會(huì)提示重新選擇
加法
除法
退出
簡(jiǎn)單版本計(jì)算器,完整代碼如下:
#include <stdio.h> #include <stdlib.h> // 加法 float add(float a, float b) { return a + b; } // 減法 float sub(float a, float b) { return a - b; } // 乘法 float mul(float a, float b) { return a * b; } // 除法 float mod(float a, float b) { return a / b; } // 求余 int com(int a, int b) { return a % b; } // 打印主功能菜單 void printMenu() { // 清屏 // system("cls"); printf("|----------------------- 計(jì)算器 -----------------------| "); printf("| | "); printf("| By -- 陳皮的JavaLib | "); printf("| | "); printf("|---------------------- 1:加法 -----------------------| "); printf("|---------------------- 2:減法 -----------------------| "); printf("|---------------------- 3:乘法 -----------------------| "); printf("|---------------------- 4:除法 -----------------------| "); printf("|---------------------- 5:求余 -----------------------| "); printf("|---------------------- 6:退出 -----------------------| "); printf("| | "); printf("|----------------------- 計(jì)算器 -----------------------| "); } /** * 簡(jiǎn)單版本計(jì)算器功能 By -- 陳皮的JavaLib * @return */ int main() { // 選擇的功能 int select = 0; // 定義算術(shù)的兩個(gè)數(shù) float a, b; while (select != 6){ select = 0; // 打印主菜單 printMenu(); // 只允許選擇菜單欄內(nèi)的數(shù)字,不是則重新選擇 while (select < 1 || select > 6) { printf("請(qǐng)輸入菜單功能(1-6):"); scanf("%d", &select); } if (6 == select) { printf(" |----------------- 歡迎使用計(jì)算器!再見(jiàn)!-----------------| "); return 0; } printf(" 請(qǐng)輸入兩個(gè)數(shù)(用空格隔開(kāi)兩個(gè)數(shù)):"); scanf("%f %f", &a, &b); switch (select) { case 1: printf("%f+%f=%f ", a, b, add(a, b)); break; case 2: printf("%f-%f=%f ", a, b, sub(a, b)); break; case 3: printf("%f*%f=%f ", a, b, mul(a, b)); break; case 4: printf("%f/%f=%f ", a, b, mod(a, b)); break; case 5: printf("%f/%f=%d ", a, b, com((int)a, (int)b)); break; case 6: default: break; } } }
總結(jié)
在大學(xué)期間,如果是計(jì)算機(jī)類的專業(yè),一般都會(huì)學(xué)習(xí) C 語(yǔ)言,作為編程入門(mén)語(yǔ)言,大家一定要學(xué)習(xí)好此門(mén)語(yǔ)言,而且如果學(xué)好了,其實(shí)學(xué)習(xí)其他編程語(yǔ)言就很容器上手的,不同語(yǔ)言其實(shí)大同小異,只要你編程思維提升了,基礎(chǔ)語(yǔ)法掌握了,才能學(xué)習(xí)更加深入的知識(shí)。其中一個(gè)路徑是要多敲代碼,從基礎(chǔ)代碼到經(jīng)典題型,不斷鍛煉編程思維和敲代碼能力。
以上是演示簡(jiǎn)單版本計(jì)算器,實(shí)現(xiàn)了加法
,減法
,乘法
,除法
,求余
功能之外,用戶可以在主菜單選擇需要計(jì)算的功能,然后根據(jù)用戶輸入的數(shù)字,進(jìn)行計(jì)算,輸出結(jié)果。感興趣的同學(xué),可以實(shí)現(xiàn)更加高級(jí)的玩法,例如支持括號(hào),多項(xiàng)式加減乘除等。
以上就是C 語(yǔ)言編寫(xiě)一個(gè)計(jì)算器界面(可視化界面和多功能)的詳細(xì)內(nèi)容,更多關(guān)于C 語(yǔ)言可視化計(jì)算器的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!
原文鏈接:https://blog.csdn.net/chenlixiao007/article/details/117392882