freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于c的簡易計算器程序設(shè)計畢業(yè)論文(已修改)

2025-07-02 12:30 本頁面
 

【正文】 引言根據(jù)畢業(yè)設(shè)計論文——“基于C的簡易計算器程序設(shè)計”這個課題所需涉及到的知識以及如何用這些知識完成需要達到的任務(wù)或目標(biāo),我決定將畢業(yè)設(shè)計論文(以下簡稱“論文”)分為2章,即論文內(nèi)容包括:l 第1章:將大致介紹“基于C的”知識即C語言的基礎(chǔ)知識和在本課題中的應(yīng)用①。l 第2章:根據(jù)論文所涉到的具體任務(wù)或目標(biāo),將介紹如何把第1篇的知識具體應(yīng)用到“計算器程序設(shè)計”中。 對于論文課題的實現(xiàn),可以大致歸納為以下幾個方面的關(guān)鍵詞,即論文相關(guān):u 設(shè)計目的: 設(shè)計一個基于C的簡易計算器程序,在功能上盡量模擬windows操作系統(tǒng)中的計算器,系統(tǒng)界面不做強制要求。u 所需知識:全面熟悉、掌握C語言基本知識,掌握C程序設(shè)計中的順序、選擇、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)、指針和文件的操作,把編程和實際結(jié)合起來,對不同的問題運用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述,熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法。u 一般步驟: a、確定數(shù)據(jù)結(jié)構(gòu) b、確定算法 c、 編程 d、 調(diào)試 e、 總結(jié)。u 采用工程模式即模塊化,文件包括四個重要組成部分②:216。 (運算主函數(shù)頭文件,包括各運算符的操作以及其輔助函數(shù))。216。 (窗體類的聲明頭文件)。216。 (工程初始化文件)。216。 (代碼主文件,包括各空間操作的函數(shù))以及一些其它附屬文件,包括dll動態(tài)鏈接庫。u 計算器程序?qū)崿F(xiàn)功能:在參考了Windows里的計算器以后,決定在我的課程設(shè)計中實現(xiàn):0~9的數(shù)字輸入功能(小數(shù)點除外);實現(xiàn):加、減、乘、整除、取模、階乘、位運算左移、x的y次方、與、異或、x立方、x平方運算功能;二進制、八進制、十進制、十六進制轉(zhuǎn)換功能;正負轉(zhuǎn)換功能;退格、歸零等功能。① 說明:由于需要使功能盡量模仿Windows下的計算器,而很多功能要以圖形界面實現(xiàn),故用Borland C++ Builder編寫。所以用的是面向?qū)ο蟪绦蛟O(shè)計。但因為這是C語言的課程設(shè)計,所以除了面向?qū)ο蟮氖褂靡酝?,所有語法都是按照C語言的格式編寫。② 說明:這里所說的“四個重要組成部分”即為“程序設(shè)計”的核心內(nèi)容。 目錄引言 1 第一章 5 6 6 6 6 6 6 6 、函數(shù)、指針和文件 6 6 6 7 7 第二章 8 9 .1具體操作 9 .2原理流程圖 9 10 (運算函數(shù)集頭文件) 10 12 14 15 16 17 (先得到十六進制,再轉(zhuǎn)換成相應(yīng)進制) 17 /*由BCB生成*/ 25 (/*由BCB生成*/) 26 28 附錄 39 參考文獻 40 致謝 41 第一章 第1節(jié) 數(shù)據(jù)類型、算法描述的簡要介紹第2節(jié) 程序的3種基本結(jié)構(gòu)第3節(jié) 數(shù)組、函數(shù)、指針、文件簡要介紹 程序在運行時要做的內(nèi)容就是處理數(shù)據(jù)。程序要解決復(fù)雜的問題,就要處理不同的數(shù)據(jù)。不同的數(shù)據(jù)都是以自己本身的一種特定形式存在的,不同的數(shù)據(jù)類型占用不同存儲空間。C語言中有多種不同的數(shù)據(jù)類型,其中包括幾個大的方向:基本類型、構(gòu)造類型、指針類型和空類型。算法包含算法設(shè)計和算法分析兩方面內(nèi)容。算法設(shè)計主要研究怎樣針對某一特定類型的問題設(shè)計出求解步驟,算法分析則要討論所設(shè)計出來的算法步驟的正確性和復(fù)雜性。對于一些問題的求解步驟,需要一種表達方式,即算法描述。常用的算法描述有自然語言、流程圖、NS流程圖等。順序結(jié)構(gòu)的語句是自頂向下依次執(zhí)行的。選擇結(jié)構(gòu)中的語句是根據(jù)條件判斷來控制執(zhí)行的。循環(huán)結(jié)構(gòu)中的語句執(zhí)行是根據(jù)判斷條件是真是假來控制某些操作是否反復(fù)執(zhí)行。、函數(shù)、指針和文件數(shù)組是用以存儲數(shù)列中數(shù)據(jù)的集合。定義的函數(shù)包括函數(shù)頭和函數(shù)體兩部分。函數(shù)頭包括返回值類型、函數(shù)名、參數(shù)表。函數(shù)體包括局部變量的聲明和函數(shù)的可執(zhí)行代碼。通過地址能訪問指定的內(nèi)存存儲單元,地址可以形象的稱為指針。文件是指一組相關(guān)數(shù)據(jù)的有序集合。 第二章第1節(jié) 具體操作及原理流程圖第2節(jié) 文件的四個組成部分即具體實現(xiàn) 具體操作將描述在使用本編程軟件對輸入的要求以及幾種常見的輸入情況;原理流程圖將描述編程軟件的運行機制及其細節(jié)。.1具體操作,模擬Windows下的計算器功能?;竟δ転檩斎霐?shù)字,再輸入運算符,然后輸入運算符對應(yīng)數(shù)字,按等號;輸入數(shù)字,再輸入運算符,輸入等于號的結(jié)果為“當(dāng)前輸入的數(shù)字→運算符→當(dāng)前輸入的數(shù)字”,可以調(diào)節(jié)正負號;輸入“數(shù)字,運算符,數(shù)字,運算符...數(shù)字,運算符…”。.2原理流程圖退格鍵減少一位歸零鍵退出結(jié)束其它鍵是否增加一位清零操作前一次按鍵是數(shù)字?設(shè)置相關(guān)后效信息顯示函數(shù)運算符運算函數(shù)數(shù)字鍵按鍵開始按鍵顯示函數(shù)清零相關(guān)結(jié)束本章將說明構(gòu)成本軟件的源代碼部分即四個重要組成部分:(運算主函數(shù)頭文件,包括各運算符的操作以及其輔助函數(shù))、(窗體類的聲明頭文件)、(工程初始化文件)、(代碼主文件,包括各空間操作的函數(shù))以及一些其它附屬文件。(運算函數(shù)集頭文件)包括實現(xiàn)運算所需的頭文件;實現(xiàn)軟件各種運算(加、減、乘、除、取模等)的源代碼的編程部分。includeincludestringincludedefine HIGH struct highdefine MAXN 5000define MAXSHOW 40define key_num 0define key_sym 1struct high{ int num[MAXN]。}。HIGH ans, actNum, nowShow。char nowSym = 39。N39。, lastSym = 39。N39。bool _isincMed = true, _lastKey = key_num。int jz = 10。bool _isbig(HIGH a, HIGH b){ int i。 for(i = MAXN 1。 i 0。 i) { if([i] [i]) return true。 else if([i] [i]) return false。 } return false。}void copy(char *str, char *rstr, int op, int len) //將str的從op開始的len個字符復(fù)制到rstr中 { int i = 0, j = op 1。 for(。 i = len 1 || str[j] == 39。\039。 i++, j++) rstr[i] = str[j]。 rstr[i] = 39。\039。}void copyint(HIGH num, HIGH *rint, int op, int len) //將str的從op開始的len個字符復(fù)制到rstr中 { int i = 1, j = op。 for(。 i = len amp。amp。 j MAXN。 i++, j++) rint num[i] = [j]。}void initNum(HIGH *numb) //初始化{ int i。 HIGH tmp。 memset(, 0, sizeof())。 *numb = tmp。}int absCmp(HIGH a, HIGH b) //比較絕對值大小{ int i。 for(i = MAXN 1。 i 0。 i) { if([i] != [i]) return ([i] [i])。 } return 1。}int getMed(HIGH a) //獲取位數(shù){ int i, med。 for(i = MAXN 1。 i 0。 i) if([i] != 0) { med = i。 break。 } if(i == 0) med = 1。 return med。}void turnSym(HIGH *a) //變號{ a num[0] = a num[0] == 0 ? 1 : 0。}void decMed(HIGH *a) //減去一位{ int i, med = getMed(*a)。 if(med == MAXN 1) med。 for(i = 1。 i = med。 i++) a num[i] = a num[i + 1]。 a num[med] = 0。}void incMed(HIGH *a, int b) //加一位{ int i, med = getMed(*a)。 HIGH r。 initNum(amp。r)。 if(med MAXSHOW) { for(i = 2。 i = med + 1。 i++) [i] = a num[i 1]。 [1] = b。 [0] = a num[0]。 } else r = *a。*a = r。MUL函數(shù)介紹:MUL AB乘法指令的功能是將A和B中兩個無符號8位二進制數(shù)相乘,所得的16位積的低8位存于A中,高8位存于B中。如果乘積大于256,即高位B不為0,則OV置1;否則OV清0,CY總是清0。HIGH mul(HIGH a, HIGH b) //高精度乘法{ int i, j, k, ma, mb。 HIGH tmpr, r, zero。 initNum(amp。zero)。 initNum(amp。r)。 ma = getMed(a)。 mb = getMed(b)。 for(i = 1。 i = ma。 i++) { initNum(amp。tmpr)。 for(j = 1。 j = mb。 j++) { [j] = [i] * [j]。 } int tmpMed = getMed(tmpr)。 if(tmpMed + i MAXN) { initNum(amp。r)。 Application MessageBox(數(shù)字太大!, 錯誤, MB_OKCANCEL)。 nowSym = 39。N39。 _lastKey = key_num。 lastSym = 39。N39。 return r。 } for(k = 1。 k tmpMed。 k++) { [k + 1] += ([k] / 10)。 [k] %= 10。 } if([tmpMed] 10) tmpMed = getMed(tmpr)。 if(tmpMed + i MAXN) { initNum(amp。r)。 Application MessageBox(數(shù)字太大!, 錯誤, MB_OKCANCEL)。 nowSym = 39。N39。 _lastKey = key_num。 lastSym = 39。N39。 return r。 } for(j = 1。 j = tmpMed。 j++) [j + i 1] += [j]。 } for(i = 1。 i MAXN 1。 i++) { [i + 1] += ([i] / 10)。 [i] %= 10。 } if([MAXN 1] 9) { initNum(amp。r)。 Application MessageBox(數(shù)字太大!, 錯誤, MB_OKCANCEL)。 nowShow = zero。 nowSym = 39。N39。 _lastKey = key_num。 lastSym = 39。N39。
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1