劉開(kāi)元
摘要:計(jì)算器在工作和生活中最常用、也是重要的計(jì)算工具,而設(shè)計(jì)計(jì)算器的功能與實(shí)現(xiàn)算法是計(jì)算器設(shè)計(jì)的核心。本文在分析簡(jiǎn)易計(jì)算器的功能和設(shè)計(jì)思路的基礎(chǔ)上,使用高級(jí)編程語(yǔ)言C#在VS2013環(huán)境中編程,實(shí)現(xiàn)了對(duì)簡(jiǎn)易計(jì)算器程序的開(kāi)發(fā)與設(shè)計(jì)。
關(guān)鍵詞:C#程序設(shè)計(jì);簡(jiǎn)易計(jì)算器;計(jì)算機(jī)編程
中圖分類(lèi)號(hào):TP311.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)02-0164-02
計(jì)算器的種類(lèi)很多,而且功能也各不相同。其中普通計(jì)算器僅可以實(shí)現(xiàn)四則運(yùn)算;科學(xué)型計(jì)算器可進(jìn)行乘方、開(kāi)方、指數(shù)、對(duì)數(shù)、三角函數(shù)、統(tǒng)計(jì)等方面的運(yùn)算,又稱(chēng)函數(shù)計(jì)算器;程序計(jì)算器可以編程序,把較復(fù)雜的運(yùn)算步驟貯存起來(lái),進(jìn)行多次重復(fù)的運(yùn)算等等。盡管這些計(jì)算器功能差異很大,但是都具有下面的共同點(diǎn):從按鍵輸入數(shù)值和運(yùn)算符號(hào),到顯示輸入結(jié)果,再到程序后臺(tái)的運(yùn)算,最終顯示運(yùn)算結(jié)果。因此本文設(shè)計(jì)了最簡(jiǎn)單的四則運(yùn)算計(jì)算器,使用C#編程語(yǔ)言來(lái)實(shí)現(xiàn)計(jì)算器的設(shè)計(jì)流程。
1 C#的開(kāi)發(fā)環(huán)境
Microsoft Visual C#是美國(guó)微軟公司專(zhuān)門(mén)為與.NET框架一起使用而設(shè)計(jì)的高級(jí)程序設(shè)計(jì)語(yǔ)言,具有穩(wěn)定運(yùn)行、功能強(qiáng)大、編程語(yǔ)法簡(jiǎn)單等優(yōu)點(diǎn),是典型的面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語(yǔ)言。C#編程語(yǔ)言是在C和C++編程語(yǔ)言的基礎(chǔ)上對(duì)很多函數(shù)進(jìn)行封裝,衍生的高級(jí)程序設(shè)計(jì)語(yǔ)言,相對(duì)于C語(yǔ)言和C++語(yǔ)言,他更容易學(xué)習(xí)和使用,尤其是在編寫(xiě)界面程序方面。
2 計(jì)算器的功能設(shè)計(jì)
計(jì)算器主要實(shí)現(xiàn)數(shù)據(jù)輸入、數(shù)據(jù)顯示、數(shù)據(jù)計(jì)算以及結(jié)算結(jié)果的顯示等功能。其功能特點(diǎn)[1]:(1)簡(jiǎn)潔直觀的可操作界面;(2)實(shí)現(xiàn)帶小數(shù)點(diǎn)的輸入數(shù)字四則運(yùn)算和清零功能;(3)可以實(shí)現(xiàn)輸入數(shù)據(jù)的刪除功能;(4)可以實(shí)現(xiàn)計(jì)算結(jié)果的清零功能,以便于重新開(kāi)始計(jì)算。
3 程序設(shè)計(jì)
3.1 設(shè)計(jì)思路
在使用計(jì)算器時(shí),一般有以下操作:輸入第一操作數(shù),輸入加減乘除運(yùn)算符,再輸入第二個(gè)操作數(shù),然年按“=”按鍵執(zhí)行按鍵并顯示結(jié)果[2]。操作步驟,程序流程圖如圖1所示。
3.2 界面設(shè)計(jì)
計(jì)算器界面主要分為顯示部分和操作按鍵,其中操作按鍵包括0-9的數(shù)字、小數(shù)點(diǎn)、加減乘除四個(gè)運(yùn)算符,刪除按鍵、等號(hào)和清零按鍵。在C#編程環(huán)境中,使用TextBox控件作為顯示部分,使用Button控件作為數(shù)字、小數(shù)點(diǎn)、四則運(yùn)算符號(hào)等按鍵輸入,并將其Content改為相應(yīng)的內(nèi)容,便于在操作時(shí)容易識(shí)別。界面設(shè)計(jì)遵從簡(jiǎn)單、工整、直觀、便于操作的原則,設(shè)計(jì)完成后的界面運(yùn)行畫(huà)面如圖2所示。
3.3 程序設(shè)計(jì)
(1)變量定義。由于在計(jì)算器顯示輸入的兩個(gè)字符串和運(yùn)算符號(hào)時(shí),顯示控件TextBox顯示的內(nèi)容是一個(gè)string字符串,而計(jì)算機(jī)執(zhí)行程序時(shí),要將這兩個(gè)操作數(shù)分開(kāi)處理。所以在輸入運(yùn)算符號(hào)時(shí),需要將第一個(gè)操作數(shù)用一個(gè)變量保存起來(lái),并且此時(shí)要用一個(gè)變量的不同值代表不同的運(yùn)算符號(hào)[3]。本程序設(shè)計(jì)如下幾個(gè)變量:
(3)清零功能。清零將實(shí)現(xiàn)清除輸入所有的數(shù)值、運(yùn)算結(jié)果,并將所有的中間變量清零,如符號(hào)輸入狀態(tài)“sw=0”等操作。
(4)計(jì)算功能的實(shí)現(xiàn)。當(dāng)按下“=”按鍵時(shí),程序執(zhí)行變量運(yùn)算,并將結(jié)果顯示到界面上。本文使用if…else語(yǔ)句實(shí)現(xiàn),本文設(shè)計(jì)的計(jì)算器,在計(jì)算結(jié)果顯示后,自動(dòng)將顯示的數(shù)值當(dāng)做下一次操作的第一個(gè)運(yùn)算數(shù)。具體代碼如下:
本設(shè)計(jì)是簡(jiǎn)易計(jì)算器的四則運(yùn)算程序流程 ,并在此基礎(chǔ)上使用C#高級(jí)編程語(yǔ)言實(shí)現(xiàn)了程序設(shè)計(jì)。這對(duì)剛?cè)腴T(mén)學(xué)習(xí)C#編程語(yǔ)言有一定的借鑒意義。編程過(guò)程出現(xiàn)bug需要一次次的修復(fù),需要設(shè)計(jì)者有一定的耐心,而且編程對(duì)邏輯思維要求很高,并需要學(xué)生具有良好的數(shù)理功底,未來(lái)我想從事軟件開(kāi)發(fā)設(shè)計(jì)工作,用我的所學(xué)和所知設(shè)計(jì)出好用的軟件。
參考文獻(xiàn)
[1]陳鐘.C#程序設(shè)計(jì)與開(kāi)發(fā)[Ml.北京:清華大學(xué)出版社,2003.
[2]杜少杰,王文紅.C#程序設(shè)計(jì)案例教程[M].北京理工大學(xué)出版社,2014.
[3]肖孜涵.簡(jiǎn)易計(jì)算器的設(shè)計(jì)及實(shí)現(xiàn)[J].科技創(chuàng)新與應(yīng)用,2017,(04):25-26.