版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、攀枝花學(xué)院學(xué)生課程設(shè)計(jì)(論文)題 目: 計(jì)算機(jī)設(shè)計(jì) 學(xué)生姓名: 李杰 學(xué) 號(hào): 201510802007所在院(系): 數(shù)學(xué)與計(jì)算機(jī)學(xué)院 專(zhuān) 業(yè): 信息與計(jì)算科學(xué) 班 級(jí): 2015級(jí)2班 指 導(dǎo) 教 師: 職稱: 講師 2015年 1 月 8 日攀枝花學(xué)院教務(wù)處制攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書(shū)題目計(jì)算器設(shè)計(jì)1、課程設(shè)計(jì)的目的本課程設(shè)計(jì)的目的和任務(wù):(1)鞏固和加深學(xué)生對(duì)C語(yǔ)言課程的基本知識(shí)的理解和掌握;(2)掌握C語(yǔ)言編程和程序調(diào)試的基本技能;(3)利用C語(yǔ)言進(jìn)行簡(jiǎn)單軟件設(shè)計(jì)的基本思路和方法;(4)提高運(yùn)用C語(yǔ)言解決實(shí)際問(wèn)題的能力。2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求
2、等)一、用C實(shí)現(xiàn)如下功能:使用C語(yǔ)言編寫(xiě)一個(gè)類(lèi)似于Windows附件提供的計(jì)算器軟件,實(shí)現(xiàn)計(jì)算器的基本功能,能進(jìn)行浮點(diǎn)數(shù)的加、減、乘、除、乘方和求模運(yùn)算。二、撰寫(xiě)課程設(shè)計(jì)報(bào)告或課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)報(bào)告要求:總結(jié)報(bào)告包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼(詳細(xì)寫(xiě)出編程步驟)、測(cè)試的步驟和內(nèi)容、課程設(shè)計(jì)總結(jié)、參考資料等,不符合以上要求者,則本次設(shè)計(jì)以不及格記。3、主要參考文獻(xiàn)1譚浩強(qiáng),C程序設(shè)計(jì),清華大學(xué)出版社2劉振安,孫忱,劉燕君,C程序設(shè)計(jì)課程設(shè)計(jì),機(jī)械工業(yè)出版社3汪詩(shī)林,數(shù)據(jù)結(jié)構(gòu)算法與應(yīng)用,機(jī)械工業(yè)出版社4、課程設(shè)計(jì)工作進(jìn)度計(jì)劃課程設(shè)計(jì)時(shí)間為一周,分四個(gè)階段完成:1. 分析設(shè)計(jì)階段。引導(dǎo)學(xué)生
3、自主學(xué)習(xí)和鉆研問(wèn)題,明確設(shè)計(jì)要求,找出實(shí)現(xiàn)方法,按照需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)這幾個(gè)步驟進(jìn)行。這一階段前第1天完成。2. 編碼調(diào)試階段:根據(jù)設(shè)計(jì)分析方案編寫(xiě)C語(yǔ)言代碼,然后調(diào)試該代碼,實(shí)現(xiàn)課題要求的功能。這一階段在第2-3天完成。3. 總結(jié)報(bào)告階段:總結(jié)設(shè)計(jì)工作,寫(xiě)出課程設(shè)計(jì)說(shuō)明書(shū),要求學(xué)生寫(xiě)出需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試的步驟和內(nèi)容。這一階段在第4天完成。4. 考核階段。這一階段在第5天完成。指導(dǎo)教師(簽字)日期年 月 日教研室意見(jiàn):年 月 日學(xué)生(簽字): 接受任務(wù)時(shí)間: 年 月 日注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě)。課程設(shè)計(jì)(論文)指導(dǎo)教師成績(jī)?cè)u(píng)定表題目名稱評(píng)分項(xiàng)目分值得分評(píng)價(jià)內(nèi)涵工
4、作表現(xiàn)20%01學(xué)習(xí)態(tài)度6遵守各項(xiàng)紀(jì)律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實(shí)踐、調(diào)研7通過(guò)實(shí)驗(yàn)、試驗(yàn)、查閱文獻(xiàn)、深入生產(chǎn)實(shí)踐等渠道獲取與課程設(shè)計(jì)有關(guān)的材料。03課題工作量7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。能力水平35%04綜合運(yùn)用知識(shí)的能力10能運(yùn)用所學(xué)知識(shí)和技能去發(fā)現(xiàn)與解決實(shí)際問(wèn)題,能正確處理實(shí)驗(yàn)數(shù)據(jù),能對(duì)課題進(jìn)行理論分析,得出有價(jià)值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5能獨(dú)立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研;能提出并較好地論述課題的實(shí)施方案;有收集、加工各種信息及獲取新知識(shí)的能力。06設(shè)計(jì)(實(shí)驗(yàn))能力,方案的設(shè)計(jì)能力5能正確設(shè)計(jì)實(shí)驗(yàn)方案,獨(dú)立進(jìn)行裝置安裝、調(diào)試、操作等實(shí)驗(yàn)工作,數(shù)據(jù)正確、可
5、靠;研究思路清晰、完整。07計(jì)算及計(jì)算機(jī)應(yīng)用能力5具有較強(qiáng)的數(shù)據(jù)運(yùn)算與處理能力;能運(yùn)用計(jì)算機(jī)進(jìn)行資料搜集、加工、處理和輔助設(shè)計(jì)等。08對(duì)計(jì)算或?qū)嶒?yàn)結(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟(jì)分析能力)10具有較強(qiáng)的數(shù)據(jù)收集、分析、處理、綜合的能力。成果質(zhì)量45%09插圖(或圖紙)質(zhì)量、篇幅、設(shè)計(jì)(論文)規(guī)范化程度5符合本專(zhuān)業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設(shè)計(jì)說(shuō)明書(shū)(論文)質(zhì)量30綜述簡(jiǎn)練完整,有見(jiàn)解;立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理;實(shí)驗(yàn)正確,分析處理科學(xué)。11創(chuàng)新10對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見(jiàn)解。成績(jī)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師簽名: 年月日摘 要課程設(shè)計(jì)語(yǔ)言類(lèi)課程的指導(dǎo)思想
6、:使學(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í)一門(mén)語(yǔ)言并不難,關(guān)鍵是所追求的學(xué)習(xí)方法和途徑。通過(guò)C語(yǔ)言程序設(shè)計(jì),可以使我們掌握軟件開(kāi)發(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)很困難,這時(shí)候我們就必須用到計(jì)算器。人們對(duì)計(jì)算的要求不斷提高,普通的功能
7、簡(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)方式。本程序的編寫(xiě)基礎(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)換,就可以直接輸出數(shù)學(xué)四則運(yùn)算的結(jié)果。但是,每次只能運(yùn)算一個(gè)表達(dá)式,按 CE清
8、空后再計(jì)算下一組式子。本程序在進(jìn)制轉(zhuǎn)換方面有一些漏洞,但一般的進(jìn)制轉(zhuǎn)換結(jié)果還是準(zhǔn)確的。關(guān)鍵字:C語(yǔ)言程序設(shè)計(jì) 基本算法 高級(jí)編程語(yǔ)言 思想和方法 計(jì)算器目錄第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ì)算器的設(shè)計(jì)2. 我選這道題的原因如下: 計(jì)算器對(duì)我們每一的學(xué)生都很熟悉,從初中到高中再到大學(xué)。但是我們
9、只知道按下幾個(gè)按鈕計(jì)算器便會(huì)顯示出結(jié)果,很少有學(xué)生分析過(guò)計(jì)算器究竟是如何運(yùn)行的。C語(yǔ)言課程設(shè)計(jì)便是一個(gè)很好的機(jī)會(huì),讓我去親自寫(xiě)計(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徐君毅.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).上海:復(fù)旦大學(xué)出版社,1992:87-983李成付.C語(yǔ)言程序設(shè)計(jì)基礎(chǔ).北京
10、:科學(xué)出版社,1992:42-674郝玉潔.C語(yǔ)言程序設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2000:63-885錢(qián)啟平.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ì).北京:清華大學(xué)出版社,2000:74-129第2章 系統(tǒng)功能需求分析2.1系統(tǒng)的基本要求1. 算術(shù)運(yùn)算功能。能
11、夠?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ò)鍵盤(pán)控制字符和數(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> /*庫(kù)函數(shù)*/<stdarg.h> /*變量長(zhǎng)度參數(shù)表*/<graphics.h>
12、; /*圖形函數(shù)*/<string.h> /*字符串函數(shù)*/<ctype.h> /*字符操作函數(shù)*/。基本使用:用控制鼠標(biāo)圖形移動(dòng),當(dāng)移動(dòng)到相應(yīng)得按鈕時(shí)按回車(chē)鍵輸入當(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,按“”,輸入數(shù)y,按“=”,輸出結(jié)果。求余:輸入一個(gè)數(shù),按“mod”,按“=”,輸出結(jié)果。取整:輸入一個(gè)
13、數(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”,輸出十進(jìn)制結(jié)果。第3章 系統(tǒng)設(shè)計(jì)顯示結(jié)果結(jié)束mod、x3、ln、exp、tan、cos、x2、1/x
14、、n!、sin、以及進(jìn)制轉(zhuǎn)換輸入第二個(gè)數(shù)y+、-、*、/、xy、log、等輸入第一個(gè)數(shù)x開(kāi)始第4章 系統(tǒng)實(shí)現(xiàn)本系統(tǒng)采用 C語(yǔ)言開(kāi)發(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) 和#include <conio.h> 來(lái)實(shí)現(xiàn)對(duì)屏幕的操作,通過(guò)調(diào)用int arrow()函數(shù)
15、,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)致程序不能編譯,去圖書(shū)館查找相關(guān)的資料, 又同學(xué)一起討論。通過(guò)耐心的分析源代碼終于編好了一個(gè)完整無(wú)誤的程序。在這次的c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)中遇到了現(xiàn)實(shí)編程中必然見(jiàn)到的問(wèn)題通過(guò)這些問(wèn)題的解決積累了編程的實(shí)踐經(jīng)驗(yàn)。在實(shí)際的編程操作中發(fā)現(xiàn)自己c語(yǔ)言知識(shí)
16、的不足,加深了對(duì)c語(yǔ)言的理解。在學(xué)習(xí)之余體驗(yàn)到收獲的感覺(jué).善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個(gè)編程任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時(shí)總結(jié),找到自己的不足,這樣所編寫(xiě)的程序才能逐步提高.課程設(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ī)開(kāi)發(fā)技術(shù)是十分重要的。自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整半個(gè)學(xué)期的日子里,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)
17、過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(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)一步提高思想覺(jué)悟。尤其是觀察、分析和解決問(wèn)題的實(shí)際工作能力,以便培養(yǎng)成為能夠主動(dòng)適應(yīng)社會(huì)主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個(gè)學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計(jì)雖然安排在一周進(jìn)行,但并不具有絕對(duì)獨(dú)立的意義。它的一個(gè)重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗(yàn)學(xué)習(xí)成果。
18、運(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í)、能力準(zhǔn)備,從而縮短從校園走向社會(huì)的心理轉(zhuǎn)型期。課程設(shè)計(jì)促進(jìn)了我系人才培養(yǎng)計(jì)劃的完善和課程設(shè)置的調(diào)整。近
19、年來(lái),我系為適應(yīng)學(xué)生的實(shí)踐需要陸續(xù)增設(shè)與調(diào)整了一系列課程,受到同學(xué)的歡迎,其中這次的設(shè)計(jì)很受同學(xué)們的喜歡。課程設(shè)計(jì)達(dá)到了專(zhuān)業(yè)學(xué)習(xí)的預(yù)期目的。在一個(gè)星期的課程設(shè)計(jì)之后,我們普遍感到不僅實(shí)際動(dòng)手能力有所提高,更重要的是通過(guò)對(duì)軟件開(kāi)發(fā)流程的了解,進(jìn)一步激發(fā)了我們對(duì)專(zhuān)業(yè)知識(shí)的興趣,并能夠結(jié)合實(shí)際存在的問(wèn)題在專(zhuān)業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。程序源代碼:#include <dos.h> /*DOS接口函數(shù)*/#include <math.h> /*數(shù)學(xué)函數(shù)的定義*/#include <conio.h> /*屏幕操作函數(shù)*/#include <stdio.h> /
20、*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 0x4b /*光標(biāo)左移鍵*/#define RIGHT 0x4d /*光標(biāo)右移鍵*/#define E
21、NTER 0x0d /*回車(chē)鍵*/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,flag5=1; char str25="",temp20="&quo
22、t;,c,str310="",str410="",str520="",str720="" char str1='A','1','2','3','4','5','6','7','B','8','9','=','+','-','*','/','C',
23、'G','H','I','J','K','L','0','D','M','N','O','P','Q','.','$','E','R','S','T','U', 'V','','(','F','W',
24、'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,""); /*初始化*/ setcolor(0); /*繪畫(huà)*/ setlinestyle(0,0,3); setfills
25、tyle(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); pieslice(185,265,0,360,5); fillpoly(4,sj2); ellipse(1
26、50,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); /*鍵盤(pán)外框 三維*/setlinestyle(0,0,1);setfillstyle(1,8);bar3d(290,130,620,430,5,1); /*鍵盤(pán)內(nèi)框 三維*/setcolor(2); /*綠色*/s
27、etfillstyle(1,7); /*畫(huà)按鈕輪廓 三維*/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);bar3d(300,185,330,225,2,1);bar3d(340,185,370,225,2,1);
28、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(420,235,450,275,2,1);bar3d(460,235,490,275,2,1);bar
29、3d(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,285,570,325,2,1);bar3d(580,285,610,325,2,1);bar3d(
30、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);bar3d(300,385,330,420,2,1);bar3d(340,385,370,420,2,1);
31、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");outtextxy(390,150,"2");outtextxy(430,15
32、0,"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");outtextxy(425,195,"=");outtextxy(465,195,&
33、quot;+");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");outtextxy(465,245,"ln");outtextxy(505,24
34、5,"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");outtextxy(430,295,"n!");outtextxy(46
35、5,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");outtextxy(385,338,"sin");outtextx
36、y(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,"2");outtextxy(590,350,"|");outtext
37、xy(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,"16");outtextxy(430,390,"2");outtex
38、txy(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,"8");outtextxy(590,400,"|");outte
39、xtxy(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,"|");outtextxy(432,366,"8");setlinestyle(0,0,3);set
40、color(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,59); /*填充y*/outtextxy(465,48,"y=");setfil
41、lstyle(1,6);bar(436,42,460,59);/*填充符號(hào)*/outtextxy(355,75,"Result=");setcolor(5);setfillstyle(1,15);bar(416,61,549,98);/*填充結(jié)果*/*開(kāi)始*/ x=x0; y=y0; gotoxy(x,y); setcolor(6); arrow();/*顯示光標(biāo)*/ putimage(x,y,rar,XOR_PUT); m=0; n=0; strcpy(str2,""); while(v=specialkey()!=45) while(v=specia
42、lkey()!=ENTER) /*當(dāng)壓下鍵不是回車(chē)時(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-; if(v=DOWN) /*向下*/ if(y>=410) y=y0; n=0; else y=
43、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中的字符串連接到str2中*/ if(flag2=1) /*flag2為填充x或y的標(biāo)志*/ setfil
44、lstyle(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);/*顯示字符串y的值*/ flag2=1; if(c='+') num1=ato
45、f(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 num1=atof(str2); strcpy(str2,""); /*將str2清
46、空*/ 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)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59);
47、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,"/"); /*顯示'/'*/ flag2=0; if(c='Q'
48、) 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); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/ strcpy(str2,""); /*將str2清空*
49、/ 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)志值*/ setfillstyle(1,6); setcolor(9); bar(436,42,460,59)
50、; 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,"1/x"); /*顯示"1/x"*/ flag2=0; if(c
51、='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:16->10"*/ flag3=0; flag5=0; else num1=atof(
52、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*/ outtextxy(465,48,"y="); flag2=0; if(c
53、='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=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清空*/ act=1
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商平臺(tái)100%股權(quán)出讓協(xié)議3篇
- 2024某書(shū)法家與某拍賣(mài)行之間關(guān)于書(shū)法作品拍賣(mài)之合作協(xié)議
- 廣西桂林市2025年中考語(yǔ)文模擬試題三套【附參考答案】
- 18書(shū)湖陰先生壁 說(shuō)課稿-2024-2025學(xué)年六年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 2024年運(yùn)動(dòng)場(chǎng)地使用權(quán)轉(zhuǎn)讓合同
- 16《朱德扁擔(dān)》第一課時(shí) 說(shuō)課稿-2024-2025學(xué)年語(yǔ)文二年級(jí)上冊(cè)統(tǒng)編版
- 2024文化墻環(huán)保材料供應(yīng)及安裝一體化工程合同3篇
- 2024年通信行業(yè)保密合同精簡(jiǎn)版范文版
- 2024浴池租賃合同-溫泉度假村合作管理服務(wù)協(xié)議3篇
- 2024某電商平臺(tái)與某物流公司關(guān)于2024年物流服務(wù)合同
- 小學(xué)語(yǔ)文作業(yè)分層設(shè)計(jì)分析
- 讀者文章匯總 讀者文摘100篇
- 現(xiàn)代文閱讀之散文
- 山東省濟(jì)南市高職單招2022-2023學(xué)年醫(yī)學(xué)綜合真題及答案
- 配色技術(shù)員工作計(jì)劃工作總結(jié)述職報(bào)告PPT模板下載
- 挖掘機(jī)、裝載機(jī)檢驗(yàn)報(bào)告完整
- 小學(xué)科學(xué)三年級(jí)上冊(cè)期末考試質(zhì)量分析
- 從業(yè)人員在安全生產(chǎn)方面的權(quán)利和義務(wù)
- Architecture-古希臘古羅馬建筑英文版
- 一年級(jí)語(yǔ)文教學(xué)工作總結(jié)優(yōu)秀4篇
- YY 0286.1-2019專(zhuān)用輸液器第1部分:一次性使用微孔過(guò)濾輸液器
評(píng)論
0/150
提交評(píng)論