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