計算器設計報告

2022-11-27 03:42:04 字數 3885 閱讀 5192

課程名稱: 物件導向程式設計

設計題目: 設計乙個計算器

院系: 資訊科技學院

班級: 11級計科2班

設計者: 谷正映

學號: 201111010209

指導教師: 何英

設計時間: 2012/12/31—2013/1/6

資訊科技學院

姓名: 谷正映院(系): 資訊科技學院

專業:電腦科學與技術學號: 201111010209

任務起止日期:2012/12/31—2013/1/6

課程設計題目:

設計乙個計算器

課程設計要求:

1. 首先按設計要求實現其基本功能,其次設計布局,按照gridlayout的布局,將空間劃分為由行和列組成的網格單元,每個單元放乙個元件,網格單元大小可不同,盡量將相同屬性的按鈕放在乙個區域,方便操作。

2.計算器的基本功能:

(1)加法:兩個資料進行加操作,可以為小數。

(2)減法:兩個資料進行減操作,可以為負數相減。

(3)乘法:兩個數相乘操作。

(4)除法:兩個數相除操作。

(5)開平方:對任意乙個數進行開方運算,可以是小數。

(6)求餘:對任意乙個數進行求餘運算。

(7)倒數:對任意乙個數進行倒數運算。功能可自行增加。

工作計畫及安排:

工作計畫::

1、 選題:選好設計題目。

2、 讀題:仔細閱讀題目,明確設計要求與目的。

3、分析與程式設計:經過參考相關資料,結合題目要求,選定試驗器件。

4、完成實驗**。

5、檢測:利用j**a進行除錯分析,並生成檔案。

6、分析,總結此次實訓經驗。

工作安排:

第一階段:查詢相關知識,蒐集相關資料。

第二階段:結合所獲取的知識和做蒐集的資料,完成程式**

第三階段:在相關軟體上執行,並記錄相應結果

指導教師簽字

年月日課程設計(大作業)成績

學號:201111010209 姓名:谷正映指導教師:何英

課程設計題目:

設計乙個計算器

總結: 通過本次課程設計我學到了好多、也發現了自己的好多不足!很顯然最明顯的收穫是理解和較熟練的掌握了j**aapplet圖形介面的基本方法,尤其在j**aapplet圖形介面的布局方面學到頗多,以前布局很亂並且很多布局都是無效的。

在此次課設中通過查閱很多資料和同學的互相幫助,充分發揮了j**aapplet介面布局的優越性。另外按鈕功能的實現也是本次課設的一大難點,怎樣實現那些功能是關鍵。通過這次課設我又學會了好多j**a中的簡單便捷的函式,例如 i)函式(實現的是將乙個十進位制數轉換成乙個二進位制的數)。

指導教師評語:

成績:填表時間指導教師簽名:

目錄一、概述 2

1.1設計目的及思路 2

1.2功能模組設計 2

1.3系統功能圖 3

二、計算器的設計與實現 3

2.1程式介面 3

2.2程式源** 3

三、計算器演示 10

四、執行除錯及討論分析 12

五、小結 13

參考文獻: 13

一、概述

1.1設計目的及思路

通過本課程設計使學生能夠較全面的掌握物件導向程式設計的有關概念和開發方法,以便能較全面地理解、掌握和綜合運用所學的知識,提高自身的程式設計能力。利用j**a applet圖形介面首先開始設計乙個計算器的介面,定義計算器所需要的按鈕並賦給其按鈕名稱,使得使用計算器時簡單明瞭,清晰可見,操作輕鬆。

給各個按鈕進行演算法,利用滑鼠點選事件,當滑鼠點選某個按鈕時就開始執行那個按鈕所定義的演算法,生成資料並顯示。

除數字的輸入為直接進行輸入外,其他運算例如+、-、*、/、開平方等演算法要求計算時通過內部較為複雜的運算將結果顯示在顯示屏上。

至於其中的進製轉換功能的實現則是直接呼叫j**a中進製轉換的函式,例如要將十進位制轉換成二進位制則可直接呼叫函式 i)來實現,充分顯示了j**a語言的簡潔性和j**a語言功能的強大性。

當然了在輸入資料時還要進行異常捕捉,防止越界的現象的發生,這也是j**a語言健壯性的體現!

1.2功能模組設計

(1)加法:兩個資料進行加操作,可以為小數。

(2)減法:兩個資料進行減操作,可以為負數相減。

(3)乘法:兩個數相乘操作。

(4)除法:兩個數相除操作。

(5)開平方:對任意乙個數進行開方運算,可以是小數。

(6)求餘:對任意乙個數進行求餘運算。

(7)倒數:對任意乙個數進行倒數運算。

功能可自行增加。

1.3系統功能圖

二、計算器的設計與實現

2.1程式介面

2.2程式源**

import

import

import

import

import

import

public class calculator implements actionlistener {

jframe jf=new jframe("計算器");

jtextfield tf=new jtextfield();

jpanel pnl;

jbutton jbuttondeng;

jbutton jbuttonjian;

jbutton jbuttoncheng;

jbutton jbutton1;

jbutton jbutton2;

jbutton jbutton3;

jbutton jbutton4;

jbutton jbutton5;

jbutton jbutton6;

jbutton jbutton7;

jbutton jbutton8;

jbutton jbutton9;

jbutton jbutton0;

jbutton jbuttonchu;

jbutton jbuttonqingkong;

jbutton jbuttonjia;

jbutton jbuttonquyu;

jbutton jbuttonpingfang;

jbutton jbuttonxiaoshudian;

jbutton jbuttonbackspace;

jbutton jbuttondaoshu;

jbutton jbuttonkaipingfang;

jbutton jbuttonerjinzhi;

jbutton jbuttonshijinzhi;

public calculator (){ //初始化介面的方法

container c=

"north");

jpanel pnl=new jpanel();

"center");

gridlayout(6,5));

jbutton1=new jbutton("1");

jbutton2=new jbutton("2");

jbutton3=new jbutton("3");

jbuttonbackspace=new jbutton("backspace");

jbutton4=new jbutton("4");

jbutton5=new jbutton("5");

jbutton6=new jbutton("6");

jbuttonjia=new jbutton("+");

jbutton7=new jbutton("7");

jbutton8=new jbutton("8");

jbutton9=new jbutton("9");

jbuttonjian=new jbutton("-");

課程設計報告 計算器

計算器程式的設計與實現 資料結構課程設計 班級 計科1001 北京化工大學 資訊科學與技術學院電腦科學與技術專業 2011 12.一 功能描述 2 1.1 系統實現的目的和意義 3 1.2 系統實現的功能 3 1.3 系統開發的環境 3 二 總體結構 2 2.1 檔案清單 按檔案系統樹型方式排列 3...

MFC計算器課程設計報告

double poz 儲存小數點的位置,初始化為1,表示poz 1個小數點。double m dis edit控制項上需要顯示的數字 bool point flag 小數點表示位,判定是否是小數,是小數為1,不是小數為0。double numfirst 儲存計算過程中的前乙個數字,double nu...

用計算器計算

班級姓名第組第號 一 學習目標 1 了解計算器各鍵的用途與用法,2 會用計算器進行有理數加 減 乘 除 乘方運算以及混合運算。3 在使用計算器中感受到操作簡便,計算準確,速度快捷,從而產生對數學學習的濃厚興趣。二 學法指導 通過動手操作 合作與交流,並借助計算器的說明書,自主 計算器的使用方法,會用...