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

下載本文檔

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

文檔簡(jiǎn)介

1、C語言課程設(shè)計(jì)報(bào)告設(shè) 計(jì) 題 目: 簡(jiǎn)單計(jì)算器設(shè)計(jì) 學(xué) 院 名 稱: 電子與信息工程學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 計(jì)科 姓 名: 學(xué) 號(hào) 指 導(dǎo) 教 師: 定稿日期: 2013-5-28 一、 設(shè)計(jì)題目簡(jiǎn)單計(jì)算器設(shè)計(jì)二、 設(shè)計(jì)要求在功能上功能盡量模擬windows操作系統(tǒng)中的計(jì)算器,系統(tǒng)界面不做強(qiáng)制要求。三、 設(shè)計(jì)目的 通過本項(xiàng)課程設(shè)計(jì),可以培養(yǎng)獨(dú)立思考、 綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識(shí)的能力,能更好的鞏固C語言程序設(shè)計(jì)課程學(xué)習(xí)的內(nèi)容,掌握 工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過理論與實(shí)踐相結(jié)合的難關(guān)!更加了解了c語言的好處和其可用性!同時(shí)增加了同學(xué)之間的團(tuán)隊(duì)合作精神!更加

2、也體會(huì)到以后在工作中團(tuán)隊(duì)合作的重要性和必要性! 通過C語言課程設(shè)計(jì),使學(xué)生了解高級(jí)程序設(shè)計(jì)語言的結(jié)構(gòu),掌握基本的程序設(shè)計(jì)過程和技巧,掌握基本的分析問題和利用計(jì)算機(jī)求解問題的能力,具備初步的高級(jí)語言程序設(shè)計(jì)能力。為后續(xù)各門計(jì)算機(jī)課程的學(xué)習(xí)和畢業(yè)設(shè)計(jì)打下堅(jiān)實(shí)基礎(chǔ)。四、 設(shè)計(jì)思想及過程 由于需要使功能盡量模仿Windows下的計(jì)算器,而很多功能要以圖形界面實(shí)現(xiàn),故用Borland C+ Builder編寫。所以用的是面向?qū)ο蟪绦蛟O(shè)計(jì)。但因?yàn)檫@是C語言的課程設(shè)計(jì),所以除了面向?qū)ο蟮氖褂靡酝?,所有語法都是按照C語言的格式編寫。 采用工程模式,文件包括calc.h(運(yùn)算主函數(shù)頭文件,包括各運(yùn)算符的操作以及

3、其輔助函數(shù))、Main.h(窗體類的聲明頭文件)、Calc.cpp(工程初始化文件)、Main.cpp(代碼主文件,包括各空間操作的函數(shù))以及一些其它附屬文件,包括dll動(dòng)態(tài)鏈接庫(kù)。 在參考了Windows里的計(jì)算器以后,決定在我的課程設(shè)計(jì)中實(shí)現(xiàn):1 09的數(shù)字輸入功能(小數(shù)點(diǎn)除外)2 實(shí)現(xiàn)加、減、乘、整除、取模、階乘、位運(yùn)算左移、x的y次方、與、異或、x立方、x平方運(yùn)算功能,二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制轉(zhuǎn)換功能,正負(fù)轉(zhuǎn)換功能,退格、歸零等功能。3 數(shù)字顯示最多為40位,超過即用科學(xué)表示法表示(例如1E50)。4 運(yùn)算時(shí)因最高能對(duì)5000位的數(shù)字進(jìn)行運(yùn)算,故所有功能建立在自行編寫代碼的高精

4、度運(yùn)算基礎(chǔ)上。 在按鍵操作中,先判斷用戶按的是數(shù)字鍵還是功能鍵。功能鍵分運(yùn)算符鍵、進(jìn)制轉(zhuǎn)換鍵以及清空鍵。然后記錄下來用戶當(dāng)前的按鍵,然后對(duì)上次按的功能鍵鍵進(jìn)行運(yùn)算。如按了1、+、5,再按任何功能鍵即對(duì)1+5進(jìn)行運(yùn)算。如果按的是進(jìn)制轉(zhuǎn)換鍵,就記錄當(dāng)前進(jìn)制,則在以后每次操作中,都將顯示結(jié)果轉(zhuǎn)換為當(dāng)前進(jìn)制再顯示。如:以下是按5以及*號(hào)時(shí)的函數(shù)代碼void _fastcall TMainForm : bt_5Click(TObject *Sender) /*輸入5*/ if(_lastKey = key_sym) initNum(&actNum); /*初始化當(dāng)前動(dòng)作數(shù)字*/ if(_last

5、Key = key_sym && nowSym = 'N') /*如果最后的按鍵是符號(hào)而且按的是等號(hào)*/ initNum(&ans); /*讓答案等于0*/ lastSym = 'N' incMed(&actNum, 5); /*將活動(dòng)數(shù)字加一位,并且最后一位是5*/ ShowText(actNum); /*顯示當(dāng)前活動(dòng)數(shù)字*/ _lastKey = key_num; /*記錄最后按鍵為數(shù)字鍵*/void _fastcall TMainForm : bt_mulClick(TObject *Sender) /*輸入*號(hào)*/ doA

6、ns(&ans, actNum,&nowSym, '*', lastSym, _lastKey); /*做出上一步答案(不是按乘號(hào)這一步)*/ ShowText(ans); /*顯示答案*/ lastSym = nowSym; /*現(xiàn)在即將運(yùn)算的符號(hào)賦值給最后的符號(hào)*/ nowSym = '*' /*將*號(hào)現(xiàn)在即將運(yùn)算*/ actNum = ans; /*將答案賦值給活動(dòng)數(shù)字*/ /initNum(&actNum); _lastKey = key_sym ; /*將最后的按鍵轉(zhuǎn)換為符號(hào)按鍵*/ 對(duì)于高精度,采用結(jié)構(gòu)體struct high

7、int numMAXN;的形式,數(shù)組的一個(gè)元素存一位。個(gè)位為num1,將符號(hào)存在num0之中。1 對(duì)于高精度加法,先判斷兩個(gè)數(shù)符號(hào),如果為異號(hào),則進(jìn)行高精度減法,否則將各位逐個(gè)相加,然后逐位進(jìn)位,返回答案即可。2 對(duì)于高精度減法,先判斷兩個(gè)數(shù)符號(hào),如果為異號(hào),則進(jìn)行高精度加法,否則用大數(shù)減小數(shù),逐個(gè)相減,然后逐位退位,判斷符號(hào)、返回答案即可。3 對(duì)于高精度乘法,用第二個(gè)數(shù)的各位乘以第一個(gè)數(shù)的各位。然后錯(cuò)位相加,相當(dāng)于小學(xué)生擺豎式。最后將各位相乘的結(jié)果相加,逐位進(jìn)位,判斷符號(hào)、返回答案即可。4 對(duì)于高精度整除,采用各位從09枚舉形式,如果此位與09相乘剛好小于等于相應(yīng)數(shù)字,則為此位答案為這個(gè)數(shù)。

8、最后返回答案即可。5 對(duì)于高精度取模,則只需求出高精度整除,然后將數(shù)字減去整除的結(jié)果即可。6 對(duì)于n階乘,做n次乘法,每乘一次,乘數(shù)減一。7 對(duì)于左移,雖然是建立在位運(yùn)算基礎(chǔ)上,但其效果只是乘以二,所以只需高精度乘以二即可。8 對(duì)于x的平方、立方、y次方,只需將x高精度相乘2次、3次或者更多次即可。9 對(duì)于與運(yùn)算,先將兩個(gè)數(shù)轉(zhuǎn)換為二進(jìn)制,然后對(duì)每位進(jìn)行與運(yùn)算,最后轉(zhuǎn)換回十進(jìn)制即可。10 對(duì)于異或運(yùn)算,原理同與運(yùn)算。 對(duì)于進(jìn)制轉(zhuǎn)換,采用除n取余法。將其轉(zhuǎn)換為相應(yīng)進(jìn)制。 對(duì)于清零鍵,按按鍵功能對(duì)actNum、ans、nowSym等變量清空或者減少一位即可。 我對(duì)于程序容錯(cuò)性做了很大程度上的優(yōu)化。對(duì)

9、于超出位數(shù)的運(yùn)算會(huì)跳出“數(shù)字太大”提示。對(duì)于各按鍵混合使用會(huì)導(dǎo)致的程序混亂用了極大程度上的優(yōu)化,也就是說對(duì)于按鍵的隨意性有很好的兼容性。比如說可以直接按2再按*然后按=,就會(huì)算出2的平方。 對(duì)于顯示函數(shù),先判斷當(dāng)前進(jìn)制數(shù),然后再將需要顯示的數(shù)字轉(zhuǎn)換為當(dāng)前進(jìn)制數(shù)再顯示。如果位數(shù)超過40,則取前幾位,采用科學(xué)計(jì)數(shù)法顯示。 未能實(shí)現(xiàn)部分:小數(shù)部分。由于時(shí)間關(guān)系,未能實(shí)現(xiàn)復(fù)制粘貼數(shù)字功能。五、 流程圖退格鍵減少一位歸零鍵退出結(jié)束清零相關(guān)其它鍵按鍵顯示函數(shù)是否增加一位清零操作前一次按鍵是數(shù)字?設(shè)置相關(guān)后效信息顯示函數(shù)運(yùn)算符運(yùn)算函數(shù)數(shù)字鍵按鍵開始六、 運(yùn)行過程打開Calc.exe,模擬Windows下的計(jì)

10、算器功能。 基本功能為輸入數(shù)字,再輸入運(yùn)算符,然后輸入運(yùn)算符對(duì)應(yīng)數(shù)字,按等號(hào)。 輸入數(shù)字,再輸入運(yùn)算符,輸入等于號(hào)的結(jié)果為“當(dāng)前輸入的數(shù)字運(yùn)算符當(dāng)前輸入的數(shù)字”??梢哉{(diào)節(jié)正負(fù)號(hào)。 輸入“數(shù)字,運(yùn)算符,數(shù)字,運(yùn)算符.數(shù)字,運(yùn)算符”亦可。七、 心得體會(huì)這次“簡(jiǎn)單計(jì)算器制作”的課程設(shè)計(jì)不僅讓我對(duì)C語言的熟悉程度上升到了另一個(gè)高度,而且在一定意義上對(duì)面向?qū)ο笤O(shè)計(jì)的理解更加深刻了。是我在編程路途上的一次質(zhì)的飛躍。而且在處理非常規(guī)數(shù)據(jù)類型的運(yùn)算的鍛煉下,使我對(duì)編程語言有了一個(gè)新的認(rèn)識(shí)。當(dāng)看著一個(gè)具有圖形界面的計(jì)算器的模型成品出現(xiàn)在自己面前時(shí),心中有著無限感慨,原來編程也不是非常遙不可及的,原來在編程的趣味

11、性中能讓我學(xué)到更多有意思的知識(shí)。附源程序清單: Calc.h(運(yùn)算函數(shù)集頭文件)#include<stdio.h>#include<string>#include<string.h>#define HIGH struct high#define MAXN 5000#define MAXSHOW 40#define key_num 0#define key_sym 1struct high int numMAXN;HIGH ans, actNum, nowShow;char nowSym = 'N', lastSym = 'N'

12、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(a.numi > b.numi) return true; else if(a.numi < b.numi) return false; return false;void copy(char *str, char *rstr, int op, int len) /將str的從op開始的len個(gè)字符復(fù)制到rstr中 int i = 0,

13、j = op - 1; for(; i <= len - 1 | strj = '0' i+, j+) rstri = strj; rstri = '0'void copyint(HIGH num, HIGH *rint, int op, int len) /將str的從op開始的len個(gè)字符復(fù)制到rstr中 int i = 1, j = op; for(; i <= len && j < MAXN; i+, j+) rint -> numi = num.numj;void initNum(HIGH *numb) /初始化

14、 int i; HIGH tmp; memset(tmp.num, 0, sizeof(tmp.num); *numb = tmp;int absCmp(HIGH a, HIGH b) /比較絕對(duì)值大小 int i; for(i = MAXN - 1; i > 0; i-) if(a.numi != b.numi) return (a.numi > b.numi); return -1;int getMed(HIGH a) /獲取位數(shù) int i, med; for(i = MAXN - 1; i > 0; i-) if(a.numi != 0) med = i; break

15、; if(i = 0) med = 1; return med;void turnSym(HIGH *a) /變號(hào) a -> num0 = a -> num0 = 0 ? -1 : 0;void decMed(HIGH *a) /減去一位 int i, med = getMed(*a); if(med = MAXN - 1) med-; for(i = 1; i <= med; i+) a -> numi = a -> numi + 1; a -> nummed = 0;void incMed(HIGH *a, int b) /加一位 int i, med

16、= getMed(*a); HIGH r; initNum(&r); if(med < MAXSHOW) for(i = 2; i <= med + 1; i+) r.numi = a -> numi - 1; r.num1 = b; r.num0 = a -> num0; else r = *a; *a = r;HIGH mul(HIGH a, HIGH b) /高精度乘法 int i, j, k, ma, mb; HIGH tmpr, r, zero; initNum(&zero); initNum(&r); ma = getMed(a);

17、mb = getMed(b); for(i = 1; i <= ma; i+) initNum(&tmpr); for(j = 1; j <= mb; j+) tmpr.numj = a.numi * b.numj; int tmpMed = getMed(tmpr); if(tmpMed + i > MAXN) initNum(&r); Application -> MessageBox("數(shù)字太大!", "錯(cuò)誤", MB_OKCANCEL); nowSym = 'N' _lastKey = ke

18、y_num; lastSym = 'N' return r; for(k = 1; k < tmpMed; k+) tmpr.numk + 1 += (tmpr.numk / 10); tmpr.numk %= 10; if(tmpr.numtmpMed > 10) tmpMed = getMed(tmpr); if(tmpMed + i > MAXN) initNum(&r); Application -> MessageBox("數(shù)字太大!", "錯(cuò)誤", MB_OKCANCEL); nowSym =

19、'N' _lastKey = key_num; lastSym = 'N' return r; for(j = 1; j <= tmpMed; j+) r.numj + i - 1 += tmpr.numj; for(i = 1; i < MAXN - 1; i+) r.numi + 1 += (r.numi / 10); r.numi %= 10; if(r.numMAXN - 1 > 9) initNum(&r); Application -> MessageBox("數(shù)字太大!", "錯(cuò)誤&qu

20、ot;, MB_OKCANCEL); nowShow = zero; nowSym = 'N' _lastKey = key_num; lastSym = 'N' return r; if(a.num0 = -1 && b.num0 = -1) | (a.num0 = 0 && b.num0 = 0) r.num0 = 0; else r.num0 = -1; return r;HIGH dec(HIGH a, HIGH b) /高精度減法 int i, med; HIGH r; HIGH inc(HIGH a, HIGH b);

21、 bool m = false; initNum(&r); if(a.num0 = -1 && b.num0 = -1) m = true; else if(a.num0 = -1) b.num0 = -1; return inc(a, b); else if(b.num0 = -1) a.num0 = -1; return inc(a, b); if(!absCmp(a, b) a.num0 = (a.num0 = 0) ? -1 : 0; b.num0 = (b.num0 = 0) ? -1 : 0; return dec(b, a); med = getMed(a

22、); for(i = 1; i <= med; i+) r.numi = a.numi - b.numi; for(i = 1; i <= med; i+) if(r.numi < 0) r.numi + 1 -= 1; r.numi = 10 + r.numi; if(m) r.num0 = -1; return r;HIGH inc(HIGH a, HIGH b) /高精度加法 int i; HIGH r, zero; bool m = false, err = false; initNum(&r); initNum(&zero); if(a.num0 =

23、 -1 && b.num0 = -1) m = true; else if(a.num0 = -1) a.num0 = 0; return dec(b, a); else if(b.num0 = -1) b.num0 = 0; return dec(a, b); for(i = 1; i < MAXN; i+) r.numi = a.numi + b.numi; for(i = 1; i < MAXN - 1; i+) r.numi + 1 += (r.numi / 10); r.numi %= 10; if(r.numMAXN - 1 > 9) initNu

24、m(&r); Application -> MessageBox("數(shù)字太大!", "錯(cuò)誤", MB_OKCANCEL); nowSym = 'N' _lastKey = key_num; lastSym = 'N' nowShow = zero; return r; if(m) r.num0 = -1; return r;HIGH div(HIGH a, HIGH b) /高精度整除 int i, j, ma = getMed(a), mb = getMed(b); HIGH r, tmpHigh, cmp

25、, someZero, theone; initNum(&r); initNum(&theone); if(a.num0 = b.num0) ; else r.num0 = -1; a.num0 = 0; b.num0 = 0; for(i = ma - mb + 1; i > 0; i-) initNum(&tmpHigh); copyint(a, &tmpHigh, i, ma); initNum(&cmp); for(j = 0; !_isbig(cmp, tmpHigh); j+) cmp = inc(cmp, b); theone.num

26、1 = j; if(_isbig(mul(theone, b), tmpHigh) j-; r.numi = j; initNum(&someZero); someZero.numi = j; someZero = mul(someZero, b); a = dec(a, someZero); return r;HIGH mod(HIGH a, HIGH b) /高精度取模 int i, j; HIGH tmpans; tmpans = div(a, b); return dec(a, mul(tmpans, b);String getHexStr(int a) /得到十六進(jìn)制字符串

27、if(a = 10) return "A" else if(a = 11) return "B" else if(a = 12) return "C" else if(a = 13) return "D" else if(a = 14) return "E" else if(a = 15) return "F"int getHex(HIGH a) /十六進(jìn)制取余 if(a.num2 = 0) return a.num1; else return a.num2 * 10 + a

28、.num1;HIGH hex(HIGH a) /轉(zhuǎn)化十六進(jìn)制 int i = 0, j; HIGH zero, r, sixteen; initNum(&zero); initNum(&r); initNum(&sixteen); sixteen.num1 = 6; sixteen.num2 = 1; if(a.num0 = -1) initNum(&r); Application -> MessageBox("不能為負(fù)數(shù)!", "錯(cuò)誤", MB_OKCANCEL); nowSym = 'N' _la

29、stKey = key_num; lastSym = 'N' nowShow = zero; return r; while(_isbig(a, zero) i+; r.numi = getHex(mod(a, sixteen); a = div(a, sixteen); if(getMed(r) > MAXSHOW) initNum(&r); Application -> MessageBox("數(shù)字太大!", "錯(cuò)誤", MB_OKCANCEL); nowShow = zero; nowSym = 'N&#

30、39; _lastKey = key_num; lastSym = 'N' return r; return r;HIGH bajinzhi(HIGH a) /轉(zhuǎn)化八進(jìn)制 int i = 0, j; HIGH zero, r, eight; initNum(&zero); initNum(&r); initNum(&eight); eight.num1 = 8; if(a.num0 = -1) initNum(&r); Application -> MessageBox("不能為負(fù)數(shù)!", "錯(cuò)誤",

31、 MB_OKCANCEL); nowSym = 'N' _lastKey = key_num; lastSym = 'N' nowShow = zero; return r; while(_isbig(a, zero) i+; r.numi = mod(a, eight).num1; a = div(a, eight); if(getMed(r) > MAXSHOW) initNum(&r); Application -> MessageBox("數(shù)字太大!", "錯(cuò)誤", MB_OKCANCEL);

32、nowShow = zero; nowSym = 'N' _lastKey = key_num; lastSym = 'N' return r; return r;HIGH bin(HIGH a) /轉(zhuǎn)化二進(jìn)制 int i = 0, j; HIGH zero, r, two; initNum(&zero); initNum(&r); initNum(&two); two.num1 = 2; if(a.num0 = -1) initNum(&r); Application -> MessageBox("不能為負(fù)數(shù)!&

33、quot;, "錯(cuò)誤", MB_OKCANCEL); nowShow = zero; nowSym = 'N' _lastKey = key_num; lastSym = 'N' return r; while(_isbig(a, zero) i+; r.numi = a.num1 % 2; a = div(a, two); if(getMed(r) > MAXSHOW) initNum(&r); Application -> MessageBox("數(shù)字太大!", "錯(cuò)誤", MB

34、_OKCANCEL); nowShow = zero; nowSym = 'N' _lastKey = key_num; lastSym = 'N' return r; return r;HIGH binToshi(HIGH a) int i, med = getMed(a); HIGH r, tmp, the1, tmp2, two, thetwo; initNum(&tmp); initNum(&tmp2); initNum(&the1); initNum(&thetwo); initNum(&two); two.nu

35、m1 = 1; thetwo.num1 = 2; the1.num1 = 1; initNum(&r); for(i = 1; i <= med; i+, tmp = inc(tmp, the1) tmp2.num1 = a.numi; r = inc(r, mul(tmp2, two); two = mul(two, thetwo); return r;HIGH and(HIGH a, HIGH b) /與 HIGH tmpa, tmpb, r; int med, meda, medb, i; initNum(&r); tmpa = bin(a); tmpb = bin

36、(b); meda = getMed(tmpa); medb = getMed(tmpb); med = (meda > medb) ? meda : medb; for(i = 1; i <= med; i+) r.numi = tmpa.numi & tmpb.numi; r = binToshi(r); return r;HIGH xor(HIGH a, HIGH b) /異或 HIGH tmpa, tmpb, r; int med, meda, medb, i; initNum(&r); tmpa = bin(a); tmpb = bin(b); meda

37、= getMed(tmpa); medb = getMed(tmpb); med = (meda > medb) ? meda : medb; for(i = 1; i <= med; i+) r.numi = tmpa.numi tmpb.numi; r = binToshi(r); return r;void doAns(HIGH *ans, HIGH actNum, char *nowSym, char newSym, char lastSym, bool lastKey) HIGH the1, zero, tmp; initNum(&the1); the1.num1

38、 = 1; if(lastKey = key_sym) if(newSym = 'N') /if(*nowSym != 'N') doAns(ans, *ans, nowSym, 'N', lastSym, key_num); /else if(*nowSym != 'N') doAns(ans, actNum, nowSym, 'N', lastSym, key_num); else if(lastSym != 'N') doAns(ans, actNum, &lastSym, '

39、N', lastSym, key_num); else *ans = actNum; else *nowSym = newSym; else if(lastKey = key_num) if(*nowSym = 'N') if(lastSym != 'N') doAns(ans, actNum, &lastSym, 'N', lastSym, lastKey); else *ans = actNum; else if(*nowSym = '+') *ans = inc(actNum, *ans); else if(

40、*nowSym = '-') *ans = dec(*ans, actNum); else if(*nowSym = '*') *ans = mul(*ans, actNum); else if(*nowSym = '/') *ans = div(*ans, actNum); else if(*nowSym = '2') *ans = mul(*ans, *ans); else if(*nowSym = '3') *ans = mul(mul(*ans, *ans), *ans); else if(*nowSym

41、= 'Y') initNum(&zero); if(actNum.num0 = -1 | !_isbig(actNum, zero) *ans = the1; return ; zero.num1 = 2; tmp = *ans; for(; !_isbig(zero, actNum); zero = inc(zero, the1) *ans = mul(*ans, tmp); else if(*nowSym = 'L') initNum(&zero); zero.num1 = 2; if(*nowSym = '2') *ans

42、= mul(*ans, zero); else if(*nowSym = 'M') *ans = mod(*ans, actNum); else if(*nowSym = '!') actNum = dec(*ans, the1); initNum(&zero); while(_isbig(actNum, zero) *ans = mul(*ans, actNum); actNum = dec(actNum, the1); else if(*nowSym = 'A') *ans = and(*ans, actNum); else if(*

43、nowSym = 'X') *ans = xor(*ans, actNum); Calc.cpp /*由BCB生成*/#include<vcl.h>#pragma hdrstop /-USEFORM("Main.cpp", MainForm);/-WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) try Application -> Initialize();Application -> CreateForm(_classid(TMainForm), &MainForm); Ap

44、plication -> Run(); catch(Exception &exception) Application -> ShowException(&exception); catch(.) try throw Exception(""); catch(Exception&exception) Application -> ShowException(&exception); return 0;/- Main.h /*由BCB生成*/#ifndef MainH#define MainH/-#include <Classes.hpp>#include <Controls.hpp>#in

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論