




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言課程設計-銷售管理系 銷售管理系統的設計目 總體設 詳細設 一、課題的功能模塊的劃分 主菜單及頭文件設 編輯系統菜單運行 輸入信息 保存信息,參數為結構體數組和記錄數 讀入取函數,參數為結構體數組 輸出 二、主要功能的實 程序調試與測 執行結 總 C語言課程設計-銷售管理系題目:銷售管理系45銷售員的代產品的代這種產品的當天的銷售每位銷售員每天可能上繳0-5張便條。假設,收集到了上個月的所有便條,編寫一個處理系統,上個月的銷售情況(自己設定,進計算上個月每個人每種產品的銷售額按銷售額對銷售員進行排序,輸出排序結果(銷售員代號(輸出統計報銷售管理系統的設計目1C語言程序設計》課程學習的內容,掌握工程軟件設計的基本方法,強化上機動手能力,闖過編程關;2、為后續各門計算機課程的學習打下堅實基3、學會用c語言程序設計來設計銷售管理系統設計總體設銷系每每銷系每每 按菜保顯 銷 銷 產 售員 產 的 對函 輸 文 文銷 總 售 售額排如圖為程序設計流程每每按位種銷顯銷產售示售品額便員的對條的銷銷清銷售售單售額員詳細設一、課題的功能模塊的劃分主菜單及頭文件設計里,編譯了主函數需要用到的一些函數,如#includestdio.h"等,用name[4]記錄。頭文件還包括了定義常數記錄數typedefstruct, intenter(RECODEt[]);/*函數*/voidsalor(RECODEt[],intn);/*函數*/intsum(RECODEt[],intn,intm);/*函數*/voidlist1(RECODEt[],intn);/*函數*/voidlist2(RECODEt[],intn);/*函數*/voidlist3(RECODEt[],intn);/*函數*/voidsave(RECODEt[],intn);/*函數*/intload(RECODEt[]);/*函數程序開始之前直接#include"pro.h"。編輯系統菜單運行的結構體數組RECODErec[600],用for(;;)循環讓菜單實現無限循環switch(_select())調用主菜單函數,返回值整數作開關case就是輸入信息的定義編輯,當然最后需要用到break來實現返回。菜單定義完成之后,開始編譯菜單的輸出,這部分,用了printf單只有0~7選項,為了防止用戶輸入選項超值,所以用dowhile語句來控制,(c<0||c>7)限定了用戶輸入的數據只有0~7才有效,(return輸入信息輸入信息一般都是使用scanf來實現但在用戶輸入之前需要解決一個問題,程序必須限制用戶的輸入序數(記錄條數,所以在入數據之前,必須先限定序數,方法則是用一個for循環來實現,有息分別存入對應的數組當中,如便條條數則存入t[i].num中。保存信息,參數為結構體數組和記錄數用戶輸入的信息需要保存時,用save選項進行保存。保存的時候實現應該建立一個指向文件的指針從而固定保存文件時的位置,之后用if語句來判斷打開文件是否正常,if((fp=open("rcord.tx","wb")==NULL),如果沒打開(打開不正常,則程序執行退出;當判斷文件打開正常時,系統顯示“保存文件(用printf("\n保存文件\n")來完成,保存信息是用到的fprintf函數將制定記錄數輸入文件fprintf(fp,"%",n)為源文件中采用了換行保存文件是系統默認不會進行保存所有必須加如換行符號保存,防止文件丟失,保證文件以用戶輸入的信息一致,保存換行符號依然采用fprintf函數來實現,具體源文件為fprintffp,"\rn")當確立了保存的可以性之后系統開始錄入需要保存的信息用for循環語句不斷把用戶輸入的信息保存因為之前在編寫輸入輸出程序時都用到了一定的格式保證信息的一一對應所以在保存文件時也需要確定和輸入是相同的格式這里依然使用 fprintf 函數來進行保存,如fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-售額按照間隔7個字符格式進行保存,在保存格式確立后,需要把換行符號再次寫入文件,程序結束后fclose結束保存,并用printf輸讀入取函數,參數為結構體數組前面已經做了文件的保存保存文件成功后統會以record.txt文件保存在與程序同級的文件夾下,而讀入函數,就是為了讓用戶再次打開運行程序時可以直接之前已經輸入并保存過的信息,和信息一樣,讀入函數也采用了參數為結構體數組,同樣應該確定文件指向指針FILE*fp,讀入函數之前,應該確定是否有已經保存的文件,用保存文件一樣,用if語句來進行判斷不能讀入文件,則會顯示“不能打開文件printf("不能打開文件\n")來實現,同時系統要結束讀入文件的執行,用exit(1)實現;如果判斷成功,則系統會自動讀入用戶已經保存的數據,(fscanf(fp,"%d",&n)讀入記錄數,用for循環把已經保存的數據一一對應的讀入到正在執行的程序中,這里需要注意的是的數據格式應該同保存時的一致,如時的格式是,].a2,t[i].a3,t[i].a4,t[i].a5),&(t[i].a3),&(t[i].a4),&(t[i].a5fclose(fp),并顯成功地從文件讀入數據!!!(用printf實現1).每個人每種產品的銷售額(由完成 int用for環來求每個人的總銷售額:for(i=0;i<4;i++for環來求每個人每種產品的總銷售額:for(i=0;i<n;i++),for(j=0;j<4;j++);在用for產品代號用printf可實現,用sum每個銷售員的銷售額求和,用system("cls")來錄入信息,然后輸出頭標(如銷售員代號,產品代號,銷售額等printf現之后開始查詢for句來。2).按銷售額對銷售員進行排序(由完成:額對銷售員排序。在求每個銷售員銷售額時也是要先定義銷售用scanf("%d",&s)來記錄輸入銷售員代號的信息然后輸出頭(如查詢信息首先需要一個for語句來,實現對已存入數據的所有查詢for(i=0;i<n;i++),關鍵內容是查詢銷售員代號時用if(strcmp(name,t[i].name)==0),找出與輸入的銷售員相同的intc[4],m[4]for循環(for(i=0;i<4;ifor(j=i+1;j<4;j++))對銷售員的銷售額進行排序,再用if句來求,最后是輸出用printf("%d\n",m[i])實現。3).每種產品的總銷售額(由李鴻完成也一樣首先要定義數組,接著用c[i]=sum(t,n,i+1)求每個人的總銷售額,再用for循環,再用sum0+=c[i]對所有產品的銷售額求總,用for循環對每個人每種產品的銷售額求總銷售額,再用for循頭標(如銷售員代號,產品代號,總銷售額等,用printf實現)即二、主要功能的實頭文件#include"stdio.h"/*輸入輸出函數*/#include"stdlib.h"/*通用應用程序函數*/#include"string.h"/*字符串函數*/#include"ctype.h"/*字符操作函數*/typedefstruct/*定義結構體變量{intname[4/*銷售員代號*/inta1;/*產品一代號*/inta2;*產品二代號*/inta3;*產品三代號*/inta4;*產品四代號*/inta5;/*產品五代號intme/******以下是函數原型*******/intenter(RECODEt[]);/*函數voidsalor(RECODEt[],intn);/*函數*/intsum(RECODEt[],intn,intm);/*函數*/voidlist1(RECODEt[],intn);/*函數*/voidlist2(RECODEt[],intn);/*函數*/voidlist3(RECODEt[],intn);/*函數*/voidsave(RECODEt[],intn);/*函數*/intload(RECODEt[]);/*函數*/函數#includevoidmain()/*主函數{RECODEintlength;system("cls");/*清屏*/for(/*無限循環 _select())*根據用戶的選擇判斷該調用哪個功能函數{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()/*菜單函數{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++)/*對每種產品的銷售額求和*/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];/*定義兩個數組*/system("cls");/*清屏*/{}printf("thesequceofsalor'salingnumberfrommanytofew\n");printf("\ninputanykeyto }程序調試與測主窗體中分為N個功能鍵輸入銷售額2.3.顯示便條每位
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流與供應鏈圖書企業制定與實施新質生產力項目商業計劃書
- 智能家居仿生安防系統企業制定與實施新質生產力項目商業計劃書
- 環境教育中心企業制定與實施新質生產力項目商業計劃書
- 漂流在線平臺行業深度調研及發展項目商業計劃書
- 油封密封件在線平臺行業深度調研及發展項目商業計劃書
- 演講美學提升企業制定與實施新質生產力項目商業計劃書
- 河流博物館企業制定與實施新質生產力項目商業計劃書
- 校園健身房運營管理行業深度調研及發展項目商業計劃書
- 游戲化學習培訓行業深度調研及發展項目商業計劃書
- 濕地生態科普館行業跨境出海項目商業計劃書
- 自愿凈身出戶離婚協議書參考范文(2篇)
- 6S知識競賽暨技能比武活動方案
- 教育學原理簡答題和論述題
- 部編一年級下冊語文 第四單元復習教案2份
- 杭州銀行春季校園2023年招聘筆試歷年高頻考點試題答案詳解
- 游博物館小學作文
- 江蘇省蘇州市昆山市2022-2023學年六年級數學第二學期期末達標測試試題含解析
- 光伏系統調試方案
- 徠卡v lux4中文說明書大約工作時間和可拍攝圖像數量
- 2023年山東省濟南市高新區中考物理一模試卷(含解析)
- 單基因遺傳病的分子生物學檢驗-醫學院課件
評論
0/150
提交評論