C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能(1)
本文為大家分享了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能的具體方法,供大家參考,具體內(nèi)容如下
這幾天一直上控制語(yǔ)句,在學(xué)完if、switch和循環(huán)語(yǔ)句后,為了鞏固所學(xué)知識(shí)點(diǎn),想給學(xué)生出一道簡(jiǎn)單的計(jì)算器程序。題目如下:
通過(guò)所學(xué)的知識(shí)(選擇語(yǔ)句、循環(huán)語(yǔ)句)完成一個(gè)簡(jiǎn)單的計(jì)算器編程,要求不許抄襲,只能用自己所學(xué)的知識(shí)點(diǎn),不可引用網(wǎng)上自己的不懂的程序。
要求的格式如下圖:

要求以這樣的一種格式進(jìn)行輸出,并能通過(guò)選擇完成不同的功能。
如:選擇1,完成整數(shù)相加功能,算完后又能回到該頁(yè)面。
經(jīng)過(guò)分析,我簡(jiǎn)單的寫了一段代碼,代碼如下:
#include <stdio.h>
void main()
{
while(1) // while循環(huán)操作,實(shí)現(xiàn)計(jì)算機(jī)功能提示
{
int a = 0;
int x = 0;
int y = 0;
int result = 0;
printf("****歡迎使用計(jì)算器****\n");
printf("[1] 完成兩個(gè)整數(shù)相加\n");
printf("[2] 完成兩個(gè)整數(shù)相減\n");
printf("[3] 完成兩個(gè)整數(shù)相乘\n");
printf("[4] 完成兩個(gè)整數(shù)取整\n");
printf("[5] 完成兩個(gè)整數(shù)取余\n");
printf("[0] 退出計(jì)算器系統(tǒng)\n");
printf("請(qǐng)選擇:");
scanf("%d",&a);
if(a < 0 || a > 5) // 判斷輸入的是否在0~5范圍內(nèi),不在輸出錯(cuò)誤提示
{
printf("選擇有誤,請(qǐng)重新選擇!\n");
continue;
}
else
if(0 == a) // 當(dāng)輸入為0時(shí)需要退出系統(tǒng)
{
printf("歡迎下次使用!\n");
break;
}
switch(a) // 使用switch語(yǔ)句進(jìn)行對(duì)每個(gè)功能的具體操作
{
case 1: // 加法操作
printf("請(qǐng)輸入兩個(gè)整數(shù):");
scanf("%d%d",&x,&y);
result = x+y;
printf("結(jié)果為:%d\n",result);
break;
case 2: // 減法操作
printf("請(qǐng)輸入兩個(gè)整數(shù):");
scanf("%d%d",&x,&y);
result = x-y;
printf("結(jié)果為:%d\n",result);
break;
case 3: // 乘法操作
printf("請(qǐng)輸入兩個(gè)整數(shù):");
scanf("%d%d",&x,&y);
result = x*y;
printf("結(jié)果為:%d\n",result);
break;
case 4: // 取整操作
printf("請(qǐng)輸入兩個(gè)整數(shù):");
scanf("%d%d",&x,&y);
result = x/y;
printf("結(jié)果為:%d\n",result);
break;
case 5: // 取余操作
printf("請(qǐng)輸入兩個(gè)整數(shù):");
scanf("%d%d",&x,&y);
result = x%y;
printf("結(jié)果為:%d\n",result);
break;
default:
break;
}
}
}
這樣就能簡(jiǎn)單完成一個(gè)兩個(gè)整數(shù)的計(jì)算器功能。
要注意,其中循環(huán)的使用、switch語(yǔ)句的使用和if語(yǔ)句使用。
運(yùn)行結(jié)果如下:

選擇1時(shí)完成了加法操作,然后又回到了主界面。
當(dāng)輸入0時(shí),系統(tǒng)退出,如圖:

圖中可以看到系統(tǒng)推出!
其實(shí)方法不唯一,大家可以嘗試用其他的方式實(shí)現(xiàn),鞏固自己所學(xué)的知識(shí)點(diǎn)。
關(guān)于計(jì)算器的精彩文章請(qǐng)查看《計(jì)算器專題》 ,更多精彩等你來(lái)發(fā)現(xiàn)!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++簡(jiǎn)易通訊錄系統(tǒng)實(shí)現(xiàn)流程詳解
這篇文章主要為大家介紹了C語(yǔ)言簡(jiǎn)易版通訊錄的具體實(shí)現(xiàn)流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
C語(yǔ)言+shell實(shí)現(xiàn)linux網(wǎng)卡狀態(tài)檢測(cè)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言+shell實(shí)現(xiàn)linux網(wǎng)卡狀態(tài)檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
opencv3/C++實(shí)現(xiàn)光流點(diǎn)追蹤
今天小編就為大家分享一篇opencv3/C++實(shí)現(xiàn)光流點(diǎn)追蹤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Qt中集成并使用SQLite數(shù)據(jù)庫(kù)的超完整指南
這篇文章主要介紹了Qt中集成并使用SQLite數(shù)據(jù)庫(kù)的相關(guān)資料,包括環(huán)境配置、連接數(shù)據(jù)庫(kù)、執(zhí)行SQL操作、事務(wù)處理、使用模型-視圖編程、錯(cuò)誤處理、高級(jí)技巧與注意事項(xiàng)以及常見問(wèn)題解答,需要的朋友可以參考下2025-04-04
C++實(shí)戰(zhàn)之二進(jìn)制數(shù)據(jù)處理與封裝
在電腦上一切數(shù)據(jù)都是通過(guò)二進(jìn)制(0或1)進(jìn)行存儲(chǔ)的,通過(guò)多位二進(jìn)制數(shù)據(jù)可以進(jìn)而表示整形、浮點(diǎn)型、字符、字符串等各種基礎(chǔ)類型數(shù)據(jù)或者一些更復(fù)雜的數(shù)據(jù)格式。本文將為大家詳細(xì)講講二進(jìn)制數(shù)據(jù)處理與封裝,需要的可以參考一下2022-08-08
Vscode配置C/C++環(huán)境使用minGW(保姆級(jí)配置過(guò)程)
本文主要介紹了Vscode配置C/C++環(huán)境使用minGW(保姆級(jí)配置過(guò)程),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C++通過(guò)msxml調(diào)用webservice示例分享
這篇文章主要介紹了C++通過(guò)msxml調(diào)用webservice示例分享,需要的朋友可以參考下2014-03-03
Matlab利用隨機(jī)森林(RF)算法實(shí)現(xiàn)回歸預(yù)測(cè)詳解
這篇文章主要為大家詳細(xì)介紹了Matlab如何利用隨機(jī)森林(RF)算法實(shí)現(xiàn)回歸預(yù)測(cè),以及自變量重要性排序的操作,感興趣的小伙伴可以了解一下2023-02-02

