C語言課程設(shè)計”模擬POS“任務(wù)書(共15頁)_第1頁
C語言課程設(shè)計”模擬POS“任務(wù)書(共15頁)_第2頁
C語言課程設(shè)計”模擬POS“任務(wù)書(共15頁)_第3頁
C語言課程設(shè)計”模擬POS“任務(wù)書(共15頁)_第4頁
C語言課程設(shè)計”模擬POS“任務(wù)書(共15頁)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 序號: 學(xué)號: 課 程 設(shè) 計設(shè)計課程名稱: 題 目: 學(xué) 生 姓 名: 學(xué) 院(系): 專 業(yè) 班 級: 指 導(dǎo) 教 師: 專業(yè)技術(shù)職務(wù): 設(shè)計時間: 年 月 日 年 月 日目錄一、目的要求.1二、功能要求.2-3三、難點提示.4四、分析與設(shè)計.5五、代碼.6-9六、結(jié)果與測試.10七、心得體會.11 模擬POS"任務(wù)書一、目的要求 本課程設(shè)計任務(wù)的目的是要求學(xué)生按照分析、設(shè)計、編碼、調(diào)試和測試的軟件開發(fā)過程獨立完成一個模擬單片機上運行的POS系統(tǒng),并能最終實現(xiàn)本系統(tǒng)的功能要求。二、功能要求【題目描述】在單片機應(yīng)用中,往往需要向LED陣列(一種發(fā)光二極管

2、,多個排成二維顯示屏幕)輸出字符。這種字符是通過點陣一個點一個點描出來的。用0表示暗點,用1表示亮點。通常使用7×8大小的點陣來描繪ASC字符,右圖使用*輸出一個7×8的王字。某自選商店需要定購一種POS終端,這個終端使用LED向顧客顯示應(yīng)付金額,已收金額和找零金額。顧客購買商品后,由收銀員統(tǒng)計應(yīng)付金額,并通過你的程序向顧客顯示應(yīng)付款。顧客給足付款后,收銀員計算出找零并同時通過你的程序顯示已收金額和找零金額。當然顧客也可能因為最后應(yīng)付金額過大而取消購買,這樣就在屏幕上顯示CANCEL字樣。由于商店規(guī)模不是很大,假定顧客購買的所有商品均在999元以內(nèi)。因此實際一次顯示金額最寬

3、不超過7個字符(¥XXX.XX)。你的程序需要實現(xiàn)以下功能:1 POS開機:第一次使用POS機,需要事先清除當日已收款2 統(tǒng)計應(yīng)付金額:收銀員輸入應(yīng)付金額,在屏幕上用7×8點陣顯示應(yīng)付金額3 收款找零:收銀員輸入顧客付款,在屏幕上分兩行顯示已收款和找零款4 取消付款:收銀員取消本次購買。5 日結(jié)算:收銀員統(tǒng)計當日銷售額。【題目要求】1. 商場老板希望能夠提高效率,提高效率的最好辦法是減少收銀員操作錯誤。如果進入用戶應(yīng)付款統(tǒng)計階段,就只能選擇收款或者取消,而不能重復(fù)統(tǒng)計應(yīng)付款,換句話說,上述功能的3,4選項不能出現(xiàn)在初始菜單中,而應(yīng)該在功能2中出現(xiàn)。而功能2進入后,要么選擇收款找零,要

4、么選擇取消付款,不能進入日結(jié)算界面。2. 你的程序要求以大字體點陣方式顯示在屏幕上,注意到并不是每次都是顯示7個字符的只有在某些情況下才出現(xiàn)最多7個字符【程序要求】(1) 程序正確。能夠嚴格實現(xiàn)任務(wù)書中描述的功能;(2) 界面友好。盡可能使界面友好、直觀、易操作;(3) 風(fēng)格友好。源程序應(yīng)有良好的編碼風(fēng)格,使程序容易閱讀?!据斎?輸出要求】 (1)應(yīng)用程序運行后,先顯示一個菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作項目。進入每個操作后,根據(jù)程序的提示輸入相應(yīng)的信息; (2)要求用戶輸入數(shù)據(jù)時,要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等?!菊n程設(shè)計報告內(nèi)容要求】(1) 封面:統(tǒng)一

5、采用常州大學(xué)課程設(shè)計說明書封面(2) 內(nèi)容提要(3) 目錄(4) “課程設(shè)計報告”正文格式1) 概述所作系統(tǒng)的主要功能;2) 分析和描述任務(wù)書的基本要求與內(nèi)容;3) 描述及繪制出系統(tǒng)的功能結(jié)構(gòu)框圖;4) C語言程序代碼;5) 使用說明;6) 設(shè)計日志以及心得體會三、難點提示1. 首先需要在方格紙上描出09個數(shù)字,以及小數(shù)點,和錢幣符號,以及CANEL5個字母,描出他們的0,1點陣,存貯在一個15×7×8的數(shù)組中(15個字符,每個字符為7×8然后需要把應(yīng)付款,已收款和找零款由浮點數(shù)轉(zhuǎn)換為長度不超過7的字符串,然后調(diào)用字符串顯示子程序。在屏幕上顯示一個字符容易,但是要

6、并排顯示多個字符有點難度,由于有多個地方要使用大字體顯示,因此比較好的方法是把大字體顯示單獨做成一個子程序。 2. 菜單部分樣例代碼可參閱網(wǎng)絡(luò)課堂里相關(guān)幫助頂層菜單設(shè)計框架。四、分析與設(shè)計開機清零選擇操作14輸入應(yīng)付款選擇操作收款找零取消付款按任意鍵回主菜單主菜單日結(jié)算退出系統(tǒng)選4選2選3選1按任意鍵五、代碼#include<stdio.h>#include<stdlib.h>void clear();float check();void print(float);void print_n();void sum(float);float k=0;void main()c

7、har c;dosystem("CLS");printf("*n");printf(" *主菜單* nn");printf(" 1.清除前一天數(shù)據(jù) nn");printf(" 2.賬目運算 nn");printf(" 3.日結(jié)算 nn");printf(" 4.退出系統(tǒng) n");printf("*n");printf("請選擇輸入的選項:1234:");doc=getchar();while(c!='1

8、9;&&c!='2'&&c!='3'&&c!='4');getchar();switch(c) case'1':clear();break;case'2':check();break;case'3':sum(k);break;case'4':exit(0);break;printf("按任意鍵繼續(xù):n");getchar();system("CLS");while(1);void clear()k

9、=0;FILE *fp;system("CLS");fp=fopen("E:shuju.txt","w");fclose(fp);printf("清除完畢!n");float check()FILE *fp;float a,b,left;char c;system("CLS");printf("輸入購物金額:");scanf("%f",&a);print(a);printf("1.確認購物;2.取消購物nn");printf(&

10、quot;請輸入1或2進行操作:");doc=getchar();while(c!='1'&&c!='2');getchar();system("CLS");if(c='1')printf("輸入顧客付款總額:n");scanf("%f",&b);getchar();left=b-a;printf("付款總額:%-.2fn",b);print(b);printf("應(yīng)找零:%-.2fn",left);print(l

11、eft);k=k+a;fp=fopen("E:shuju.txt","a");fprintf(fp,"%.2fn",a);fclose(fp);if(c='2')print_n();return(k);system("CLS");void sum(float d)FILE *fp;system("CLS");printf("今日的銷售總額是:%-.2fn",d);print(d);fp=fopen("E:shuju.txt","a

12、");fprintf(fp,"%.2fn",d);fclose(fp);void print(float n)char a1578;int i,j,k,p7;long m;for(i=0;i<15;i+)for(j=0;j<7;j+)for(k=0;k<8;k+)aijk='0'for(i=1;i<7;i+)a01i='*'a05i='*'for(i=1;i<6;i+)a0i1='*'a0i6='*'for(i=1;i<6;i+)a1i6='

13、*'for(i=1;i<7;i+)a21i='*'a23i='*'a25i='*'a226='*'a241='*' for(i=1;i<7;i+)a31i='*'a33i='*'a35i='*'a326='*'a346='*'for(i=1;i<7;i+)a43i='*'for(j=1;j<4;j+)a4j1='*'for(j=1;j<6;j+)a4j6='*

14、'for(i=1;i<7;i+)a51i='*'a53i='*'a55i='*'a521='*'a546='*'for(i=1;i<7;i+)a61i='*'a63i='*'a65i='*'a621='*'a646='*'a641='*'for(i=1;i<6;i+)a7i6='*'for(i=1;i<6;i+)a71i='*'for(i=1;i<7;

15、i+)a81i='*'a83i='*'a85i='*' a821='*'a826='*'a846='*'a841='*' for(i=1;i<7;i+)a91i='*'a93i='*'a95i='*'a921='*'a926='*'a946='*'for(k=5;k<7;k+)a104k='*'a105k='*'for(k=1;k<7;k+

16、)a113k='*'a114k='*'for(j=2;j<7;j+)a11j3='*'a11j4='*'a1101='*'a1106='*'a1112='*'a1115='*' for(i=0;i<7;i+)for(j=0;j<8;j+)a12ij='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;i

17、f(p1=0)p1=12;if(p2=0) p2=12;for(i=0;i<7;i+)for(j=0;j<7;j+)for(k=0;k<8;k+)printf("%c",apjik);printf("n");elsefor(i=0;i<7;i+)for(j=0;j<7;j+)for(k=0;k<8;k+)printf("%c",apjik);printf("n");elsefor(i=0;i<7;i+)for(j=0;j<7;j+)for(k=0;k<8;k+)

18、printf("%c",apjik);printf("n");void print_n()char a678;int i,j,k;for(i=0;i<6;i+)for(j=0;j<7;j+)for(k=0;k<8;k+)aijk='0'for(i=2;i<6;i+)a01i='*'a05i='*'for(i=2;i<5;i+)a0i1='*'for(i=1;i<7;i+)a13i='*'a113='*'a114='*'a122='*'a125='*'a141='*'a146='*'a151='*'a156='*'for(i=1;i<6;i+)a2i1='*'a2i6='*'a222='*'a233='*'a244='*'a255='*'for(i=2;i<

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論