版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、【內(nèi)容提要】在單片機(jī)應(yīng)用中,往往需要向LED陣列(一種發(fā)光二極管,多個(gè)排成二維顯示屏幕)輸出字符。這種字符是通過(guò)點(diǎn)陣一個(gè)點(diǎn)一個(gè)點(diǎn)描出來(lái)的。用0表示暗點(diǎn),用1表示亮點(diǎn)。通常使用78大小的點(diǎn)陣來(lái)描繪ASC字符,右圖使用*輸出一個(gè)78的王字。某自選商店需要定購(gòu)一種POS終端,這個(gè)終端使用LED向顧客顯示應(yīng)付金額,已收金額和找零金額。顧客購(gòu)買商品后,由收銀員統(tǒng)計(jì)應(yīng)付金額,并通過(guò)你的程序向顧客顯示應(yīng)付款。顧客給足付款后,收銀員計(jì)算出找零并同時(shí)通過(guò)你的程序顯示已收金額和找零金額。當(dāng)然顧客也可能因?yàn)樽詈髴?yīng)付金額過(guò)大而取消購(gòu)買,這樣就在屏幕上顯示CANCEL字樣。由于商店規(guī)模不是很大,假定顧客購(gòu)買的所有商品均
2、在999元以內(nèi)。因此實(shí)際一次顯示金額最寬不超過(guò)7個(gè)字符(¥XXX.XX)。 本課程設(shè)計(jì)任務(wù)的目的是要求學(xué)生按照分析、設(shè)計(jì)、編碼、調(diào)試和測(cè)試的軟件開(kāi)發(fā)過(guò)程獨(dú)立完成一個(gè)模擬單片機(jī)上運(yùn)行的POS系統(tǒng),并能最終實(shí)現(xiàn)本系統(tǒng)的功能要求。目錄1. 概述系統(tǒng)的主要功能32. 任務(wù)書的基本要求與內(nèi)容43. 系統(tǒng)的功能結(jié)構(gòu)框圖54. C語(yǔ)言程序代碼65. 運(yùn)行結(jié)果116. 使用說(shuō)明127. 設(shè)計(jì)日志以及心得體會(huì)12【系統(tǒng)的主要功能】 本課程設(shè)計(jì)任務(wù)的目的是要求學(xué)生按照分析、設(shè)計(jì)、編碼、調(diào)試和測(cè)試的軟件開(kāi)發(fā)過(guò)程獨(dú)立完成一個(gè)模擬單片機(jī)上運(yùn)行的POS系統(tǒng),并能最終實(shí)現(xiàn)本系統(tǒng)的功能要求。 你的程序需要實(shí)現(xiàn)以下功能:1 P
3、OS開(kāi)機(jī):第一次使用POS機(jī),需要事先清除當(dāng)日已收款2 統(tǒng)計(jì)應(yīng)付金額:收銀員輸入應(yīng)付金額,在屏幕上用78點(diǎn)陣 顯示應(yīng)付金額3 收款找零:收銀員輸入顧客付款,在屏幕上分兩行顯示已收款和找零款4 取消付款:收銀員取消本次購(gòu)買。5. 日結(jié)算:收銀員統(tǒng)計(jì)當(dāng)日銷售額。【任務(wù)書的基本要求與內(nèi)容】【題目要求】1. 商場(chǎng)老板希望能夠提高效率,提高效率的最好辦法是減少收銀員操作錯(cuò)誤。如果進(jìn)入用戶應(yīng)付款統(tǒng)計(jì)階段,就只能選擇收款或者取消,而不能重復(fù)統(tǒng)計(jì)應(yīng)付款,換句話說(shuō),上述功能的3,4選項(xiàng)不能出現(xiàn)在初始菜單中,而應(yīng)該在功能2中出現(xiàn)。而功能2進(jìn)入后,要么選擇收款找零,要么選擇取消付款,不能進(jìn)入日結(jié)算界面。2. 你的程
4、序要求以大字體點(diǎn)陣方式顯示在屏幕上,注意到并不是每次都是顯示7個(gè)字符的只有在某些情況下才出現(xiàn)最多7個(gè)字符【程序要求】(1) 程序正確。能夠嚴(yán)格實(shí)現(xiàn)任務(wù)書中描述的功能;(2) 界面友好。盡可能使界面友好、直觀、易操作;(3) 風(fēng)格友好。源程序應(yīng)有良好的編碼風(fēng)格,使程序容易閱讀。【輸入/輸出要求】 (1)應(yīng)用程序運(yùn)行后,先顯示一個(gè)菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作項(xiàng)目。進(jìn)入每個(gè)操作后,根據(jù)程序的提示輸入相應(yīng)的信息; (2)要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等?!鞠到y(tǒng)的功能結(jié)構(gòu)框圖】開(kāi)機(jī)清零選擇操作14輸入應(yīng)付款選擇操作收款找零取消付款按任意鍵回主菜
5、單主菜單日結(jié)算退出系統(tǒng)選4選2選3選1按任意鍵【C語(yǔ)言程序代碼】#include #includevoid clear(); float check(); void print(float); void print_n(); void sum(float); void exit();static float k=0;void main() int c; float t=0; do system(CLS); printf(tttttttttttt* * * * * * * * * * * * * * * *n); printf(tttttttttttt* 主 菜 單 *n); printf(tt
6、tttttttttt* *n); printf(tttttttttttt* 1.清 除 前 一 天 數(shù) 據(jù) *n); printf(tttttttttttt* *n); printf(tttttttttttt* 2.賬 目 運(yùn) 算 *n); printf(tttttttttttt* *n); printf(tttttttttttt* 3.合 計(jì) 當(dāng) 天 銷 售 總 額 *n); printf(tttttttttttt* *n); printf(tttttttttttt* 4.退 出 系 統(tǒng) *n); printf(tttttttttttt* * * * * * * * * * * * * *
7、* *n); printf( n); printf(tttttttttttt 選擇數(shù)字進(jìn)行操作 1234: ); scanf(%d,&c); switch(c) case 1: clear();break; case 2: check();break; case 3: sum(k);break; case 4: exit(0);break; printf(按任意鍵繼續(xù)。n); system(ClS); while(1);void clear()FILE *fp; k=0; system(CLS); fp=fopen(E:shuju.txt,w); fclose(fp);float check(
8、) FILE *fp; float a,b,left; int c; system(CLS); printf(輸入購(gòu)物總額: ); scanf(%f,&a); system(CLS); print(a); printf(1.確認(rèn)購(gòu)物;t2取消購(gòu)物); printf(n請(qǐng)輸入1或2進(jìn)行操作:); scanf(%d,&c); system(CLS); if(c=1) printf(輸入顧客付款總額: n); scanf(%f,&b); left=b-a; printf(付款總額是: %-.2fn,b); print(b); printf(應(yīng)找零: %-.2fn,left); print(left)
9、; k=k+a; fp=fopen(E:shuju.txt,a); fprintf(fp,%.2fn,a); fclose(fp); system(pause); return(k); if(c=2) print_n(); printf(n); system(pause); return(k); system(CLS); /*總額運(yùn)算函數(shù)*/void sum(float d) FILE *fp; system(CLS); printf(今天銷售總額是: %-.2fn,d); fp=fopen(E:shuju.txt,a); fprintf(fp,%.2fn,d); print (d); fcl
10、ose(fp);void print(float n) char a1578; int p7,i,j,k,q; long m; for(i=0;i15;i+) for(j=0;j7;j+) for(k=0;k8;k+) aijk=0; for(j=1;j6;j+) a0j1=*;a0j6=*; for(k=1;k7;k+) a01k=*;a05k=*; for(j=1;j6;j+) a1j6=*; for(k=1;k7;k+) a21k=*;a23k=*;a25k=*; for(j=3;j6;j+) a2j1=*; for(j=1;j4;j+) a2j6=*; for(k=1;k7;k+) a
11、31k=*;a33k=*;a35k=*; for(j=1;j6;j+) a3j6=*; for(k=1;k7;k+) a44k=*;a423=*;a432=*; for(j=1;j6;j+) a4j4=*; for(k=1;k7;k+) a51k=*;a53k=*;a55k=*; for(j=1;j4;j+) a5j1=*; for(j=3;j6;j+) a5j6=*; for(k=1;k7;k+) a61k=*;a63k=*;a65k=*; for(j=1;j6;j+) a6j1=*; for(j=3;j6;j+) a6j6=*; for(k=1;k7;k+) a71k=*; for(j=1
12、;j6;j+) a7j6=*; for(k=1;k7;k+) a81k=*;a83k=*;a85k=*; for(j=1;j6;j+) a8j1=*;a8j6=*; for(k=1;k7;k+) a91k=*;a93k=*;a95k=*; for(j=1;j4;j+) a9j1=*; for(j=1;j6;j+) a9j6=*; for(k=5;k7;k+) a104k=*;a105k=*; for(k=1;k7;k+) a113k=*;a114k=*; for(j=2;j7;j+) a11j3=*;a11j4=*; a1101=*;a1106=*;a1112=*;a1115=*; for(j
13、=0;j7;j+) for(k=0;k8;k+) a12jk=0; m=(long)(100*n+0.1); p6=m%10;p5=(m/10)%10;p4=10;p3=(m/100)%10;p2=(m/1000)%10;p1=(m/10000)%10;p0=11; if(p1=0) p1=12; if(p2=0) p2=12; for(j=0;j7;j+) for(q=0;q7;q+) for(k=0;k8;k+) printf(%c,apqjk); printf(n); else for(j=0;j7;j+) for(q=0;q7;q+) for(k=0;k8;k+) printf(%c,
14、apqjk); printf(n); else for(j=0;j7;j+) for(q=0;q7;q+) for(k=0;k8;k+) printf(%c,apqjk); printf(n); void print_n()char a678;int i,j,k; for(i=0;i6;i+) for(j=0;j7;j+) for(k=0;k8;k+) aijk=0;for(k=3;k7;k+)a01k=*;a05k=*;a022=*;a031=*;a042=*;for(k=1;k7;k+)a13k=*;a113=*;a114=*;a122=*;a125=*;for(j=3;j6;j+)a1j
15、1=*;a1j6=*;a222=*;a233=*;a244=*;for(j=1;j6;j+)a2j1=*;a2j5=*;for(k=3;k7;k+)a31k=*;a35k=*;a322=*;a331=*;a342=*;for(k=1;k7;k+)a41k=*;a43k=*;a45k=*;for(j=1;j6;j+)a4j1=*;for(k=1;k7;k+)a55k=*;for(j=1;j6;j+)a5j1=*;for(j=0;j7;j+) printf(n);for(i=0;i6;i+) for(k=0;k8;k+)printf(%c,aijk);【運(yùn)行結(jié)果】【使用說(shuō)明】應(yīng)用程序運(yùn)行后,會(huì)顯示一個(gè)菜單,用戶通過(guò)菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目。在第一、二、三、四個(gè)功能中,用戶輸入指令(即根據(jù)需要輸入1,2,3,4),程序打開(kāi)源文件,并執(zhí)行指令,結(jié)果放在目標(biāo)文件中,同時(shí)把結(jié)果顯示在屏幕上?!拘牡皿w會(huì)】1在程序設(shè)計(jì)過(guò)程中,我認(rèn)識(shí)到函數(shù)、指針和文件三個(gè)章節(jié)比較重要。2通過(guò)多個(gè)源代碼的算法比較發(fā)現(xiàn)好的算法可以節(jié)省很多篇幅3數(shù)字字母的輸出,需要先分別設(shè)計(jì)每個(gè)數(shù)字的算法,然后分百位和十位為零和不為零討論輸出數(shù)字。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 補(bǔ)貨管理的優(yōu)化與實(shí)施方案計(jì)劃
- 健身器材銷售業(yè)績(jī)總結(jié)
- 2024年煙花爆竹安全的應(yīng)急預(yù)案
- 銀行工作總結(jié)創(chuàng)新發(fā)展成果彰顯
- 醫(yī)藥包材采購(gòu)心得總結(jié)
- 娛樂(lè)活動(dòng)行業(yè)顧問(wèn)工作總結(jié)提升娛樂(lè)活動(dòng)吸引力
- 2024年設(shè)備的管理制度范本
- 2024年稅務(wù)師題庫(kù)附答案【綜合卷】
- 2024年美術(shù)教案篇2
- 2024年第九屆“學(xué)憲法、講憲法”知識(shí)題庫(kù)及答案
- 內(nèi)蒙古自治區(qū)呼和浩特市2023-2024學(xué)年英語(yǔ)九上期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 通用勞務(wù)合同Word模板下載(多份)
- 第七講 磁電選
- 昆蟲的農(nóng)業(yè)和經(jīng)濟(jì)價(jià)值
- 天津市部分區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 長(zhǎng)期照護(hù)服務(wù)流程
- 精心打造東北大學(xué)近四年C語(yǔ)言理論考試試題及答案
- 《Power Bi應(yīng)用》課程標(biāo)準(zhǔn)
- 《瘋狂動(dòng)物城》全本臺(tái)詞中英文對(duì)照
- 幼兒園的品格與道德教育主題班會(huì)課件
- 2024抗菌藥物分級(jí)管理及臨床合理應(yīng)用考核試題及答案
評(píng)論
0/150
提交評(píng)論