版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言課程設(shè)計-銷售管理系 銷售管理系統(tǒng)的設(shè)計目 總體設(shè) 詳細(xì)設(shè) 一、課題的功能模塊的劃分 主菜單及頭文件設(shè) 編輯系統(tǒng)菜單運行 輸入信息 保存信息,參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù) 讀入取函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組 輸出 二、主要功能的實 程序調(diào)試與測 執(zhí)行結(jié) 總 C語言課程設(shè)計-銷售管理系題目:銷售管理系45銷售員的代產(chǎn)品的代這種產(chǎn)品的當(dāng)天的銷售每位銷售員每天可能上繳0-5張便條。假設(shè),收集到了上個月的所有便條,編寫一個處理系統(tǒng),上個月的銷售情況(自己設(shè)定,進(jìn)計算上個月每個人每種產(chǎn)品的銷售額按銷售額對銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代號(輸出統(tǒng)計報銷售管理系統(tǒng)的設(shè)計目1C語言程序設(shè)計》課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計的基本方法,強(qiáng)化上機(jī)動手能力,闖過編程關(guān);2、為后續(xù)各門計算機(jī)課程的學(xué)習(xí)打下堅實基3、學(xué)會用c語言程序設(shè)計來設(shè)計銷售管理系統(tǒng)設(shè)計總體設(shè)銷系每每銷系每每 按菜保顯 銷 銷 產(chǎn) 售員 產(chǎn) 的 對函 輸 文 文銷 總 售 售額排如圖為程序設(shè)計流程每每按位種銷顯銷產(chǎn)售示售品額便員的對條的銷銷清銷售售單售額員詳細(xì)設(shè)一、課題的功能模塊的劃分主菜單及頭文件設(shè)計里,編譯了主函數(shù)需要用到的一些函數(shù),如#includestdio.h"等,用name[4]記錄。頭文件還包括了定義常數(shù)記錄數(shù)typedefstruct, intenter(RECODEt[]);/*函數(shù)*/voidsalor(RECODEt[],intn);/*函數(shù)*/intsum(RECODEt[],intn,intm);/*函數(shù)*/voidlist1(RECODEt[],intn);/*函數(shù)*/voidlist2(RECODEt[],intn);/*函數(shù)*/voidlist3(RECODEt[],intn);/*函數(shù)*/voidsave(RECODEt[],intn);/*函數(shù)*/intload(RECODEt[]);/*函數(shù)程序開始之前直接#include"pro.h"。編輯系統(tǒng)菜單運行的結(jié)構(gòu)體數(shù)組RECODErec[600],用for(;;)循環(huán)讓菜單實現(xiàn)無限循環(huán)switch(_select())調(diào)用主菜單函數(shù),返回值整數(shù)作開關(guān)case就是輸入信息的定義編輯,當(dāng)然最后需要用到break來實現(xiàn)返回。菜單定義完成之后,開始編譯菜單的輸出,這部分,用了printf單只有0~7選項,為了防止用戶輸入選項超值,所以用dowhile語句來控制,(c<0||c>7)限定了用戶輸入的數(shù)據(jù)只有0~7才有效,(return輸入信息輸入信息一般都是使用scanf來實現(xiàn)但在用戶輸入之前需要解決一個問題,程序必須限制用戶的輸入序數(shù)(記錄條數(shù),所以在入數(shù)據(jù)之前,必須先限定序數(shù),方法則是用一個for循環(huán)來實現(xiàn),有息分別存入對應(yīng)的數(shù)組當(dāng)中,如便條條數(shù)則存入t[i].num中。保存信息,參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù)用戶輸入的信息需要保存時,用save選項進(jìn)行保存。保存的時候?qū)崿F(xiàn)應(yīng)該建立一個指向文件的指針從而固定保存文件時的位置,之后用if語句來判斷打開文件是否正常,if((fp=open("rcord.tx","wb")==NULL),如果沒打開(打開不正常,則程序執(zhí)行退出;當(dāng)判斷文件打開正常時,系統(tǒng)顯示“保存文件(用printf("\n保存文件\n")來完成,保存信息是用到的fprintf函數(shù)將制定記錄數(shù)輸入文件fprintf(fp,"%",n)為源文件中采用了換行保存文件是系統(tǒng)默認(rèn)不會進(jìn)行保存所有必須加如換行符號保存,防止文件丟失,保證文件以用戶輸入的信息一致,保存換行符號依然采用fprintf函數(shù)來實現(xiàn),具體源文件為fprintffp,"\rn")當(dāng)確立了保存的可以性之后系統(tǒng)開始錄入需要保存的信息用for循環(huán)語句不斷把用戶輸入的信息保存因為之前在編寫輸入輸出程序時都用到了一定的格式保證信息的一一對應(yīng)所以在保存文件時也需要確定和輸入是相同的格式這里依然使用 fprintf 函數(shù)來進(jìn)行保存,如fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-售額按照間隔7個字符格式進(jìn)行保存,在保存格式確立后,需要把換行符號再次寫入文件,程序結(jié)束后fclose結(jié)束保存,并用printf輸讀入取函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組前面已經(jīng)做了文件的保存保存文件成功后統(tǒng)會以record.txt文件保存在與程序同級的文件夾下,而讀入函數(shù),就是為了讓用戶再次打開運行程序時可以直接之前已經(jīng)輸入并保存過的信息,和信息一樣,讀入函數(shù)也采用了參數(shù)為結(jié)構(gòu)體數(shù)組,同樣應(yīng)該確定文件指向指針FILE*fp,讀入函數(shù)之前,應(yīng)該確定是否有已經(jīng)保存的文件,用保存文件一樣,用if語句來進(jìn)行判斷不能讀入文件,則會顯示“不能打開文件printf("不能打開文件\n")來實現(xiàn),同時系統(tǒng)要結(jié)束讀入文件的執(zhí)行,用exit(1)實現(xiàn);如果判斷成功,則系統(tǒng)會自動讀入用戶已經(jīng)保存的數(shù)據(jù),(fscanf(fp,"%d",&n)讀入記錄數(shù),用for循環(huán)把已經(jīng)保存的數(shù)據(jù)一一對應(yīng)的讀入到正在執(zhí)行的程序中,這里需要注意的是的數(shù)據(jù)格式應(yīng)該同保存時的一致,如時的格式是,].a2,t[i].a3,t[i].a4,t[i].a5),&(t[i].a3),&(t[i].a4),&(t[i].a5fclose(fp),并顯成功地從文件讀入數(shù)據(jù)!!!(用printf實現(xiàn)1).每個人每種產(chǎn)品的銷售額(由完成 int用for環(huán)來求每個人的總銷售額:for(i=0;i<4;i++for環(huán)來求每個人每種產(chǎn)品的總銷售額:for(i=0;i<n;i++),for(j=0;j<4;j++);在用for產(chǎn)品代號用printf可實現(xiàn),用sum每個銷售員的銷售額求和,用system("cls")來錄入信息,然后輸出頭標(biāo)(如銷售員代號,產(chǎn)品代號,銷售額等printf現(xiàn)之后開始查詢for句來。2).按銷售額對銷售員進(jìn)行排序(由完成:額對銷售員排序。在求每個銷售員銷售額時也是要先定義銷售用scanf("%d",&s)來記錄輸入銷售員代號的信息然后輸出頭(如查詢信息首先需要一個for語句來,實現(xiàn)對已存入數(shù)據(jù)的所有查詢for(i=0;i<n;i++),關(guān)鍵內(nèi)容是查詢銷售員代號時用if(strcmp(name,t[i].name)==0),找出與輸入的銷售員相同的intc[4],m[4]for循環(huán)(for(i=0;i<4;ifor(j=i+1;j<4;j++))對銷售員的銷售額進(jìn)行排序,再用if句來求,最后是輸出用printf("%d\n",m[i])實現(xiàn)。3).每種產(chǎn)品的總銷售額(由李鴻完成也一樣首先要定義數(shù)組,接著用c[i]=sum(t,n,i+1)求每個人的總銷售額,再用for循環(huán),再用sum0+=c[i]對所有產(chǎn)品的銷售額求總,用for循環(huán)對每個人每種產(chǎn)品的銷售額求總銷售額,再用for循頭標(biāo)(如銷售員代號,產(chǎn)品代號,總銷售額等,用printf實現(xiàn))即二、主要功能的實頭文件#include"stdio.h"/*輸入輸出函數(shù)*/#include"stdlib.h"/*通用應(yīng)用程序函數(shù)*/#include"string.h"/*字符串函數(shù)*/#include"ctype.h"/*字符操作函數(shù)*/typedefstruct/*定義結(jié)構(gòu)體變量{intname[4/*銷售員代號*/inta1;/*產(chǎn)品一代號*/inta2;*產(chǎn)品二代號*/inta3;*產(chǎn)品三代號*/inta4;*產(chǎn)品四代號*/inta5;/*產(chǎn)品五代號intme/******以下是函數(shù)原型*******/intenter(RECODEt[]);/*函數(shù)voidsalor(RECODEt[],intn);/*函數(shù)*/intsum(RECODEt[],intn,intm);/*函數(shù)*/voidlist1(RECODEt[],intn);/*函數(shù)*/voidlist2(RECODEt[],intn);/*函數(shù)*/voidlist3(RECODEt[],intn);/*函數(shù)*/voidsave(RECODEt[],intn);/*函數(shù)*/intload(RECODEt[]);/*函數(shù)*/函數(shù)#includevoidmain()/*主函數(shù){RECODEintlength;system("cls");/*清屏*/for(/*無限循環(huán) _select())*根據(jù)用戶的選擇判斷該調(diào)用哪個功能函數(shù){case1:length=enter(rec);casecase3:length=load(rec);case4:list1(rec,length);case5:salor(rec,length);case6:list2(rec,length);case7:list3(rec,length);case}}} _select()/*菜單函數(shù){intn;printf("1輸入便條\n");printf("2printf("3文件\n");printf("4顯示便條\n");printf("5printf("6printf("7printf("0退出管理\n");printf("請選擇你的操作(0-7):\n");if(0<n&&n<7)system("cls");/*清屏*/returnn;}/*輸入intenter(RECODE{inti,num;system("cls");/*清屏*/ product1product2product3 { }
returni;}
voidsave(RECODEt[],int{intFILE*fp;/*fopen*/{}{}printf("pressanykeytocontinue. }/*文件intload(RECODE{intFILE{}printf("\n成功文件!!!\n");/*成功讀入信息*/printf("pressanykeytocontinue. returnn;}/*顯示voidlist1(RECODEt[],int{intFILE{}i].a4),&(t[i].a5));/*fp*/ printf("nameproduct1product2product3product4product5");{printf("%d }-printf("\npressanykeyto }voidsalor(RECODEt[],int{intintprintf("請輸入要查詢的銷售員的代號(1-4\n");scanf("%d",&s);*輸入所要查看的售貨員的代號*/for(i=0;i<n;i++)/*對每種產(chǎn)品的銷售額求和*/printf("nameproduct1product2product3product4---
printf("\npressentertocontinue. }intsum(RECODEt[],intn,int{int}return}voidlist2(RECODEt[],int{intintsystem("cls");;{}}}printf("productsprintf("code printf("%-10d%-7d%-7d%-7d%-7d%-7d%- printf("\npressanykeytocontinue. }voidlist3(RECODEt[],intn){intintc[4],m[4];/*定義兩個數(shù)組*/system("cls");/*清屏*/{}printf("thesequceofsalor'salingnumberfrommanytofew\n");printf("\ninputanykeyto }程序調(diào)試與測主窗體中分為N個功能鍵輸入銷售額2.3.顯示便條每位
溫馨提示
- 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é)議書
- T-CISA 374-2024 抗震型耐大氣腐蝕建筑結(jié)構(gòu)用熱軋鋼板和鋼帶
- 《電機(jī)技術(shù)應(yīng)用》課件 2.4.1 三相異步電動機(jī)的起動
- 中學(xué)學(xué)校三年發(fā)展規(guī)劃(2023-2026)
- 《PCT在ICU的應(yīng)用》課件
- 2023年金融擔(dān)保服務(wù)項目籌資方案
- 《如何獲得財富》課件
- 快遞員模擬試題+參考答案
- 養(yǎng)老院老人生活照顧人員晉升制度
- 《如何組建創(chuàng)業(yè)團(tuán)隊》課件
- 醫(yī)院行風(fēng)建設(shè)及行風(fēng)示范窗口建設(shè)工作計劃
- 加油站隱患排查表、整改臺賬
- 潔凈廠房監(jiān)理實施細(xì)則
- 浙江溫州文成縣周壤鎮(zhèn)招考聘用大學(xué)生村務(wù)助理【共500題附答案解析】模擬檢測試卷0
- 私人財富管理與資產(chǎn)配置課件
- 廣東汕頭高二地理(文科班)期中試卷
- JC∕T 2647-2021 預(yù)拌混凝土生產(chǎn)企業(yè)廢水回收利用規(guī)范
- 售前、售中、售后服務(wù)流程圖
- 湖南省鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心地址醫(yī)療機(jī)構(gòu)名單目錄
- 板坯連鑄機(jī)板坯連鑄機(jī)液壓系統(tǒng)系統(tǒng)課件
- 傳感器與測試技術(shù)論文
評論
0/150
提交評論