




已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目 錄1 前言22 需求分析22.1要求22.2任務(wù)22.3運(yùn)行環(huán)境22.4開發(fā)工具23 概要設(shè)計(jì)23.1系統(tǒng)流程圖33.2查詢函數(shù)流程圖44 詳細(xì)設(shè)計(jì)64.1分析和設(shè)計(jì)64.2具體代碼實(shí)現(xiàn)64.3程序運(yùn)行結(jié)果145 課程設(shè)計(jì)總結(jié)14參考文獻(xiàn)15致 謝151 前言編寫一個程序來實(shí)現(xiàn)算術(shù)計(jì)算器。通過結(jié)構(gòu)體數(shù)組和共用體數(shù)組來存放輸入的每一數(shù)字或運(yùn)算符號的記錄(包括1、2、3等數(shù)字,+、-、*、等運(yùn)算符號),然后將其信息存入文件中。輸入一個算術(shù)計(jì)算式,就在屏幕上顯示結(jié)果。2 需求分析2.1要求(1)用C語言實(shí)現(xiàn)程序設(shè)計(jì);(2)利用結(jié)構(gòu)體、共用體進(jìn)行相關(guān)信息處理;(3)畫出查詢模塊的流程圖;(4)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實(shí)現(xiàn);(5)界面友好(良好的人機(jī)互交),程序要有注釋。2.2任務(wù)(1)定義一個結(jié)構(gòu)體類型數(shù)組,輸入09及+、-、*等符號的信息,將其信息存入文件中;(2)輸入簡單的加減乘除算術(shù)計(jì)算式,并在屏幕上顯示計(jì)算結(jié)果;(3)畫出部分模塊的流程圖;(4)編寫代碼;(5)程序分析與調(diào)試。2.3運(yùn)行環(huán)境(1)WINDOWS2000/XP系統(tǒng)(2)TurboC2.0編譯環(huán)境2.4開發(fā)工具C語言3 概要設(shè)計(jì)3.1系統(tǒng)流程圖如圖3.1所示。w開始調(diào)用輸入函數(shù)init_stack()If(!form_win()不能顯示窗口,按任意鍵退出調(diào)用字符輸入函數(shù)write_char()調(diào)用邊框畫線函數(shù)draw_border()調(diào)用圖標(biāo)按鈕設(shè)置函數(shù)active_button調(diào)用結(jié)果輸出函數(shù)out_text_win()調(diào)用計(jì)算機(jī)運(yùn)算函數(shù)put_string()結(jié) 束NY圖3.1 系統(tǒng)流程圖 3.2查詢函數(shù)流程圖(1) 邊界畫線函數(shù)流程圖char far *t,far *vi=sx+1icxv=t+i*160+sx*2i+i=sy+1icyv=t+i*160+sx*2i+下一個字符輸入函數(shù)NY(2)圖標(biāo)按鈕設(shè)置函數(shù)流程圖int i (將預(yù)設(shè)圖標(biāo)定義為i)i=0i17調(diào)用draw_border() 設(shè)置圖標(biāo)形狀i+i=0i0) stack.s-stack.tos=0;draw_win() /*邊框畫線窗口*/ int i; char far *t; char *s=This is a simple calculator!; /*頂端邊框輸出的字符*/ draw_border(30,0,79,24,win_color); /*邊框的位置和顏色*/ i=(79-30-strlen(s)/2+30; t=vid_mem+i*2; for(;*s;) *t+=*s+;*t+=win_color; /*頂端字體顏色*/ draw_border(int sx,int sy,int ex,int ey,int attrib) /*邊界線函數(shù)*/ char far *t,far *v; int i; t=vid_mem; for(i=sx+1;iex;i+) v=t+sy*160+i*2;*v+=196; /*每一行上畫線確定為直線*/ *v=attrib; v=t+ey*160+i*2;*v+=196; /*每一行下畫線確定為直線*/ *v=attrib; for(i=sy+1;iey;i+) v=t+i*160+sx*2; *v+=179; /*每一列左畫線確定為直線*/ *v=attrib; v=t+i*160+ex*2; *v+=179; /*每一列由畫線確定為直線*/ *v=attrib; write_char(sx,sy,218,attrib); write_char(ex,sy,191,attrib); write_char(sx,ey,192,attrib); write_char(ex,ey,217,attrib);write_char(int x,int y,char ch,int attrib) /*字符輸入函數(shù)*/ char far *v; v=vid_mem; v+=x*2+160*y; *v+=ch; *v=attrib;active_button()/*圖表按鈕設(shè)定函數(shù)*/ int i; make_button(0,32,9,38,11,1);/*每個鍵對應(yīng)的位置和數(shù)值*/ make_button(1,42,9,48,11,2); make_button(2,52,9,58,11,3); make_button(3,62,9,67,11,+); make_button(4,71,9,76,11,-); make_button(5,32,12,38,14,4); make_button(6,42,12,48,14,5); make_button(7,52,12,58,14,6); make_button(8,62,12,67,14,*); make_button(9,71,12,76,14,/);/*“/”的位置*/ make_button(10,32,15,38,17,7); make_button(11,42,15,48,17,8); make_button(12,52,15,58,17,9); make_button(13,62,15,67,17,=); make_button(14,71,15,76,17,-); make_button(15,32,18,38,20,0);/*“0”的位置*/ make_button(16,71,18,76,20,End); for(i=0;i17;i+) draw_border(buttoni.sx,buttoni.sy,buttoni.ex,buttoni.ey,normbut_bor); for(i=0;i17;i+) write_top(buttoni.sx+1,buttoni.sy+1,buttoni.ex-1,buttoni.head,normnum_but); write_top(int x1,int y,int x2,char *s,int attrib) char far *v,far *t; int i; v=vid_mem; for(i=x1;i=x2;i+) t=v+y*160+i*2; *t+= ; *t=attrib; i=(x2-x1-strlen(s)+1)/2+x1; t=v+160*y+i*2; for(;*s;) *t+=*s+; *t+=attrib; text_clo() /*文本光標(biāo)*/ tx-; /*光標(biāo)向左移*/ if(tx2) if(x2)num=15; else num=x+5*y; draw_border(buttonnum.sx,buttonnum.sy,buttonnum.ex,buttonnum.ey,presbut_but); write_top(buttonnum.sx+1,buttonnum.sy+1,buttonnum.ex-1,buttonnum.head,presnum_but); write_top(buttonnum.sx+1,buttonnum.sy+1,buttonnum.ex-1,buttonnum.head,normnum_but); else draw_border(buttonnum.sx,buttonnum.sy,buttonnum.ex,buttonnum.ey,normbut_bor); write_top(buttonnum.sx+1,buttonnum.sy+1,buttonnum.ex-1,buttonnum.head,spebut_char); put_char(int x,int y,char ch) /*計(jì)算窗口的輸入確定函數(shù)*/ char far *v; v=vid_mem; v+=x*2+y*160; /*光標(biāo)的位置*/ *v+=ch; /*輸入字符隨光標(biāo)的推進(jìn)*/ *v=0xf0; /*輸入數(shù)字的顏色*/ window_xy(x,y); /*光標(biāo)在窗口坐標(biāo)*/calculator() /*計(jì)算器構(gòu)成的函數(shù)*/ int a,b; key_choice(); /*鍵選擇函數(shù)*/menu() /*左邊窗口函數(shù)*/ char *j=This is a calculator!nConductor Teacher:nCheng YaHuinnStudent:Chen ChunLinnNumber:0841330197nSchool:ShaoYang College” char *s=Use Guide:nInput the number fromn the keyborde draw_border(0,0,29,24,win_color); /*左邊框的位置和顏色*/ write_top(1,2,28,Introduction,0xf9);/*INTRODCTION的位置和顏色*/ write_text(2,5,j,0x79); /*輸入字符的位置和顏色*/ write_text(2,17,s,0x79); /*輸入字符的位置和顏色*/main() init_stack(); vid_mem=(char far *)0xb8000000; if(!form_win() printf(cant form the device,press any key to leave!.);/*如果不能顯示見面窗口,按任意退出。*/ getch(); exit(); menu(); calculator();main() init_stack(); vid_mem=(char far *)0xb8000000; if(!form_win() printf(cant form the device,press any key to leave!.);/*如果不能顯示見面窗口,按任意退出。*/ getch(); exit(); menu(); calculator();4.3程序運(yùn)行結(jié)果 5 課程設(shè)計(jì)總結(jié) 本次C語言課程設(shè)計(jì)我是完全按照任務(wù)書上的要求來完成的,雖然還存在比較多的瑕疵,但我都是一飽滿的熱情、認(rèn)真的態(tài)度去對待本次課程設(shè)計(jì)的。通過這次課程設(shè)計(jì)我對C語言的神奇功能更加佩服(只是一個程序運(yùn)行后卻可以顯示出一個計(jì)算器來,并且畫面比較唯美,且能進(jìn)行計(jì)算),我默默在心里發(fā)誓一定要把C語言學(xué)好,而且將來我還要想學(xué)習(xí)C+語言,熟練的掌握編程的方法。本次課程設(shè)計(jì),我設(shè)計(jì)的是一個算術(shù)計(jì)算器,本程序若完全靠現(xiàn)有的知識,是很難編寫出來的,幸虧有我的指導(dǎo)老師成婭輝老師的耐心指導(dǎo),我才能順利完成。參考文獻(xiàn)1張福祥. C語言程序設(shè)計(jì)M. 遼寧大學(xué)出版社,2008.12 張福祥,王萌C語言程序設(shè)計(jì)習(xí)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海寧廠房搬遷協(xié)議書范本
- 員工保密價(jià)格協(xié)議書范本
- 創(chuàng)新型企業(yè)財(cái)務(wù)總監(jiān)股權(quán)激勵聘用合同模板
- 車輛質(zhì)押與物流運(yùn)輸一體化合同
- 海鮮餐廳品牌合作經(jīng)營授權(quán)合同
- 農(nóng)村集體菜地領(lǐng)種與社區(qū)服務(wù)共享合同
- 和同學(xué)的協(xié)議書范本
- 美食街餐飲加盟合作協(xié)議范本
- 礦山采礦權(quán)抵押股權(quán)融資合同范本
- 貨物運(yùn)輸合同模板
- 2025年山東產(chǎn)權(quán)交易集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 《浙江市政預(yù)算定額(2018版)》(第七冊-第九冊)
- DB32-T 4878-2024 居住區(qū)供配電設(shè)施建設(shè)標(biāo)準(zhǔn)
- 2025年河北交通投資集團(tuán)公司招聘筆試參考題庫含答案解析
- 藥品配送包裝及運(yùn)輸方案
- 經(jīng)濟(jì)師考試知識產(chǎn)權(quán)高級經(jīng)濟(jì)實(shí)務(wù)新考綱題庫詳解(2025年)
- 新課標(biāo)(水平三)體育與健康《籃球》大單元教學(xué)計(jì)劃及配套教案(18課時)
- 醫(yī)院培訓(xùn)課件:《失血性休克的急救護(hù)理》
- 2024年北京市中考生物真題卷及答案解析
- 華東理工大學(xué)《藥物設(shè)計(jì)與新藥發(fā)現(xiàn)-小分子藥物》2023-2024學(xué)年第一學(xué)期期末試卷
- 新質(zhì)生產(chǎn)力促進(jìn)遼寧經(jīng)濟(jì)高質(zhì)量發(fā)展研究
評論
0/150
提交評論