




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課 程 設(shè) 計(jì) 課程名稱 C語言程序設(shè)計(jì)課程設(shè)計(jì)A題目名稱 商場(chǎng)收銀系統(tǒng) 目 錄1 系統(tǒng)分析11.1 課程設(shè)計(jì)內(nèi)容11.2 系統(tǒng)功能需求分析11.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)12 系統(tǒng)設(shè)計(jì)22.1 總體設(shè)計(jì)22.2 詳細(xì)設(shè)計(jì)22.2.1 界面設(shè)計(jì)22.2.2 各功能模塊的設(shè)計(jì)33 系統(tǒng)編碼設(shè)計(jì)43.1 main函數(shù)44 系統(tǒng)運(yùn)行55 總結(jié)6171 系統(tǒng)分析1.1 課程設(shè)計(jì)內(nèi)容建立一商品信息文件,商品信息包括商品編號(hào)、商品名、商品類別、商品數(shù)量、商品價(jià)格等。建立一商場(chǎng)收銀系統(tǒng),功能包括:1. 系統(tǒng)登錄:運(yùn)行系統(tǒng)時(shí),收銀員應(yīng)輸入姓名(或編號(hào))及密碼,驗(yàn)證后方可使用系統(tǒng)。2. 收銀操作:收銀員逐條輸入商品編號(hào)及
2、數(shù)量,系統(tǒng)自動(dòng)計(jì)算金額,輸入完畢后顯示應(yīng)付款,當(dāng)輸入實(shí)收額后,計(jì)算出找贖值。3. 交易完成后按一定格式顯示回單(格式參照一般超市中的打印小票)。 4. 保存所顯示的回單。5. 自動(dòng)按銷售情況更新商品信息文件中的數(shù)據(jù)。6. 查詢收銀員銷售信息。7. 瀏覽庫存商品信息。1.2 系統(tǒng)功能需求分析本系統(tǒng)應(yīng)具有以下功能:1、文件操作功能進(jìn)行商品信息管理,以文本的形式保存商品最新信息2、數(shù)據(jù)輸入功能個(gè)人登錄,消費(fèi)商品基本資料的輸入,銷售信息輸入等3、數(shù)據(jù)添加、修改、刪除功能商品數(shù)據(jù)更新,個(gè)人入庫信息修改更新4、計(jì)算功能基本計(jì)算功能,銷售額處理5、查詢功能資料庫信息查詢7、數(shù)據(jù)顯示功能保障客戶知情權(quán),對(duì)系統(tǒng)
3、輸入輸出信息的顯示2 系統(tǒng)設(shè)計(jì)2.1 總體設(shè)計(jì)按系統(tǒng)分析的功能要求將系統(tǒng)劃分為以下幾個(gè)主要功能模塊:1、 建立新文本庫信息模塊2、 銷售系統(tǒng)模塊3、 商品銷售信息回單模塊4、 商品庫更新模塊5、 銷售回單保存模塊2.2 詳細(xì)設(shè)計(jì)2.2.1 界面設(shè)計(jì)1、菜單設(shè)計(jì)主菜單:子菜單:2、輸入界面的設(shè)計(jì)3、信息顯示界面的設(shè)計(jì)2.2.2 各功能模塊的設(shè)計(jì)根據(jù)劃分的功能模塊,定義以下函數(shù)實(shí)現(xiàn)各功能:(這部分應(yīng)介紹各函數(shù)的原型,各功能模塊實(shí)現(xiàn)所用的算法,可用流程圖描述)1、主函數(shù)main()界面顯示密碼登錄系統(tǒng)主菜單界面銷售界面2、charge函數(shù)、receipt_m函數(shù)商品信息錄入商品銷售額輸出等商品銷售信
4、息顯示3、input_s函數(shù)商品信息錄入更新商品基本信息錄入最新商品信息保存更新信息庫內(nèi)容4、disp函數(shù)最新消費(fèi)信息建立保存顯示信息庫內(nèi)容3 系統(tǒng)編碼設(shè)計(jì)(這部分將代碼列出,注意,每個(gè)函數(shù)開始處要介紹函數(shù)的功能,重要的代碼應(yīng)有注釋,代碼格式按鋸齒式編排)3.1 main函數(shù)void main()/*主函數(shù):密碼登陸與主頁面顯示使用*/int key,j; int x,i; void openf(); void newf();loop1:clrscr(); gotoxy(10,4); for(i=0;i<20;i+) printf("# "); gotoxy(10,1
5、6); for(i=0;i<20;i+) printf("# "); gotoxy(16,5); printf("this is the salesperson systemn"); gotoxy(16,7);printf("1.please iput your number:n"); gotoxy(16,8);scanf("%s",salesperson_num); gotoxy(16,9);printf("2.please input your key;n"); gotoxy(16,1
6、0);scanf("%d",&key);for(j=0;j<3;j+)if(strcmp(salesperson_num,salespersonj.num)=0&&key=salespersonj.key)break;clrscr(); printf("tyour number or key is wrongn"); printf("tplease land againn");getch();goto loop1;3.2 clrscr函數(shù)/*主頁面顯示代碼,子函數(shù)選擇界面*/gotoxy(16,8); p
7、rintf("welcome to use the systemn"); gotoxy(16,10); printf("press enter to continue"); getch(); doclrscr(); gotoxy(10,5); for(i=0;i<20;i+) printf("* "); gotoxy(16,8); printf("1. build the goods warehouse"); gotoxy(16,9); printf("2. charge system")
8、; gotoxy(16,10); printf("3. receipt message"); gotoxy(16,11); printf("4. add to goods message"); gotoxy(16,12); printf("5. sell message"); gotoxy(16,13); printf("6. display goods stock"); gotoxy(16,14); printf("7. exit"); gotoxy(10,16); for(i=0;i<
9、20;i+) printf("* "); gotoxy(16,18); printf("please select the menu:"); scanf("%d",&x); while(x<1|x>8); switch(x) case 1:newf(); break; case 2:charge();break; case 3:receipt_m();break; case 4:input_s();break; case 5:sell_m();break; case 6:disp();break; case 7:e
10、xit(); while(1);3.3 newf函數(shù)/*新建庫信息函數(shù),建立新文檔存儲(chǔ)更新商品信息*/void newf() void openf(); int i,x; clrscr(); do clrscr(); gotoxy(10,5); for(i=0;i<20;i+) printf("* "); gotoxy(16,8); printf("1.the new warehouse filename n"); gotoxy(16,9); printf("2.add the goods message"); gotoxy(1
11、6,10); printf("3.exit"); gotoxy(10,16); for(i=0;i<20;i+) printf("* "); gotoxy(16,18); printf("please select the menu:"); scanf("%d",&x); switch(x) case 1:openf(); break; case 2:input_s();break; case 3:exit(); while(1);void openf() int i;char f; clrscr()
12、;/*system("cls");*/ printf("tinput the warehouse filename pleasen"); scanf("%s",xname); fp=fopen("xname","a"); fp1=fopen("b.txt","w"); fprintf(fp1,"%dt%d",n,n1); fclose(fp1); fp2=fopen("c.txt","w"); f
13、p3=fopen("d.txt","w");printf("tYou were built the warehouse n");printf("ntcontinue to add goods message?(y/n)");f=getch();if(f='y')input_s();3.4 charge函數(shù)/*銷售信息管理系統(tǒng)*/charge()int i,j,f;int No; float sum=0;float change,receive; clrscr(); gotoxy(10,5); for
14、(i=0;i<20;i+) printf("* "); fp1=fopen("b.txt","r"); fscanf(fp1,"%d%d",&n,&n1); fclose(fp1); if( fp=fopen("a.txt","r")!=NULL) for(i=0;i<n;i+) fscanf(fp,"%d%s%d%d",&goodsi.num,,&goodsi.price,&goo
15、dsi.amount); do printf("ntNo.:t"); scanf("%d",&No); printf("ntamount:t"); scanf("%d",&j);No-; n1+; goodsNo.amount-; sum+=j*goodsNo.price;fp2=fopen("c.txt","a"); fprintf(fp2,"%st%dt%st%dt%dn",salesperson_num,goodsNo.num,goo
16、dsN,goodsNo.price,j); fclose(fp2); fp3=fopen("d.txt","a");fprintf(fp3,"%dnt%d",goodsNo.num,j);fclose(fp3);f=getch();if(f=0)getch();break;while(1); printf("ntsum:t%5.2f",sum); printf("nntreceive:t"); scanf("%f",&receive); change=re
17、ceive-sum;printf("ntchange:t%5.2f",change); fp3=fopen("d.txt","a"); fprintf(fp3,"nt%5.2fnt%5.2fnt%5.2f",sum,receive,change); fclose(fp3); fp=fopen("a.txt","w"); for(i=0;i<n;i+) fprintf(fp,"%dt%st%dt%dn",goodsi.num,,g
18、oodsi.price,goodsi.amount); fclose(fp); fp1=fopen("b.txt","w"); fprintf(fp1,"%dt%d",n,n1); fclose(fp1); gotoxy(10,20); for(i=0;i<20;i+) printf("* ");gotoxy(16,22);printf("Press any key to exit");getch(); 3.5 receipt函數(shù)/*客戶回單信息*/receipt_m()int i,No,
19、j; float change,receive,sum; clrscr();gotoxy(10,5); for(i=0;i<20;i+) printf("* "); fp1=fopen("b.txt","r"); fscanf(fp1,"%d%d",&n,&n1); fclose(fp1); if( fp3=fopen("d.txt","r")!=NULL) for(i=0;i<n1;i+) fscanf(fp3,"%dt%dt%ft%f
20、t%f",&goodsNo.num,&j,&sum,&receive,&change); for(i=0;i<n1;i+) printf("ntNo:t%dntamount:t%dntsum:t%5.2fntreceive:%5.2fntchange:t%5.2fn",goodsNo.num,j,sum,receive,change); fclose(fp3); else printf("errorn");gotoxy(10,20); for(i=0;i<20;i+) printf("
21、;* "); gotoxy(16,22);printf("Press any key to exit");getch(); 3.6 input函數(shù)/*庫存信息更新*/input_s()int i,f,j=0; clrscr(); printf("tthis is the goods stock,please add the goods messagen"); printf("num:name:price:amount:n"); fp1=fopen("b.txt","r"); fscan
22、f(fp1,"%d%d",&n,&n1); fp=fopen("a.txt","a"); for(i=0;i+,j+) scanf("%d%s%d%d",&goodsi.num,,&goodsi.price,&goodsi.amount); n+; fp1=fopen("b.txt","w"); fprintf(fp1,"%dt%d",n,n1); fclose(fp1); printf(&qu
23、ot;ncontinue?(y/n)");f=getch(); if(f='n') break; for(i=0;i<=j;i+) fprintf(fp,"%dt%st%dt%dn",goodsi.num,,goodsi.price,goodsi.amount); fclose(fp); gotoxy(16,20);printf("press any key to break");getch();3.7 sell函數(shù)/*顯示最近銷售信息*/sell_m() int i,j,No; clrscr();g
24、otoxy(10,5); for(i=0;i<20;i+) printf("* ");printf("ntsalesperson_numtnumtnametpricetsell_numn"); fp1=fopen("b.txt","r"); fscanf(fp1,"%d%d",&n,&n1); fclose(fp1); if( fp2=fopen("c.txt","r")!=NULL) for(i=0;i<n1;i+) fsca
25、nf(fp2,"%st%dt%st%dt%dn",salesperson_num,&goodsNo.num,goodsN,&goodsNo.price,&j); for(i=0;i<n1;i+) printf("t%stt%dt%st%dt%dn",salesperson_num,goodsNo.num,goodsN,goodsNo.price,j); fclose(fp2); else printf("errorn");gotoxy(10,20); for(i=0;i<20
26、;i+) printf("* "); gotoxy(16,22);printf("Press any key to exit");getch();3.8 display函數(shù)/*顯示最近銷售的庫存信息*/disp()int i; clrscr();gotoxy(10,5); for(i=0;i<20;i+) printf("* ");printf("ntinput the warehouse filenamen");gotoxy(10,7);scanf("%s",xname);printf("tNo.tnametpricetamountn"); fp1=fopen("b.txt","r"); fscanf(fp1,"%d",&n); if( fp=fopen(xname,&quo
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度礦山事故水池建設(shè)與安全生產(chǎn)保障合同
- 二零二五年度城市別墅購房定金合同
- 2025年度景觀施工項(xiàng)目安全監(jiān)理合同
- 2025年度電視劇劇本編排與制作合同
- 二零二五年度廣告?zhèn)髅絼趧?wù)派遣員工服務(wù)合同
- 酒店住宿意外事故責(zé)任免除與2025年度安全保障協(xié)議
- 二零二五年度老年贍養(yǎng)贍養(yǎng)金及醫(yī)療救助合同
- 辦公區(qū)域搬遷安排及流程梳理通知
- 關(guān)于銷售團(tuán)隊(duì)建設(shè)與管理的年度工作總結(jié)報(bào)告
- 美發(fā)店勞動(dòng)合同協(xié)議書
- 2024解析:第十二章機(jī)械效率-基礎(chǔ)練(解析版)
- 建筑工程項(xiàng)目合作備忘錄
- 靈活用工管理
- 全媒體運(yùn)營(yíng)師試題庫(含答案)
- 2024至2030年中國(guó)礦用隔爆型監(jiān)控?cái)z像儀行業(yè)投資前景及策略咨詢研究報(bào)告
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件 第二單元學(xué)習(xí)職業(yè)禮儀
- 北京市燕山區(qū)中考一模英語試題及答案
- 腦卒中-腦卒中的康復(fù)治療
- 2024至2030年中國(guó)超聲波加工機(jī)床行業(yè)深度調(diào)研及發(fā)展預(yù)測(cè)報(bào)告
- 十七個(gè)崗位安全操作規(guī)程手冊(cè)
- 疫情統(tǒng)計(jì)學(xué)智慧樹知到答案2024年浙江大學(xué)
評(píng)論
0/150
提交評(píng)論