




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單位電氣與電子工程分院( 系)專業(yè)電氣與電子工程學(xué)號學(xué)生姓名彭東林指導(dǎo)教師劉輝完成日期年月日摘要課程設(shè)計語言類課程的指導(dǎo)思想:使學(xué)生通過學(xué)習(xí)高級編程語言的知識、編程技術(shù)和基本算法,掌握課程設(shè)計的思想和方法,具備利用計算機(jī)求解實(shí)際問題的能力,能靈活運(yùn)用高級語言進(jìn)行程序設(shè)計。其實(shí)認(rèn)真學(xué)習(xí)一門語言并不難,關(guān)鍵是所追求的學(xué)習(xí)方法和途徑。通過 C 語言程序設(shè)計, 可以使我們掌握軟件開發(fā)過程的難題分析、 系統(tǒng)設(shè)計、程序編碼、測試程序等基本方法和技能。同時,還能加強(qiáng)我們的時間管理意識,鍛煉對難題的發(fā)現(xiàn)、分析和處理能力。我認(rèn)為遇到難題并不可怕,可怕的是你不去解決,這可能是 C 語言課程設(shè)計的主要目的之一?,F(xiàn)時
2、學(xué)習(xí)生活中, 常會遇到一些數(shù)目較大數(shù)據(jù)繁雜的數(shù)值運(yùn)算, 徒手運(yùn)算起來很困難, 這時候我們就必須用到計算器。 人們對計算的要求不斷提高,普通的功能簡單的僅能進(jìn)行四則運(yùn)算的計算工具已經(jīng)不能滿足需要,需要一種能進(jìn)行多種計算。 現(xiàn)在已經(jīng)有一些功能較為強(qiáng)大、 涵蓋面較廣的計算軟件, 而且各種平臺的小工具仍不斷出現(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,求
3、 Log10,求階乘,取整,求正切,以及進(jìn)制之間的相互轉(zhuǎn)換。 它可以直接輸入數(shù)學(xué)表達(dá)式, 不需要任何轉(zhuǎn)換,就可以直接輸出數(shù)學(xué)四則運(yùn)算的結(jié)果。 但是,每次只能運(yùn)算一個表達(dá)式,按 CE 清空后再計算下一組式子。本程序在進(jìn)制轉(zhuǎn)換方面有一些漏洞,但一般的進(jìn)制轉(zhuǎn)換結(jié)果還是準(zhǔn)確的。關(guān)鍵字: C 語言程序設(shè)計基本算法高級編程語言思想和方法計算器Tubro c 2.0漢化版第1章選題的意義, ,1.1紹,1.2題,第 2 章 系統(tǒng)功能需求分析 ,2.1系求 ,2.2數(shù)法,第3章系統(tǒng)設(shè)計 ,第4章系統(tǒng)實(shí)現(xiàn) ,第5章總結(jié) ,目 錄4自我介4選45統(tǒng)的基本要5據(jù)結(jié)構(gòu)和用5678第 1 章 選題的意義1.1 自我介紹
4、我的名字是彭東林,就讀于石家莊鐵道大學(xué),電0905-2 班,電氣與電子工程分院。1.2 選題1.2.我選的題目是:簡單計算器的設(shè)計我選這道題的原因如下:計算器對我們每一的學(xué)生都很熟悉,從初中到高中再到大學(xué)。但是我們只知道按下幾個按鈕計算器便會顯示出結(jié)果,很少有學(xué)生分析過計算器究竟是如何運(yùn)行的。C 語言課程設(shè)計便是一個很好的機(jī)會,讓我去親自寫計算器的運(yùn)行代碼,盡管是簡單計算器的設(shè)計,但其背后的知識那是相當(dāng)多的,對我是個挑戰(zhàn),我接受!3. 運(yùn)用的數(shù)據(jù)結(jié)構(gòu)和知識點(diǎn)TuborC 繪圖知識數(shù)學(xué)函數(shù)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)數(shù)組指針順序結(jié)構(gòu)進(jìn)制間的轉(zhuǎn)換4.時間安排5.主要參考文獻(xiàn): C 語言繪圖與計算機(jī)仿真技術(shù)王強(qiáng)
5、如北京航空航天大學(xué)1科 欽 .C 語言程序設(shè)計 .北京 :電子工業(yè)出版社 ,1987:56-582徐君毅 .C 語言程序設(shè)計基礎(chǔ).上海 :復(fù)旦大學(xué)出版社 ,1992:87-983李成付 .C 語言程序設(shè)計基礎(chǔ).北京 :科學(xué)出版社 ,1992:42-674郝玉潔 .C 語言程序設(shè)計 .北京 :機(jī)械工業(yè)出版社 ,2000:63-885錢啟平 .C 語言程序設(shè)計基礎(chǔ).北京 :中國鐵道出版社 ,2000:91-996李大友 .C 語言程序設(shè)計基礎(chǔ).北京 :清華大學(xué)出版社 ,1999:58-987黃迪明 .C 語言程序設(shè)計.北京 :電子科技大學(xué)出版社,1998:78-988姜仲秋 .C 語言程序設(shè)計基礎(chǔ)
6、.南京 :南京大學(xué)出版社,1998:16-1009李國昌 .C 語言程序設(shè)計基礎(chǔ).北京 :科學(xué)出版社 ,1998:78-12010譚浩強(qiáng) .C 語言程序設(shè)計.北京 :清華大學(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、1x 等運(yùn)算。3. 進(jìn)制之間的轉(zhuǎn)換功能。能夠?qū)崿F(xiàn)十六、十、二、八進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換。4.通過鍵盤控制字符和數(shù)字的輸入。2.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計及用法說明此程
7、序調(diào)用的函數(shù)主要有2”,輸出二進(jìn)制結(jié)果。十進(jìn)制轉(zhuǎn)八進(jìn)制:輸入一個十進(jìn)制數(shù),按“10-8”,輸出八進(jìn)制結(jié)果。八進(jìn)制轉(zhuǎn)十進(jìn)制:輸入一個八進(jìn)制數(shù),按“10-8”,輸出十進(jìn)制結(jié)果。第3章系統(tǒng)設(shè)計第4章系統(tǒng)實(shí)現(xiàn)本系統(tǒng)采用 C 語言開發(fā) , 生成可執(zhí)行文件在任何系統(tǒng)下都可以執(zhí)行,具有很好的數(shù)據(jù)處理能力和穩(wěn)定性。并且使用Turbo C 2.0漢化版在原有基礎(chǔ)上實(shí)現(xiàn)了多漢字的支持, 方便了我們的使用。 生成的程序可移植性強(qiáng)、兼容性好。這個系統(tǒng)是基于軟件發(fā)展的生命周期來研制的,它可以直接輸入數(shù)學(xué)表達(dá)式,不需要任何轉(zhuǎn)換,就可以直接輸出數(shù)學(xué)四則運(yùn)算的結(jié)果。本程序通過調(diào)用int specialkey(void)和 #
8、include =595)x=x0;m=0;elsex=x+40;m+;if(v=LEFT) *向左 *if(x=x0)x=595;m=8-1;elsex=x-40;m-;if(v=UP) *向上 *if(y=410)向下 *y=y0;n=0;elsey=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 中
9、 *strcat(str2,temp); *將 temp 中的字符串連接到str2中*if(flag2=1)*flag2為填充x 或y 的標(biāo)志 *setfillstyle(1,3);bar(9);*填充 x*setcolor(5);outtextxy(x=);outtextxy(str2);*if(flag2=0)setcolor(6);setfillstyle(1,3);bar(9); *填充outtextxy(y=);outtextxy(str2);*flag2=1;y*顯示字符串顯示字符串x 的值 *y 的值 *if(c=+)num1=atof(str2);* strcpy(str2,)
10、; *將第一個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)清空 str2*act=1;setfillstyle(1,6);setcolor(9);bar(9);outtextxy(+); *顯示 +*flag2=0;if(c=-)if(strcmp(str2,)=0)flag1=-1;elsenum1=atof(str2);strcpy(str2,); *將str2清空 *act=2; *做計算減法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(-); *顯示 -*flag2=0;if(c=*)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*str
11、cpy(str2,); *將str2清空 *act=3; *做計算乘法標(biāo)志值*setfillstyle(1,6);setcolor(9);bar(9);outtextxy(*); *顯示 *flag2=0;if(c=)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將str2清空 *act=4; *做計算除法標(biāo)志值*setfillstyle(1,6);setcolor(9);bar(9);outtextxy(); *顯示 *flag2=0;if(c=Q)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,);
12、*將str2清空 *act=7; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(x2); *顯示 x2*flag2=0;if(c=H)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將str2清空 *act=5; *做計算除法標(biāo)志值*setfillstyle(1,6);setcolor(9);bar(9);outtextxy(xy); *顯示 xy*flag2=0;if(c=N)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將s
13、tr2清空 *act=6; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(x3); *顯示 x3*flag2=0;if(c=R)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將str2清空 *act=8; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(1x); *顯示 1x*flag2=0;if(c=S)if(flag3=0)num1=atof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * strcpy
14、(str7,str2);strcpy(str2,); *將 str2清空 *act=28; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:16-10); *顯示 jz:16-10*flag3=0;flag5=0;elsenum1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將str2清空 *act=9; *做計算除法標(biāo)志值 *setcolor(9);setfillstyle(1,6);bar(9);outtextxy(sin); *顯示 sin*setcolor(6);setf
15、illstyle(1,3);bar(9); *填充y*outtextxy(y=);flag2=0;if(c=M)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將str2清空 *act=10; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(cos); *顯示 cos*flag2=0;if(c=P)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將 str2清空 *act=11; *做計算除法標(biāo)志值 *setfillstyle(1,
16、6);setcolor(9);bar(9);outtextxy(tan); *顯示 tan*flag2=0;if(c=I)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將 str2清空 *act=12; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(log); *flag2=0;if(c=J)顯示 log*num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將 str2清空 *act=13; *做計算除法標(biāo)志值 *setfillst
17、yle(1,6);setcolor(9);bar(9);outtextxy(ln); *顯示 ln*flag2=0;if(c=T)if(flag3=0)num1=atof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * strcpy(str7,str2);strcpy(str2,); *將 str2清空 *act=29; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:16-8); *顯示 jz:16-8*flag3=0;flag5=0;elsenum1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)strcpy
18、(str2,); *將 str2清空 *act=14; *做計算除法標(biāo)志值 *setcolor(9);setfillstyle(1,6);bar(9);outtextxy(exp); *顯示 exp*setcolor(6);setfillstyle(1,3);bar(9); *填充 y*outtextxy(y=);flag2=0;*if(c=K)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將str2清空 *act=15; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(int
19、); *顯示 int*flag2=0;if(c=O)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將 str2清空 *act=16; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(n!); *顯示 n!*flag2=0;if(c=U)flag3=0;if(c=G)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將str2清空 *act=17; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);ba
20、r(9);outtextxy(mod); *顯示 mod*flag2=0;if(c=V)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將 str2清空 *act=18; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:10-2); *顯示 jz:10-2*flag3=0;if(c=W)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將 str2清空 *act=19; *做計算除法標(biāo)志值 *setfillstyle(1,6);
21、setcolor(9);bar(9);outtextxy(jz:10-8); *顯示 jz:10-8*flag3=0;if(c=X)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*strcpy(str2,); *將 str2清空 *act=20; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:10-16); *顯示 jz:10-16*flag3=0;flag4=0;if(c=Y)num1=atof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * cd=strlen(str2);strcpy(str2,
22、); *將 str2清空 *act=21; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:2-10); *顯示 jz:2-10*flag3=0;if(c=)num1=atof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * cd=strlen(str2);strcpy(str2,); *將 str2清空 *act=22; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:2-8); *顯示 jz:2-8*flag3=0;if(c=|)num1=a
23、tof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * cd=strlen(str2);strcpy(str2,); *將 str2清空 *act=23; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:8-10); *顯示 jz:8-10*flag3=0;if(c=()num1=atof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * cd=strlen(str2);strcpy(str2,); *將 str2清空 *act=24; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);
24、bar(9);outtextxy(jz:2-16); *顯示 jz:2-16*flag3=0;if(c=)num1=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*cd=strlen(str2);strcpy(str2,); *將 str2清空 *act=25; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:8-16); * 顯示 jz:8-16* flag3=0;if(c=$)num1=atof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * cd=strlen(str2);strcpy(str2,); *將
25、 str2清空 *act=26; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:8-2); *顯示 jz:8-2*flag3=0;if(c=L)num1=atof(str2); * 將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) * strcpy(str7,str2);strcpy(str2,); *將 str2清空 *act=27; *做計算除法標(biāo)志值 *setfillstyle(1,6);setcolor(9);bar(9);outtextxy(jz:16-2); *顯示 jz:16-2*flag3=0;flag5=0;if(c=&)
26、num1=0;num2=0;strcpy(str2,);strcpy(str5,);setcolor(1);setfillstyle(1,15);bar(8);*清空結(jié)果 *setcolor(5);setfillstyle(1,3);bar(9);*清空 x*outtextxy(x=);setcolor(6);bar(9); *清空 y*outtextxy(y=);setfillstyle(1,6);bar(9);*清空符號 *strcpy(str7,);cd1=0;num=0;flag2=1;flag3=1;flag4=1;flag5=1;cd=0;zj=0;zj1=0;if(c=Z)put
27、image(x,y,rar,XOR_PUT);goto tie;*退出 *if(c=)num2=atof(str2); *將第二個操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*switch(act) *根據(jù)運(yùn)算符號計算*case 1:result=num1+num2;break; *做加法 *case 2:result=num1-num2;break; *做減法 *case 3:result=num1*num2;break; *做乘法 *case 4:result=num1num2;break; *做除法 *case 5:result=pow(num1,num2);break; *做 x 的y 次方 *case 6:result=pow(num1,3);break; *做 x3*case 7:result=pow(num1,2);break; *做 x2*case 8:result=1num1;break; *做 1x*case 9:result=sin(num1);break; *case 10:result=cos(num1);break; *case 11:result=tan(num1);break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)孤獨(dú)癥患者關(guān)懷的個人方法計劃
- 分配任務(wù)與跟進(jìn)進(jìn)度的秘書工作計劃
- 品牌資產(chǎn)與市場風(fēng)險的關(guān)聯(lián)研究計劃
- 全面提升團(tuán)隊績效的年度規(guī)劃計劃
- 強(qiáng)化職能部門之間的配合計劃
- 如何選擇合適的品牌推廣渠道計劃
- 2025年物位儀項目建議書
- 2025年數(shù)字貨幣金融項目發(fā)展計劃
- 2025年瀝青試驗(yàn)儀器項目發(fā)展計劃
- 新員工入職引導(dǎo)及工作流程簡明教程
- 2024年司法考試完整真題及答案
- 【化學(xué)】高中化學(xué)手寫筆記
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專業(yè)答案
- 2024年安全員-C證考試題庫及答案(1000題)
- 膽管惡性腫瘤護(hù)理查房課件
- 義務(wù)教育語文課程標(biāo)準(zhǔn)2022年版
- 公務(wù)員入職登記表
- 九年級新目標(biāo)英語單詞表默寫最新版
- 臨水臨電計算公式案例
- 2022新教科版六年級科學(xué)下冊第二單元《生物的多樣性》全部教案(共7節(jié))
- PEP人教版小學(xué)英語單詞四年級上冊卡片(可直接打印)
評論
0/150
提交評論