C語(yǔ)言課程設(shè)計(jì)語(yǔ)言代碼簡(jiǎn)易計(jì)算器設(shè)計(jì)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)語(yǔ)言代碼簡(jiǎn)易計(jì)算器設(shè)計(jì)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)語(yǔ)言代碼簡(jiǎn)易計(jì)算器設(shè)計(jì)_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)語(yǔ)言代碼簡(jiǎn)易計(jì)算器設(shè)計(jì)_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)語(yǔ)言代碼簡(jiǎn)易計(jì)算器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、簡(jiǎn)單計(jì)算器的設(shè)計(jì)完成日期 年 月 日摘 要課程設(shè)計(jì)語(yǔ)言類課程的指導(dǎo)思想:使學(xué)生通過(guò)學(xué)習(xí)高級(jí)編程語(yǔ)言的知識(shí)、編程技術(shù)和基本算法,掌握課程設(shè)計(jì)的思想和方法,具備利用計(jì)算機(jī)求解實(shí)際問(wèn)題的能力,能靈活運(yùn)用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)。其實(shí)認(rèn)真學(xué)習(xí)一門語(yǔ)言并不難,關(guān)鍵是所追求的學(xué)習(xí)方法和途徑。通過(guò)C語(yǔ)言程序設(shè)計(jì),可以使我們掌握軟件開發(fā)過(guò)程的難題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試程序等基本方法和技能。同時(shí),還能加強(qiáng)我們的時(shí)間管理意識(shí),鍛煉對(duì)難題的發(fā)現(xiàn)、分析和處理能力。我認(rèn)為遇到難題并不可怕,可怕的是你不去解決,這可能是C語(yǔ)言課程設(shè)計(jì)的主要目的之一。現(xiàn)時(shí)學(xué)習(xí)生活中,常會(huì)遇到一些數(shù)目較大數(shù)據(jù)繁雜的數(shù)值運(yùn)算,徒手運(yùn)算起來(lái)很

2、困難,這時(shí)候我們就必須用到計(jì)算器。人們對(duì)計(jì)算的要求不斷提高,普通的功能簡(jiǎn)單的僅能進(jìn)行四則運(yùn)算的計(jì)算工具已經(jīng)不能滿足需要,需要一種能進(jìn)行多種計(jì)算?,F(xiàn)在已經(jīng)有一些功能較為強(qiáng)大、涵蓋面較廣的計(jì)算軟件,而且各種平臺(tái)的小工具仍不斷出現(xiàn)。這些大大方便了我們的生活給我們更多的選擇和實(shí)現(xiàn)方式。本程序的編寫基礎(chǔ)是Tubro C2.0漢化版,它在tubro c的原有基礎(chǔ)上實(shí)現(xiàn)了多漢字的支持方便了我們的使用。生成的程序可移植性強(qiáng)兼容性好穩(wěn)定!本程序?qū)崿F(xiàn)了加、減、乘、除、求冪、求模,求平方根,求Sin,求Cos,求Log10,求階乘,取整,求正切,以及進(jìn)制之間的相互轉(zhuǎn)換。它可以直接輸入數(shù)學(xué)表達(dá)式,不需要任何轉(zhuǎn)換,就可

3、以直接輸出數(shù)學(xué)四則運(yùn)算的結(jié)果。但是,每次只能運(yùn)算一個(gè)表達(dá)式,按 CE清空后再計(jì)算下一組式子。本程序在進(jìn)制轉(zhuǎn)換方面有一些漏洞,但一般的進(jìn)制轉(zhuǎn)換結(jié)果還是準(zhǔn)確的。關(guān)鍵字:C語(yǔ)言程序設(shè)計(jì) 基本算法 高級(jí)編程語(yǔ)言 思想和方法 計(jì)算器Tubro c 2.0漢化版 目錄第1章 選題的意義 41.1 自我介紹 41.2 選題 4第2章 系統(tǒng)功能需求分析 52.1系統(tǒng)的基本要求 52.2 數(shù)據(jù)結(jié)構(gòu)和用法 5第3章 系統(tǒng)設(shè)計(jì) 6第4章 系統(tǒng)實(shí)現(xiàn) 7第5章 總結(jié) 8第1章 選題的意義1.1 自我介紹我的名字是彭東林,就讀于石家莊鐵道大學(xué),電0905-2班,電氣與電子工程分院。1.2 選題1. 我選的題目是:簡(jiǎn)單計(jì)算

4、器的設(shè)計(jì)2. 我選這道題的原因如下: 計(jì)算器對(duì)我們每一的學(xué)生都很熟悉,從初中到高中再到大學(xué)。但是我們只知道按下幾個(gè)按鈕計(jì)算器便會(huì)顯示出結(jié)果,很少有學(xué)生分析過(guò)計(jì)算器究竟是如何運(yùn)行的。C語(yǔ)言課程設(shè)計(jì)便是一個(gè)很好的機(jī)會(huì),讓我去親自寫計(jì)算器的運(yùn)行代碼,盡管是簡(jiǎn)單計(jì)算器的設(shè)計(jì),但其背后的知識(shí)那是相當(dāng)多的,對(duì)我是個(gè)挑戰(zhàn),我接受!3. 運(yùn)用的數(shù)據(jù)結(jié)構(gòu)和知識(shí)點(diǎn)TuborC 繪圖知識(shí) 數(shù)學(xué)函數(shù) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 數(shù)組 指針 順序結(jié)構(gòu) 進(jìn)制間的轉(zhuǎn)換 4. 時(shí)間安排5. 主要參考文獻(xiàn): C語(yǔ)言繪圖與計(jì)算機(jī)仿真技術(shù) 王強(qiáng)如 北京航空航天大學(xué)1科 欽.C語(yǔ)言程序設(shè)計(jì).北京:電子工業(yè)出版社,1987:56-58 2徐君

5、毅.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).上海:復(fù)旦大學(xué)出版社,1992:87-983李成付.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).北京:科學(xué)出版社,1992:42-674郝玉潔.C語(yǔ)言程序設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2000:63-885錢啟平.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).北京:中國(guó)鐵道出版社,2000:91-996李大友.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).北京:清華大學(xué)出版社,1999:58-987黃迪明.C語(yǔ)言程序設(shè)計(jì).北京:電子科技大學(xué)出版社,1998:78-988姜仲秋.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).南京:南京大學(xué)出版社,1998:16-1009李國(guó)昌.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).北京:科學(xué)出版社,1998:78-12010譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).北京:清華

6、大學(xué)出版社,2000:74-129第2章 系統(tǒng)功能需求分析2.1系統(tǒng)的基本要求1. 算術(shù)運(yùn)算功能。能夠?qū)崿F(xiàn)+、-、*、/、mod、int運(yùn)算。2. 函數(shù)運(yùn)算功能。能夠?qū)崿F(xiàn)exp、ln、sin、xy、log、cos、x3、n!、tan、x2、1/x等運(yùn)算。3. 進(jìn)制之間的轉(zhuǎn)換功能。能夠?qū)崿F(xiàn)十六、十、二、八進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換。4.通過(guò)鍵盤控制字符和數(shù)字的輸入。2.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明此程序調(diào)用的函數(shù)主要有<math.h> /*數(shù)學(xué)函數(shù)的定義*/<conio.h> /*屏幕操作函數(shù)*/<stdio.h> /*I/O函數(shù)*/<stdlib.h> /*

7、庫(kù)函數(shù)*/<stdarg.h> /*變量長(zhǎng)度參數(shù)表*/<graphics.h> /*圖形函數(shù)*/<string.h> /*字符串函數(shù)*/<ctype.h> /*字符操作函數(shù)*/?;臼褂?用控制鼠標(biāo)圖形移動(dòng),當(dāng)移動(dòng)到相應(yīng)得按鈕時(shí)按回車鍵輸入當(dāng)前數(shù)字或執(zhí)行對(duì)應(yīng)的函數(shù)。加法:輸入一個(gè)被加數(shù)數(shù),按“+”,輸入被加數(shù),按“=”,輸出結(jié)果。減法:輸入被減數(shù)數(shù),按“-”,輸入減數(shù),按“=”,輸出結(jié)果。乘法: 輸入一個(gè)數(shù),按“*”,輸入另個(gè)數(shù),按“=”,輸出結(jié)果。除法: 輸入一個(gè)被除數(shù),按“+”,輸入另個(gè)除數(shù),按“=”,輸出結(jié)果。求x的y次方: 輸入數(shù)x,按“

8、”,輸入數(shù)y,按“=”,輸出結(jié)果。求余:輸入一個(gè)數(shù),按“mod”,按“=”,輸出結(jié)果。取整:輸入一個(gè)數(shù),按“int”,按“=”,輸出結(jié)果。余弦:輸入一個(gè)數(shù),按“cos”,按“=”,輸出結(jié)果。正弦:輸入一個(gè)數(shù),按“sin”,按“=”,輸出結(jié)果。正切:輸入一個(gè)數(shù),按“tan”,按“=”,輸出結(jié)果。階乘:輸入一個(gè)數(shù),按“n!”,按“=”,輸出結(jié)果。倒數(shù):輸入一個(gè)數(shù),按“1/x”,按“=”,輸出結(jié)果十進(jìn)制轉(zhuǎn)二進(jìn)制:輸入一個(gè)十進(jìn)制數(shù),按“10->2”,輸出二進(jìn)制結(jié)果。十進(jìn)制轉(zhuǎn)八進(jìn)制:輸入一個(gè)十進(jìn)制數(shù),按“10->8”,輸出八進(jìn)制結(jié)果。八進(jìn)制轉(zhuǎn)十進(jìn)制:輸入一個(gè)八進(jìn)制數(shù),按“10->8”,

9、輸出十進(jìn)制結(jié)果。第3章 系統(tǒng)設(shè)計(jì)顯示結(jié)果結(jié)束mod、x3、ln、exp、tan、cos、x2、1/x、n!、sin、以及進(jìn)制轉(zhuǎn)換輸入第二個(gè)數(shù)y+、-、*、/、xy、log、等輸入第一個(gè)數(shù)x開始第4章 系統(tǒng)實(shí)現(xiàn)本系統(tǒng)采用 C語(yǔ)言開發(fā),生成可執(zhí)行文件在任何系統(tǒng)下都可以執(zhí)行,具有很好的數(shù)據(jù)處理能力和穩(wěn)定性。并且使用Turbo C 2.0漢化版在原有基礎(chǔ)上實(shí)現(xiàn)了多漢字的支持,方便了我們的使用。生成的程序可移植性強(qiáng)、兼容性好。這個(gè)系統(tǒng)是基于軟件發(fā)展的生命周期來(lái)研制的,它可以直接輸入數(shù)學(xué)表達(dá)式,不需要任何轉(zhuǎn)換,就可以直接輸出數(shù)學(xué)四則運(yùn)算的結(jié)果。本程序通過(guò)調(diào)用int specialkey(void) 和#i

10、nclude <conio.h> 來(lái)實(shí)現(xiàn)對(duì)屏幕的操作,通過(guò)調(diào)用int arrow()函數(shù),int specialkey(void) 和#include <conio.h>來(lái)實(shí)現(xiàn)對(duì)光標(biāo)的操作。計(jì)算器圖形采用Turbo C 2.0繪圖程序制作。第5章 總結(jié)經(jīng)過(guò)了五個(gè)星期的課程設(shè)計(jì),在設(shè)計(jì)中我們遇到了很多編程問(wèn)題,最后我們大家齊心合力的攻克一個(gè)個(gè)難關(guān),我們組做得是計(jì)算器的設(shè)計(jì),內(nèi)容包括很多。運(yùn)用的函數(shù)也很復(fù)雜。測(cè)試階段中發(fā)現(xiàn)了幾處錯(cuò)誤導(dǎo)致程序不能編譯,去圖書館查找相關(guān)的資料, 又同學(xué)一起討論。通過(guò)耐心的分析源代碼終于編好了一個(gè)完整無(wú)誤的程序。在這次的c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)中遇到了

11、現(xiàn)實(shí)編程中必然見到的問(wèn)題通過(guò)這些問(wèn)題的解決積累了編程的實(shí)踐經(jīng)驗(yàn)。在實(shí)際的編程操作中發(fā)現(xiàn)自己c語(yǔ)言知識(shí)的不足,加深了對(duì)c語(yǔ)言的理解。在學(xué)習(xí)之余體驗(yàn)到收獲的感覺.善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個(gè)編程任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時(shí)總結(jié),找到自己的不足,這樣所編寫的程序才能逐步提高.課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的。自從拿到題目到完

12、成整個(gè)編程,從理論到實(shí)踐,在整整半個(gè)學(xué)期的日子里,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相我們把前面所學(xué)過(guò)的知識(shí)又重新溫故了一遍。通過(guò)這次課程設(shè)計(jì),我拓寬了知識(shí)面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計(jì)的基本目的,在于通過(guò)理論與實(shí)際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺悟。尤其是觀察、分析和解決問(wèn)題的實(shí)際工作能力,以便培養(yǎng)成為能夠主動(dòng)適應(yīng)社會(huì)主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個(gè)學(xué)習(xí)體系的有機(jī)組成部分,課程

13、設(shè)計(jì)雖然安排在一周進(jìn)行,但并不具有絕對(duì)獨(dú)立的意義。它的一個(gè)重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗(yàn)學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識(shí),嘗試性地應(yīng)用于實(shí)際設(shè)計(jì)工作,并從理論的高度對(duì)設(shè)計(jì)工作的現(xiàn)代化提出一些有針對(duì)性的建議和設(shè)想。檢驗(yàn)學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實(shí)際工作到底有多大距離,并通過(guò)綜合分析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計(jì)劃,改變學(xué)習(xí)內(nèi)容與方法提供實(shí)踐依據(jù)。而這種實(shí)際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計(jì)工作。通過(guò)課程設(shè)計(jì),讓我們找出自身狀況與實(shí)際需要的差距,并在以后的學(xué)習(xí)期間及時(shí)補(bǔ)充相關(guān)知識(shí),為求職與正式工作做好充分的知識(shí)、能

14、力準(zhǔn)備,從而縮短從校園走向社會(huì)的心理轉(zhuǎn)型期。課程設(shè)計(jì)促進(jìn)了我系人才培養(yǎng)計(jì)劃的完善和課程設(shè)置的調(diào)整。近年來(lái),我系為適應(yīng)學(xué)生的實(shí)踐需要陸續(xù)增設(shè)與調(diào)整了一系列課程,受到同學(xué)的歡迎,其中這次的設(shè)計(jì)很受同學(xué)們的喜歡。課程設(shè)計(jì)達(dá)到了專業(yè)學(xué)習(xí)的預(yù)期目的。在一個(gè)星期的課程設(shè)計(jì)之后,我們普遍感到不僅實(shí)際動(dòng)手能力有所提高,更重要的是通過(guò)對(duì)軟件開發(fā)流程的了解,進(jìn)一步激發(fā)了我們對(duì)專業(yè)知識(shí)的興趣,并能夠結(jié)合實(shí)際存在的問(wèn)題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。程序源代碼:#include <dos.h> /*DOS接口函數(shù)*/#include <math.h> /*數(shù)學(xué)函數(shù)的定義*/#include &l

15、t;conio.h> /*屏幕操作函數(shù)*/#include <stdio.h> /*I/O函數(shù)*/#include <stdlib.h> /*庫(kù)函數(shù)*/#include <stdarg.h> /*變量長(zhǎng)度參數(shù)表*/#include <graphics.h> /*圖形函數(shù)*/#include <string.h> /*字符串函數(shù)*/#include <ctype.h> /*字符操作函數(shù)*/#define UP 0x48 /*光標(biāo)上移鍵*/#define DOWN 0x50 /*光標(biāo)下移鍵*/#define LEFT 0

16、x4b /*光標(biāo)左移鍵*/#define RIGHT 0x4d /*光標(biāo)右移鍵*/#define ENTER 0x0d /*回車鍵*/void *rar; /*全局變量,保存光標(biāo)圖象*/int specialkey(void) ; /*獲取特殊鍵函數(shù)*/int arrow(); /*設(shè)置箭頭光標(biāo)函數(shù)*/main() float num1=0,num2=0,result; int x,y,x0=315,y0=160,i,j,v,m,n,act,t1=0,t2=0,cd=0,zj=0,zj1=0,num=0,cd1=0,a25; int flag1,flag2=1,flag3=1,flag4=1,

17、flag5=1; char str25="",temp20="",c,str310="",str410="",str520="",str720="" char str1='A','1','2','3','4','5','6','7','B','8','9','=','+'

18、,'-','*','/','C', 'G','H','I','J','K','L','0','D','M','N','O','P','Q','.','$','E','R','S','T','U', 'V

19、9;,'','(','F','W','X','Y','Z','&',')','|' int sj1=50,250,250,250,150,175,50,250; int sj2=145,285,155,285,150,275,145,285; int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,""); /*初始化*/

20、 setcolor(0); /*繪畫*/ setlinestyle(0,0,3); setfillstyle(1,13); sector(150,250,0,360,100,200); setfillstyle(1,2); setcolor(2); fillpoly(4,sj1); setcolor(4); setfillstyle(1,6); pieslice(150,250,180,360,80); setfillstyle(1,15); line(105,255,125,255); line(175,255,195,255); pieslice(115,265,0,360,5); pie

21、slice(185,265,0,360,5); fillpoly(4,sj2); ellipse(150,295,180,360,12,7);setlinestyle(0,0,3); /*標(biāo)題*/settextstyle(4,0,8);outtextxy(370,30,"PENGDONGLIN CACULATOR");setbkcolor(3);setcolor(5);setfillstyle(5,9);bar3d(280,120,630,440,5,3); /*鍵盤外框 三維*/setlinestyle(0,0,1);setfillstyle(1,8);bar3d(290

22、,130,620,430,5,1); /*鍵盤內(nèi)框 三維*/setcolor(2); /*綠色*/setfillstyle(1,7); /*畫按鈕輪廓 三維*/bar3d(300,140,330,180,2,1);bar3d(340,140,370,180,2,1);bar3d(380,140,410,180,2,1);bar3d(420,140,450,180,2,1);bar3d(460,140,490,180,2,1);bar3d(500,140,530,180,2,1);bar3d(540,140,570,180,2,1);bar3d(580,140,610,180,2,1);bar3

23、d(300,185,330,225,2,1);bar3d(340,185,370,225,2,1);bar3d(380,185,410,225,2,1);bar3d(420,185,450,225,2,1);bar3d(460,185,490,225,2,1);bar3d(500,185,530,225,2,1);bar3d(540,185,570,225,2,1);bar3d(580,185,610,225,2,1);bar3d(300,235,330,275,2,1);bar3d(340,235,370,275,2,1);bar3d(380,235,410,275,2,1);bar3d(4

24、20,235,450,275,2,1);bar3d(460,235,490,275,2,1);bar3d(500,235,530,275,2,1);bar3d(540,235,570,275,2,1);bar3d(580,235,610,275,2,1);bar3d(300,285,330,325,2,1);bar3d(340,285,370,325,2,1);bar3d(380,285,410,325,2,1);bar3d(420,285,450,325,2,1);bar3d(460,285,490,325,2,1);bar3d(500,285,530,325,2,1);bar3d(540,

25、285,570,325,2,1);bar3d(580,285,610,325,2,1);bar3d(300,335,330,375,2,1);bar3d(340,335,370,375,2,1);bar3d(380,335,410,375,2,1);setcolor(2);bar3d(420,335,450,375,2,1);setcolor(2);bar3d(460,335,490,375,2,1);setcolor(2);bar3d(500,335,530,375,2,1);bar3d(540,335,570,375,2,1);bar3d(580,335,610,375,2,1);bar3

26、d(300,385,330,420,2,1);bar3d(340,385,370,420,2,1);bar3d(380,385,410,420,2,1);bar3d(420,385,450,420,2,1);bar3d(460,385,490,420,2,1);bar3d(500,385,530,420,2,1);bar3d(540,385,570,420,2,1);bar3d(580,385,610,420,2,1);setcolor(1);/*按鈕字符 藍(lán)色*/outtextxy(310,150,"A");outtextxy(350,150,"1")

27、;outtextxy(390,150,"2");outtextxy(430,150,"3");outtextxy(470,150,"4");outtextxy(505,150,"5");outtextxy(550,150,"6");outtextxy(590,150,"7");outtextxy(310,195,"B");outtextxy(345,195,"8");outtextxy(385,195,"9");ou

28、ttextxy(425,195,"=");outtextxy(465,195,"+");outtextxy(505,195,"-");outtextxy(550,195,"*");outtextxy(590,195,"/");outtextxy(310,245,"C");outtextxy(344,250,"mod");outtextxy(385,245,"xy");outtextxy(425,245,"log");

29、outtextxy(465,245,"ln");outtextxy(505,245,"int");outtextxy(547,240,"16");outtextxy(550,250,"|");outtextxy(550,260,"2");outtextxy(590,245,"0");outtextxy(310,295,"D");outtextxy(345,295,"cos");outtextxy(385,295,"x3&quo

30、t;);outtextxy(430,295,"n!");outtextxy(465,295,"tan");outtextxy(505,295,"x2");outtextxy(550,295,".");outtextxy(590,290,"8");outtextxy(590,300,"|");outtextxy(590,310,"2");outtextxy(310,345,"E");outtextxy(345,345,"1/x&

31、quot;);outtextxy(385,338,"sin");outtextxy(425,338,"exp");outtextxy(507,340,"10");outtextxy(510,350,"|");outtextxy(510,360,"2");outtextxy(550,340,"8");outtextxy(550,350,"|");outtextxy(547,360,"16");outtextxy(590,340,"

32、;2");outtextxy(590,350,"|");outtextxy(587,360,"16");outtextxy(310,395,"F");outtextxy(347,390,"10");outtextxy(350,400,"|");outtextxy(350,410,"8");outtextxy(387,390,"10");outtextxy(390,400,"|");outtextxy(387,410,"

33、;16");outtextxy(430,390,"2");outtextxy(430,400,"|");outtextxy(427,410,"10");outtextxy(465,395,"QIT");outtextxy(508,395,"CE");outtextxy(550,390,"2");outtextxy(550,400,"|");outtextxy(550,410,"8");outtextxy(590,390,&qu

34、ot;8");outtextxy(590,400,"|");outtextxy(587,410,"10");setcolor(4);outtextxy(465,350,"sft");outtextxy(388,347,"16");outtextxy(391,356,"|");outtextxy(388,366,"10");outtextxy(428,347,"16");outtextxy(431,356,"|");outtex

35、txy(432,366,"8");setlinestyle(0,0,3);setcolor(1);setfillstyle(1,7);bar3d(350,40,550,100,2,1);setlinestyle(0,0,1);line(351,60,549,60);line(450,40,450,60);line(415,61,415,98);setcolor(5);setfillstyle(1,3);bar(352,42,435,59);/*填充x*/outtextxy(355,48,"x=");setcolor(6);bar(461,42,548,5

36、9); /*填充y*/outtextxy(465,48,"y=");setfillstyle(1,6);bar(436,42,460,59);/*填充符號(hào)*/outtextxy(355,75,"Result=");setcolor(5);setfillstyle(1,15);bar(416,61,549,98);/*填充結(jié)果*/*開始*/ x=x0; y=y0; gotoxy(x,y); setcolor(6); arrow();/*顯示光標(biāo)*/ putimage(x,y,rar,XOR_PUT); m=0; n=0; strcpy(str2,"

37、;"); while(v=specialkey()!=45) while(v=specialkey()!=ENTER) /*當(dāng)壓下鍵不是回車時(shí)*/ putimage(x,y,rar,XOR_PUT); /*顯示光標(biāo)圖象*/ if(v=RIGHT) /*向右*/ if(x>=595) x=x0; m=0; else x=x+40; m+; if(v=LEFT) /*向左*/ if(x<=x0) x=595; m=8-1; else x=x-40; m-; if(v=UP) /*向上*/ if(y<=y0) y=410; n=6-1; else y=y-50; n-;

38、if(v=DOWN) /*向下*/ if(y>=410) y=y0; n=0; else y=y+50; n+; putimage(x,y,rar,XOR_PUT); c=str1n*8+m; if(isxdigit(c)|c='.') /*判斷是否是十六進(jìn)制的數(shù)字、字母或小數(shù)點(diǎn)*/ if(flag1=-1) /*flag1為負(fù)數(shù)標(biāo)志*/ strcpy(str2,"-"); flag1=1; sprintf(temp,"%c",c);/*將字符保存到字符串變量temp中*/ strcat(str2,temp); /*將temp中的字

39、符串連接到str2中*/ if(flag2=1) /*flag2為填充x或y的標(biāo)志*/ setfillstyle(1,3); bar(352,42,435,59);/*填充x*/ setcolor(5); outtextxy(355,48,"x="); outtextxy(372,48,str2);/*顯示字符串x的值*/ if(flag2=0) setcolor(6); setfillstyle(1,3); bar(461,42,548,59); /*填充y*/ outtextxy(465,48,"y="); outtextxy(480,48,str2

40、);/*顯示字符串y的值*/ flag2=1; if(c='+') num1=atof(str2);/*將第一個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*清空str2*/ act=1; setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(445,47,"+"); /*顯示'+'*/ flag2=0; if(c='-') if(strcmp(str2,"")=0) flag1=-1; else nu

41、m1=atof(str2); strcpy(str2,""); /*將str2清空*/ act=2; /*做計(jì)算減法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(445,47,"-"); /*顯示'-'*/ flag2=0; if(c='*') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=3; /*做計(jì)算乘法標(biāo)志值*/ se

42、tfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(445,47,"*"); /*顯示'*'*/ flag2=0; if(c='/') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=4; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(445,47,"/&q

43、uot;); /*顯示'/'*/ flag2=0; if(c='Q') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=7; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,"x2"); /*顯示'x2'*/ flag2=0; if(c='H') num1=atof(str2); /*將第二

44、個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=5; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,"xy"); /*顯示"xy"*/ flag2=0; if(c='N') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=6; /*做計(jì)算除法標(biāo)志值*/

45、setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,"x3"); /*顯示"x3"*/ flag2=0; if(c='R') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=8; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,&qu

46、ot;1/x"); /*顯示"1/x"*/ flag2=0; if(c='S') if(flag3=0) num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str7,str2); strcpy(str2,""); /*將str2清空*/ act=28; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,548,59); outtextxy(455,48,"jz:16->10"); /*顯示"jz:1

47、6->10"*/ flag3=0; flag5=0; else num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=9; /*做計(jì)算除法標(biāo)志值*/ setcolor(9); setfillstyle(1,6); bar(436,42,460,59); outtextxy(437,45,"sin"); /*顯示"sin"*/ setcolor(6); setfillstyle(1,3); bar(461,42,548,59); /*填充y

48、*/ outtextxy(465,48,"y="); flag2=0; if(c='M') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=10; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,"cos"); /*顯示"cos"*/ flag2=0; if(c='P') num1=

49、atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=11; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,"tan"); /*顯示"tan"*/ flag2=0; if(c='I') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/

50、act=12; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,"log"); /*顯示"log"*/ flag2=0; if(c='J') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=13; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,5

51、9); outtextxy(437,45,"ln"); /*顯示"ln"*/ flag2=0; if(c='T') if(flag3=0) num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str7,str2); strcpy(str2,""); /*將str2清空*/ act=29; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,548,59); outtextxy(455,48,"jz:16->8&q

52、uot;); /*顯示"jz:16->8"*/ flag3=0; flag5=0; else num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=14; /*做計(jì)算除法標(biāo)志值*/ setcolor(9); setfillstyle(1,6); bar(436,42,460,59); outtextxy(437,45,"exp"); /*顯示"exp"*/ setcolor(6); setfillstyle(1,3); bar(

53、461,42,548,59); /*填充y*/ outtextxy(465,48,"y="); flag2=0; if(c='K') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=15; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(437,45,"int"); /*顯示"int"*/ flag2=0; if

54、(c='O') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=16; /*做計(jì)算除法標(biāo)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59); outtextxy(442,45,"n!"); /*顯示"n!"*/ flag2=0; if(c='U') flag3=0; if(c='G') num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*/ act=17; /*做計(jì)算除法標(biāo)志值*/ setfi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論