肖孜涵
摘 要:隨著社會經(jīng)濟的發(fā)展,計算器在日常生活中扮演著越來越重要的角色,成為人們學(xué)習(xí)和工作不可或缺的工具,計算器的設(shè)計無論在何時都有著很大的實際意義。文章在分析簡易計算器的主要功能和設(shè)計思路的基礎(chǔ)上,使用C#語言對計算器進行了具體的程序開發(fā)與實現(xiàn)。
關(guān)鍵詞:C#;計算器;程序設(shè)計
引言
計算器作為必備的辦公工具,滲透在人們?nèi)粘I畹拿總€角落,特別是隨著社會經(jīng)濟的發(fā)展,人們需要處理的數(shù)據(jù)越來越多、越來越繁雜,計算器帶來的便捷也越來越明顯。雖然如今網(wǎng)絡(luò)和市面上的計算器已非常之多,但功能過于簡單的無法滿足個人需求,功能過多的價格較貴且很多功能根本用不到,所以設(shè)計一款簡單卻實用的計算器具有很大的實際意義。而C#是一種功能非常強大的編程語言,其易于掌握、支持跨平臺、面向?qū)ο蟮膬?yōu)點使得它非常適合用來開發(fā)一些常用的界面工具,故本文介紹了簡易計算器的主要功能和設(shè)計思路,并在此基礎(chǔ)上使用C#語言進行了具體的程序開發(fā)與實現(xiàn)。
1 C#語言和開發(fā)工具
1.1 C#簡介
C#是一種面向?qū)ο蟮某绦蛟O(shè)計語言,是專門用于.NET的編程語言,用C#編寫的代碼總是在.NET Framework中運行(.NET Framework簡稱.NET,是微軟為開發(fā)應(yīng)用程序創(chuàng)建的平臺)。使用C#可以編寫傳統(tǒng)的Windows桌面應(yīng)用程序、Windows服務(wù)程序、Web應(yīng)用程序、Web服務(wù)程序等。
1.2 開發(fā)工具Visual Studio
Visual Studio是一套完整的開發(fā)工具集,可以用來創(chuàng)建Windows平臺下的Windows應(yīng)用程序和網(wǎng)絡(luò)程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office插件等。Visual Studio有多種版本,本次設(shè)計使用的版本是Visual Studio 2013。
2 簡易計算器的基本功能
精確、便捷、高效是計算器的主要特點,考慮到生活中人們常用的數(shù)據(jù)格式和運算需求,簡易計算器需要具備以下幾個功能:
(1)簡潔直觀的可操作界面;
(2)基本的四則運算和清零功能;
(3)支持正負(fù)數(shù)運算和小數(shù)操作;
(4)支持乘方與開方運算。
3 設(shè)計與實現(xiàn)
3.1 設(shè)計思路
計算器在使用過程中可分為四個步驟:輸入第一個操作數(shù)、輸入運算符、輸入第二個操作數(shù)、輸出結(jié)果。對應(yīng)計算器的狀態(tài)過程為:首先輸入第一個數(shù)字,如果接下來繼續(xù)輸入數(shù)字,則保持當(dāng)前狀態(tài),直到輸入運算符,接收第一個操作數(shù)的狀態(tài)結(jié)束,進入下一個狀態(tài)——接收第二個操作數(shù),當(dāng)點擊“=”按鈕,計算結(jié)果并顯示,之后,如果繼續(xù)輸入運算符,則將前一次的計算結(jié)果作為第一個操作數(shù),進行下一輪計算。程序流程圖如圖1所示。
3.2 界面設(shè)計
計算器界面主要分為顯示窗口和操作按鈕,其中操作按鈕包括數(shù)字、小數(shù)點、運算符、等號和清零按鈕。顯示窗口和操作按鈕在Visual Studio中對應(yīng)由文本框textbox和按鈕button來實現(xiàn),在編碼過程中,要求對文本框和按鈕的命名標(biāo)準(zhǔn)化、大眾化,在本設(shè)計中,將各數(shù)字按鈕的name設(shè)置為btn+數(shù)字,如按鈕“1”被命名為“btn1”。
根據(jù)上文的功能分析,本次設(shè)計的計算器運算符包括:加、減、乘、除、乘方、開方。在進行界面設(shè)計時,遵從簡單、工整、直觀、便于操作的原則,設(shè)計完成后的界面視圖如圖2所示。
3.3程序設(shè)計
(1)變量定義
在對計算器進行程序設(shè)計時,有如下三個需要注意的事項:
如何判斷輸入的某個數(shù)字是屬于第一個操作數(shù)還是作為第二個操作數(shù)的第一位;
在輸入第二個操作數(shù)時,第一個操作數(shù)需要存儲;
運算符的判定。
為解決這些問題,定義了n1、op、startSecond三個變量,其中n1是double型,用來存儲第一個操作數(shù);string型變量op表示運算符;bool型變量startSecond作為標(biāo)志變量,用來判斷輸入的是否是第2個操作數(shù)的第一位。
(2)數(shù)字輸入
以按鈕“1”為例,如果顯示窗口里的數(shù)是0或者是輸入的第2個操作數(shù)的第一個數(shù)字,那么此時單擊按鈕“1”,顯示窗口顯示數(shù)字“1”,并把標(biāo)志變量startSecond設(shè)置為False,否則在顯示窗口原有的數(shù)字后面追加數(shù)字“1”。代碼如下:
其余數(shù)字的代碼編寫思路與此類似。
(3)清零功能
清零即清空顯示窗口(重設(shè)為"0")和將中間變量賦成初始值值即可。
(4)運算符
以加法為例,當(dāng)點擊按鈕"+"時,將變量op賦為"+",并將顯示窗口里的數(shù)字從字符串型轉(zhuǎn)化為double型,同時設(shè)置標(biāo)志變量startSecond的值為True,表示接下來就要輸入第2個操作數(shù)的第一個數(shù)字了。代碼如下:
減法、乘法、除法、乘方和開方運算的設(shè)計思路與此一致。
(5)計算功能的實現(xiàn)
當(dāng)點擊按鈕"="時,即開始進行計算,并將結(jié)果顯示出來。在編寫代碼時,可使用switch結(jié)構(gòu),對運算符變量op進行判斷。具體實現(xiàn)代碼如下:
(6)正負(fù)號和小數(shù)點
正負(fù)號和小數(shù)點的功能實現(xiàn)只需在代碼中相應(yīng)賦值即可,其中需要注意的是:輸入小數(shù)點時,如果判斷顯示框中已經(jīng)有了一個小數(shù)點,則拒絕繼續(xù)添加小數(shù)點,實現(xiàn)的代碼為:
4 結(jié)束語
本文對簡易計算器的功能需求進行了分析,提供了相應(yīng)的設(shè)計思路,并在此基礎(chǔ)上利用C#語言給出了具體的實現(xiàn)方法,這對于研發(fā)人員進行計算器的設(shè)計具有一定的參考價值。
參考文獻
[1]杜少杰,王文紅.C#程序設(shè)計案例教程[M].北京理工大學(xué)出版社,2014:137-141.
[2]崔曉軍.C#.NET程序設(shè)計案例教程[M].清華大學(xué)出版社,2013:31-35.
[3]李文強.C#程序設(shè)計[M].清華大學(xué)出版社,2010.