


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGYC語言程序設(shè)計課程設(shè)計報告課設(shè)題目:銷售系統(tǒng)專業(yè):電氣工程及其自動化班級:T1123-6姓名:成績:完成日期:.2012年6月18日一2012年6月22日指導(dǎo)教師:一胡寧業(yè)1. 課程設(shè)計目的需求分析2.1要求2.2任務(wù)描述2.3運行環(huán)境2. 2.4開發(fā)工具總體設(shè)計3.1系統(tǒng)流設(shè)計3. 3.2系統(tǒng)模塊設(shè)計詳細設(shè)計4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計4.2模塊接口設(shè)計4.3以下是幾個主要模塊的流程圖:4. 運行結(jié)果5.1主菜單界面:5.2銷售員信息錄入界面:5.3銷售產(chǎn)品信息錄入界面:5.4銷售信息錄入界面:5.5銷售信息查尋界面:5.6銷售
2、信息保存界面:5.7題目顯示界面:5.8信息刪除界面:5.9銷售報表顯示界面:5. 程序調(diào)試與測試6.1程序調(diào)試6. 6.2程序測試問題與不足建議編程體會程序源代碼:7. 參考文獻用戶使用手冊課程設(shè)計目的1)通過課程設(shè)計,加深對結(jié)構(gòu)化程序設(shè)計思想的理解,能對系統(tǒng)功能進行分析,并設(shè)計合理的模塊化結(jié)構(gòu)。2)通過課程設(shè)計,進一步掌握C語言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。3)通過課程設(shè)計,提高程序開發(fā)能力,能運用合理的控制流編寫活晰高效的程序。4)通過課程設(shè)計,培養(yǎng)C語言知識運用和自學(xué)能力,真正的把課堂上獲得的知識運用起來,培養(yǎng)自己對程序編寫的興趣,并能獨立設(shè)計和實
3、現(xiàn)一個小型系統(tǒng)。5)通過課程設(shè)計,加強了自己的程序分析能力。1. 需求分析2.1要求1)遵循軟件開發(fā)過程的基本規(guī)范;能靈活應(yīng)用,初步具備運用C程序解決實際問題的能力。2)運用結(jié)構(gòu)化程序設(shè)計方法,按照課程設(shè)計題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計、概要設(shè)計、詳細設(shè)計、編寫代碼、調(diào)試和測試C程序等過程。3)學(xué)會利用數(shù)組、結(jié)構(gòu)體、鏈表進行相關(guān)信息表示。4)功能模塊劃分活晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡的功能描述5)各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確。6)所設(shè)計的C程序較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋活晰。7)界面友好(良好的人
4、機互交),凡需要輸入信息時,都有較詳盡的提示信息,并對輸入信息有較完善的值域分析。8)程序經(jīng)上機調(diào)試通過,不應(yīng)出現(xiàn)語法型、功能型錯誤,并獲得滿意的結(jié)果。9)學(xué)會通過各功能性測試用例測試程序的能力,盡可能避免原則性錯誤的出現(xiàn)。10)掌握編寫、調(diào)試和測試C語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計的基本方法。11)C語言課程設(shè)計報告的內(nèi)容反應(yīng)實際設(shè)計過程,且符合格式要求,無抄襲現(xiàn)象。2.2任務(wù)描述問題根據(jù)需求,該系統(tǒng)所應(yīng)包含的信息有以下一些:銷售管理的基本信息:銷售員編號,產(chǎn)品編號,銷售日期,銷售數(shù)量根據(jù)需求,該系統(tǒng)所應(yīng)實現(xiàn)的功能有以下一些:各種基本數(shù)據(jù)的錄入。如:銷售信息的錄入各種基本數(shù)據(jù)的修改
5、。即:允許對已錄入的基本信息進行編輯、修改。例:對銷售員編號的修改各種基本數(shù)據(jù)的刪除。如:指定銷售員、產(chǎn)品、銷售日期的記錄刪除基于各種數(shù)據(jù)的查詢。例:根據(jù)銷售員編號查詢銷售歷史系統(tǒng)以菜單方式工作,界面活晰,易于操作1) 2.3運行環(huán)境WindowsXP/7系統(tǒng)VC+6.0編譯環(huán)境2.4開發(fā)工具C語H3.總體設(shè)計3.1圖1系統(tǒng)功能流程圖創(chuàng)建銷售員信按銷售員標(biāo)號刪除信屏幕顯示銷售信息按銷售員編號查詢信從文件導(dǎo)入銷售信息從鍵盤輸入銷售員信從文件導(dǎo)入銷售員信圖2系統(tǒng)功能模塊圖從義件導(dǎo)入產(chǎn)昂信息從文件導(dǎo)入產(chǎn)品信息模塊設(shè)計1. 主菜單界面:構(gòu)造函數(shù)intmenu_show(),實現(xiàn)完成系統(tǒng)菜單的顯示。2.
6、 創(chuàng)建銷售員信息界面:構(gòu)造函數(shù)voidCreate_clerk(),實現(xiàn)銷售員信息創(chuàng)建系統(tǒng)的顯示。3. 從文件導(dǎo)入銷售員信息界面:構(gòu)造函數(shù)函數(shù)voidscanf_clerk()實現(xiàn)從文件導(dǎo)入銷售員信息。4從鍵盤輸入銷售員信息界面:構(gòu)造函數(shù)voidclerk(),實現(xiàn)從鍵盤輸入銷售員信息。5. 創(chuàng)建產(chǎn)品信息界面:構(gòu)造函數(shù)voidCreate_product(),實現(xiàn)產(chǎn)品信息創(chuàng)建系統(tǒng)的顯示。從文件導(dǎo)入銷售員信息界面:構(gòu)造函數(shù)voidscanf_product()實現(xiàn)從文件導(dǎo)入產(chǎn)品信息的界。7從鍵盤輸入銷售員信息界面:構(gòu)造函數(shù)voidproduct(),實現(xiàn)從鍵盤輸入產(chǎn)品信息。創(chuàng)建銷售信息界面以及從
7、文件導(dǎo)入銷售信息界面:構(gòu)造函數(shù)voidadd(structinformation*head),實現(xiàn)銷售信息創(chuàng)建系統(tǒng)的顯示和通過構(gòu)造函數(shù)voidimport(char*filename,structinformation*p_root)從文件導(dǎo)入銷售信息。8. 從鍵盤輸入銷售員信息界面:構(gòu)造函數(shù)voidinformation(structinformation*head),實現(xiàn)從鍵盤輸入銷售信息。9. 保存銷售信息界面:構(gòu)造函數(shù)voidexport(char*filename,structinformation*p_root),實現(xiàn)銷售信息的保存。11查詢銷售信息界面:構(gòu)造函數(shù)voidsearc
8、h(structinformation*head),實現(xiàn)對銷售信息的查詢。顯示銷售報表:構(gòu)造函數(shù)voidprint(structinformation*head)實現(xiàn)對查詢界面的顯示并通過創(chuàng)建調(diào)用函數(shù)voidpri_xin(structinformation*head)實現(xiàn)對銷售報表的指定時間段的查詢。12. 顯示題目界面:構(gòu)造函數(shù)voidshowoo()實現(xiàn)對題目的顯示13. 刪除銷售信息界面:構(gòu)造函數(shù)voidDelete(structinformation*head)實現(xiàn)對刪除銷售信息的界面顯示并通過調(diào)用構(gòu)造的函數(shù)voiddclerk(structinformation*head),voi
9、ddpro(structinformation*head),voiddclerk(structinformation*head)分別實現(xiàn)對指定銷售員編號,產(chǎn)品編號,銷售時間的銷售信息的刪除。14. 退出系統(tǒng):用系統(tǒng)函數(shù)exit(0);實現(xiàn)退出系統(tǒng)。4. 詳細設(shè)計4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的數(shù)據(jù)信息,其結(jié)構(gòu)如下:數(shù)據(jù)項名稱數(shù)據(jù)項系統(tǒng)表小數(shù)據(jù)類型數(shù)據(jù)長度備注銷售員編號numznum整數(shù),整數(shù)4,4銷售員姓名name字符申30銷售員性別sex字符申3產(chǎn)品代號mark,zmark整數(shù),整數(shù)4產(chǎn)品名稱cpxx字符申30產(chǎn)品價格price長整形8銷售時間date字符申11銷售數(shù)量amo
10、unt整數(shù)4根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的類別信息,其結(jié)構(gòu)如下:類別代號類別名稱為了能實現(xiàn)不受限制的增加銷售信息,采用鏈表的結(jié)構(gòu)保存銷售信息,在增加銷售基本信息時,創(chuàng)建一個銷售信息的節(jié)點,將其插入到鏈表中,示意圖如下。為此,先聲明一個類型為structinformation的結(jié)構(gòu)體,其成員為銷售信息。然后通過對指針、鏈表、文件等數(shù)據(jù)結(jié)構(gòu)的操作,實現(xiàn)對銷售信息的錄入,插入,存盤,查詢,瀏覽,刪除等一系列操作。其中,結(jié)構(gòu)體定義如下:structinformationintznum;/*銷售員編號*/intzmark;/*產(chǎn)品代號*/chardate11;/*銷售日期*/intamount;/*銷售
11、數(shù)量*/structinformation*next;4.2模塊接口設(shè)計1) 所有函數(shù)模塊聲明如下:voidCreate_clerk();/*voidCreate_product();/*voidadd(structinformation*head);/*voidsearch(structinformation*head);/*錄入銷售員資料函數(shù)*/錄入產(chǎn)品資料函數(shù)*/定義輸入銷售信息函數(shù)*/定義查詢信息函數(shù)*/定義刪除函數(shù)*/定義刪除指定銷售員的記錄函數(shù)*/定義刪除指定產(chǎn)品的記錄函數(shù)*/定義刪除指定日期的記錄函數(shù)*/voidDelete(structinformation*head);/*v
12、oiddclerk(structinformation*head);/*voiddpro(structinformation*head);/*voiddinf(structinformation*head);/*定義顯示報表函數(shù)*/voidprint(structinformation*head);/*intmenu_show();/*主菜單函數(shù)*/判斷日期函數(shù)*/導(dǎo)入銷售員資料函數(shù)*/導(dǎo)入產(chǎn)品資料函數(shù)*/導(dǎo)入銷售信息函數(shù)*/保存函數(shù)*/定義把時間格式轉(zhuǎn)換成整形*/功能函數(shù)*/2) voidmenu_select(intsel,structinformation*head);/*intjudg
13、e_date();/*voidscanf_clerk();/*voidscanf_product();/*voidimport(structinformation*head);/*voidexport(char*filename,structinformation*p_root)/*intchange_date();/*主要模塊的實現(xiàn)系統(tǒng)以主函數(shù)voidmain()為入口,首先通過voidmenu_select(intsel,structinformation*head)以及intmenu_show()的嵌套使用進入主菜單界面。voidmenu_select(intsel,structinfo
14、rmation*head)接收intmenu_show()的返回值讓系統(tǒng)接收用戶輸入的選擇,調(diào)用相應(yīng)的函數(shù),進入到下一級菜單進行相關(guān)工作。4.3以下是幾個主要模塊的流程圖:1)主菜單函數(shù):圖3主函數(shù)流程圖2)銷售信息輸入函數(shù):打印信息輸入子菜單接收用戶選項是從文件導(dǎo)入銷售信息從鍵盤1刖入銷售伯息3)銷售信息刪除函數(shù):打印信息輸子菜按銷售日前刪是否存在刪除界面實現(xiàn)修改5. 運行結(jié)果5.1主菜單界面:圖6主菜單界面輸入功能選擇,系統(tǒng)自動進入相應(yīng)功能界面。5.2銷售員信息錄入界面:圖7信息錄入界面1圖8信息錄入界面2圖9信息錄入界面35.3產(chǎn)品信息錄入界面圖10信息錄入界面45.4銷售信息錄入界面圖
15、13信息錄入界面8圖14信息錄入界面9B*C:Usersinistrator-sMor2(111023060?-苞春心-錯售系綾終副版修改銷售員編號產(chǎn)品代號日期<¥¥¥¥-riii-DD(年限銷售數(shù)量H請輸入銷售員編號<1-4>=1諳輸入產(chǎn)品代號請輸入3S3<?VVY-MH-DD<f2001-2E12>>=2012-06-20請輸入銷售數(shù)量俄字W明輸入完畢,按任意準(zhǔn)返回!圖15信息錄入界面10:5.5銷售信息查詢界面:圖16銷售信息查尋界面115.6銷售信息保存界面5.7課題顯示界面圖18課題顯示界面5.8銷售信
16、息刪除界面圖18銷售信息刪除界面5.9銷售報表瀏覽界面圖19銷售報表瀏覽界面1圖19銷售報表瀏覽界面26. 程序調(diào)試與測試6.1程序調(diào)試調(diào)試過程及結(jié)果見板塊五各界面圖,分別對本程序輸入,保存,瀏覽,刪除以及顯示界面的美觀進行了詳細的調(diào)試展示。6.2程序測試一.輸入模塊的測試數(shù)字輸入正確輸入為18的整數(shù),測試用例abc;測試結(jié)果日期輸入測試正確輸入格式為YYYY-MMDD(日期界限為20012012年);測試用例1999-01-01,2013-01-01和20111-13-32;測試結(jié)果漢字輸入測試正確格式為漢字輸入如:魯迅,男;測試用例“abc”和“hao”測試結(jié)果7. 測試問題分析測試中可能
17、出現(xiàn)第一次輸入錯誤后輸入正確信息也顯示錯誤分析原因:輸入緩存未及時活除處理辦法:調(diào)用系統(tǒng)函數(shù)rewind(stdin)或fflush(stdin)活除緩存;對整數(shù)及特定格式的輸入無法很好的控制分析原因:僅采用單一的char或者int型控制;解決辦法:本程序大量采用字符型數(shù)組進行控制,必要時用系統(tǒng)函數(shù)atoi轉(zhuǎn)換為int型'問題與不足(1) 需求分析中存在的I可題和分析(2) 程序中缺少對銷售數(shù)量的排序以及對各個銷售數(shù)量段的統(tǒng)計,對于銷售管理系統(tǒng)而言,不便于對銷售員進行獎罰管理。概要設(shè)計中存在的問題和分析本程序再設(shè)計中模塊過余冗雜,且分劃時相互嵌套,不利于管理。詳細設(shè)計中存在的問題和分析
18、本程序在設(shè)計時文件和指針采用的是分開單獨編寫,因此在銜接過程中可能存在銜接問題。代碼編制中存在的問題和分析因為考慮到各個模塊的獨立性以便后續(xù)的其他功能的添加,本程序未使用全局變量,因此在程序的全面控制方面有缺陷。(3) 調(diào)試和測試中存在的問題和分析雖然程序指針走向在程序未運行時每一步都基本了解,但程序函數(shù)相互調(diào)用時指針的走向不是很明確,需要不斷的調(diào)試才能確定程序的正確性。8. 建議我本次的課設(shè)題目是銷售管理系統(tǒng),對這個題目,我建議加入銷售信息中銷售數(shù)量的排序功能,包括對每一天各銷售員銷售數(shù)量的排序和銷售員自己銷售數(shù)量的排序,這有利于銷售管理中對于銷售員的銷售業(yè)績的統(tǒng)計,方便管理另外我的題目中要
19、求手動輸入銷售日期并判斷日期格式,我認(rèn)為可以改為調(diào)用系統(tǒng)時問,對時間的要求可以更精確。9. 編程體會先吐吐苦水,這次課程設(shè)計熬了大概二十多天的夜,中途還夾著各種考試,彳艮累啊。但是真的很不錯,充實!通過這次的課程設(shè)計對C語音的認(rèn)識和了解都有加深,在編寫過程中遇到很多的問題,看書,查資料,問老師,請教學(xué)長,每一各問題的解決都伴隨著輕松與沉重,因為問題只會越來越少但是也會越來越困難。具體的我掌握了很多以前不知道或者不熟悉不會用的函數(shù),對C語音文件和指針的實用和認(rèn)識也更加熟悉,更重要的是了解到在程序編寫之前建立程序的主體框架圖是非常重要的,對于程序后續(xù)的編寫也具有指導(dǎo)作用。最后對在我的程序編寫過程中
20、給我提供幫助和指導(dǎo)的老師、學(xué)長、同學(xué)表示感謝,謝謝你們!10. 程序源代碼:/*銷售管理系統(tǒng)制作者:曹春恒*/#include<stdio.h>#include<stdlib.h>#include<string.h>/*銷售員信息結(jié)構(gòu)體*/structclerkintnum;/*編號*/charname30;/*姓名*/charsex3;/*性另J*/cle4;/*產(chǎn)品信息結(jié)構(gòu)體*/structproduct(intmark;/*產(chǎn)品代號*/charcpxx30;/*產(chǎn)品名稱*/doubleprice;/*銷售價格*/prod5;/*銷售信息結(jié)構(gòu)體*/str
21、uctinformation(intznum;/*銷售員編號*/intzmark;/*產(chǎn)品代號*/chardate11;/*銷售日期*/intamount;/*銷售數(shù)量*/structinformation*next;;/intwriteinfo_flag=0;/structinformation*head=NULL,*temp;voidCreate_clerk();/*voidCreate_product();/*voidadd(structinformation*head);/*voidsearch(structinformation*head);/*voidDelete(structin
22、formation*head);/*voiddclerk(structinformation*head);/*數(shù)*/voiddpro(structinformation*head);/*/voiddinf(structinformation*head);/*/voidprint(structinformation*head);/*/*文件保存*/void錄入銷售員資料函數(shù)*/錄入產(chǎn)品資料函數(shù)*/定義輸入銷售信息函數(shù)*/定義查詢信息函數(shù)*/定義刪除函數(shù)*/定義刪除指定銷售員的記錄函定義刪除指定產(chǎn)品的記錄函數(shù)定義刪除指定日期的記錄函數(shù)定義顯示報表函數(shù)*/export(char*filename,s
23、tructinformation*p_root)FILE*fp=fopen(filename,"w+");structinformation*p_current=p_root;inti=0;if(fp=NULL|p_current=NULL)return;while(p_current=p_current->next)!=NULL)fprintf(fp,"%d%d%s%dn",p_current->znum,p_current->zmark,p_current->date,p_current->amount);fclose(
24、fp);printf("nnnnn文件已保存!!!請按任意鍵繼續(xù).");getchar();getchar();/*從文件導(dǎo)入*/voidimport(char*filename,structinformation*p_root)FILE*fp=fopen(filename,"r+");structinformation*p_current=p_root,*p_new;inti=0,rtn;if(fp=NULL)return;dop_new=(structinformation*)malloc(sizeof(structinformation);if(p
25、_new=NULL)return;rtn=fscanf(fp,"%d%d%s%d”,&p_new->znum,&p_new->zmark,p_new->date,&p_new->amount);if(rtn!=EOF)p_current->next=p_new;p_current=p_new;while(rtn!=EOF);p_current->next=NULL;文件已導(dǎo)入!請按任意鍵主菜單函數(shù)*/功能函數(shù)*/判斷日期函數(shù)導(dǎo)入銷售員資導(dǎo)入產(chǎn)品資料導(dǎo)入銷售信息函定義把時間格式鏈表頭節(jié)點*/free(p_new);fclose
26、(fp);printf("nnnnn繼續(xù).");getchar();getchar();/*顯示函數(shù)*/intmenu_show();/*voidmenu_select(intsel,structinformation*head);/*intjudge_date();/*/voidscanf_clerk();/*料函數(shù)*/voidscanf_product();/*函數(shù)*/voidscanf_add(structinformation*head);/*數(shù)*/intchange_date();/*轉(zhuǎn)換成整形*/*根據(jù)參數(shù)選擇相應(yīng)的功能函數(shù)sel功能選擇代碼headvoidme
27、nu_select(intsel,structinformation*head)voidshowoo();/voidwriteInfo();switch(sel)(case0:Create_clerk();break;case1:Create_product();break;case2:add(head);break;case3:system("cls");export(".x.txt”,head);break;case4:search(head);break;case5:print(head);break;case6:system("cls"
28、);case7:showoo();break;case8:Delete(head);break;printf("nn*謝謝使用*nnn");exit(0);voidshowoo()(system("cls");printf("nnn*命”);printf("問題描述:nn已知一公司某公司有4個銷售員(編號、姓名、性別)n");printf(-負責(zé)銷售5種產(chǎn)品(產(chǎn)品代號、產(chǎn)品名稱,銷售價格)。設(shè)計一程序,完成以下功能:");printf("n從鍵盤輸入銷售信息:銷售員編號、產(chǎn)品編號、銷售日期、銷售數(shù)量&qu
29、ot;);printf("n輸入時需要判斷銷售員編號是否存在、產(chǎn)品編號是否存在、銷售數(shù)量是否大于0,n銷售日期日期格式是否合法(格式為:YYYY-MM-DD(限2001-2012),如2009-01-02)");printf("n能輸出指定時間段內(nèi)的銷售統(tǒng)計報表");printf("n根據(jù)銷售員編號查詢銷售歷史情況");printf("n能刪除指定銷售員、產(chǎn)品、銷售日期的記錄");printf("n所有數(shù)據(jù)符合實際應(yīng)用要求");printf("nn請按任意鍵繼續(xù)、");pri
30、ntf("n*,);getchar();/*菜單函數(shù),函數(shù)返回值為整數(shù),代表所選的菜單項*/intmenu_show()(chars80;inti;printf("nt*銷售理*n");printf("ntt0.printf("ntt1.printf("ntt2.printf("ntt3.printf("ntt4.printf("ntt5.printf("ntt6.printf("ntt7.printf("ntt8.*n");創(chuàng)建銷售員個人資料n");創(chuàng)建
31、產(chǎn)品資料n");輸入銷售信息n");保存銷售信息n");查詢銷售信息n");顯示銷售信息報表n");退出(任何情況下按Ctrl+C退出程序)n");顯示題目n");刪除銷售信息n");printf("nt*printf("n請輸入0-8之間的數(shù)選擇需要的操作:");/*提示輸入選項*/gets(s);while(1)(if(strlen(s)!=1|s0<'0'|s0>'8')(printf("n輸入錯誤請輸入0-8之間的數(shù):,ff
32、lush(stdin);gets(s);elsebreak;/*i=(int)s0-48;*/i=atoi(s);returni;/*返回選擇項,主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù)*/*主函數(shù)開始*/main()(structinformation*head;/*定義鏈表的頭節(jié)點*/intsize=sizeof(structinformation);head=(structinformation*)malloc(size);head->next=NULL;for(;)/*無限循環(huán)*/menu_select(menu_show(),head);/*定義鍵盤輸入銷售員函數(shù)*/voidclerk()
33、(structclerk*pt1;inti,j=0;chars100;輸入界面system("cls");/*活屏*/姓名性別(男or女)printf("*5);printf("n銷售員的編n");printf("n");for(i=0;i<4;i+)pt1=cle+i;printf("n第樸人資料(請輸入回車鍵開始):",i+1);getchar();printf("n請輸入銷售員的編號%d:",i+1);gets(s);while(1)if(strlen(s)!=1|atoi
34、(s)!=i+1)printf("n輸入錯誤請輸入銷售員的編號%d:",i+1);fflush(stdin);gets(s);elsebreak;/*pt1->num=(int)s0-48;*/pt1->num=atoi(s);printf("n請輸入姓名(漢字):");scanf("%s",pt1->name);while(pt1->namej!=0)if(pt1->namej<0)j+;elseprintf("n輸入錯誤請再輸入姓名(漢字):");fflush(stdin);
35、scanf("%s",pt1->name);printf("n請輸入性別(男或女):");scanf("%s",pt1->sex);while(!(strcmp(pt1->sex,"男")=0)|(strcmp(pt1->sex,"女")=0)printf("n性別輸入有誤請重新輸入(男或女):,fflush(stdin);scanf("%s",pt1->sex);printf("n輸入完畢!nn");/*定義文件導(dǎo)
36、入銷售員函數(shù)*/voidscanf_clerk()structclerk*pt1=cle;FILE*fp;if(fp=fopen("xiaoshoury.txt","r")=NULL)(printf("Fileopenerror!n");exit(0);printf("n*輸入界面*n");*性別(男或女)n");printf("n銷售員的編號(1-4)姓名while(!feof(fp)(fscanf(fp,"%d%s%s",&pt1->num,pt1->
37、name,pt1->sex);printf("n%-12d%-15s%-15sn",pt1->num,pt1->name,pt1->sex);pt1+;if(fclose(fp)(printf("不能關(guān)閉文件!n");exit(0);printf("nn導(dǎo)入成功,按任意鍵返回!nn");getchar();/*定義創(chuàng)建銷售員資料函數(shù)*/voidCreate_clerk()intcel;chars90;system("cls");/*活屏*/printf("nnnntt*nn&quo
38、t;);輸入printf("ntt1.通過文件導(dǎo)入銷售員資料printf("ntt2.通過鍵盤輸入銷售員資料printf("ntt0.返回nn");資料界面n");n");printf("ntt*n");printf("n請輸入0-2之間的數(shù)選擇需要的操作:,gets(s);while(1)if(strlen(s)!=1|s0<'0'|s0>'2')printf("n輸入錯誤請輸入0-2之間的數(shù):,fflush(stdin);gets(s);elseb
39、reak;/*i=(int)s0-48;*/cel=atoi(s);switch(cel)(case1:scanf_clerk();break;case2:clerk();break;case0:break;/*getchar();讀入任意字符卡住屏幕信息*/*鍵盤輸入*/voidproduct()structproduct*pt2;chars81;system("cls");/*活屏*/printf("*輸入界面*5)printf("n產(chǎn)品代號(1-5)名稱價格:”);printf("n");for(j=0;j<5;j+)pt
40、2=prod+j;printf("n第d個產(chǎn)品資料(請輸入回車鍵開始):",j+1);getchar();printf("n請輸入產(chǎn)品代號數(shù)字%d:",j+1);gets(s);while(1)/*(pt2->mark!=j+1)*/if(strlen(s)!=1|atoi(s)!=j+1)printf("n輸入錯誤請輸入產(chǎn)品編號d:",j+1);fflush(stdin);gets(s);elsebreak;pt2->mark=atoi(s);printf("n請輸入產(chǎn)品名稱(請輸入漢字):");sc
41、anf("%s",pt2->cpxx);while(pt2->cpxxi!=0)if(pt2->cpxxi<0)i+;elseprintf("n輸入錯誤請再輸入產(chǎn)品名稱(請輸入漢字):");fflush(stdin);scanf("%s",pt2->cpxx);fflush(stdin);printf("n請輸入產(chǎn)品價格(數(shù)字):");scanf("%d",&(pt2->price);printf("n輸入完畢,按任意鍵返回!");
42、/*getchar();*/*定義文件導(dǎo)入產(chǎn)品資料*/voidscanf_product()(structproduct*pt1=prod;FILE*fp;system("cls");/*活屏*/if(fp=fopen("chanpin.txt","r")=NULL)(printf("Fileopenerror!n");exit(0);printf(''*輸入界面*n");printf("nn");產(chǎn)品代號(1-5)產(chǎn)品名稱價格*while(!feof(fp)(fsca
43、nf(fp,"%d%s%lf",&pt1->mark,pt1->cpxx,&pt1->price);printf("n%10d%19s%16.lfn",pt1->mark,pt1->cpxx,pt1->price);pt1+;if(fclose(fp)(printf("不能關(guān)閉文件!n");exit(0);printf("nn導(dǎo)入成功,按任意鍵返回!");getchar();/*新建產(chǎn)品資料*/voidCreate_product()(intcel;chars82
44、;system("cls");/*活屏*/printf("nnnnnntt*輸入資料界面*n");通過文件導(dǎo)入產(chǎn)品資料n");printf("ntt1.通過鍵盤輸入產(chǎn)品資料n");printf("ntt2.printf("ntt0.返回n");n");printf("n請輸入0-2之間的數(shù)選擇需要的操作:,gets(s);while(1)(if(strlen(s)!=1|s0<'0'|s0>'2')(printf(-n輸入錯誤請輸入
45、0-2之間的數(shù):");fflush(stdin);gets(s);elsebreak;cel=atoi(s);/*i=(int)s0-48;*/switch(cel)(case1:scanf_product();break;case2:product();break;case0:break;/*getchar();讀入任意字符卡住屏幕信息*/*定義判斷時間格式是否正確*/intjudge_date(chardate11)(inti,y,m,d,s1;s1=0;for(i=0;i<10;i+)if(datei='0')s1=0;break;if(date4=
46、9;-'&&date7='-')y=1000*(date0-48)+100*(date1-48)+10*(date2-48)+date3-48;m=10*(date5-48)+date6-48;d=10*(date8-48)+date9-48;if(i=10&&y<2013&&y>2000)if(y%4=0&&m=2&&d>0&&d<=29)s1=1;elseif(y%4!=0&&m=2&&d>0&&
47、;d<=28)s1=1;elseif(m=1|m=3|m=5|m=7|m=8|m=10|m=12)&&d>0&&d<=31)s1=1;elseif(m=4|m=6|m=9|m=11)&&d>0&&d<31)s1=1;if(s1=0)printf("日期輸入錯誤!");returns1;/*定義把時間格式轉(zhuǎn)換成整形*/intchange_date(chardate11)inty;return(y);/*定義鍵盤輸入銷售信息函數(shù)*/voidinformation(structinfor
48、mation*head)structinformation*temp,*p;chars89;inti=0;intsize=sizeof(structinformation);p=head;temp=(structinformation*)malloc(size);temp->next=NULL;while(p->next!=NULL)p=p->next;system("cls");*5村);輸入銷售信息日期(YYYY-MM-DD限printf("*printf("銷售員編號(14)產(chǎn)品代號(15)2001-2012)銷售數(shù)量n"
49、;);printf("n");printf("n請輸入銷售員編號(14):");gets(s);while(1)if(strlen(s)!=1|s0<'1'|s0>'4')(printf("n輸入錯誤請輸入銷售員的編號(14):");fflush(stdin);gets(s);elsebreak;temp->znum=atoi(s);printf("n請輸入產(chǎn)品代號(15):");gets(s);while(1)if(strlen(s)!=1|s0<'
50、1'|s0>5)(printf("n輸入錯誤請輸入產(chǎn)品編號(15):");fflush(stdin);gets(s);elsebreak;temp->zmark=atoi(s);printf("n請輸入日期(YYYY-MM-DDf限2001-2012):");scanf("%s",temp->date);while(judge_date(temp->date)=0)printf("n輸入錯誤請輸入日期(YYYY-MM-DDf限2001-2012):");fflush(stdin);scanf("%s”,temp->date);fflush(stdin);printf(-n請輸入銷售數(shù)量(數(shù)字):");scanf("%d",&temp->amount);p->next=temp;printf("nn輸入完畢,按任意鍵返回!");getchar();getchar();/*定義文件導(dǎo)入銷售信息函
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 愛的教育讀書分享
- 幼兒身心健康活動指導(dǎo)體系
- 生命安全知識專題教育
- 電網(wǎng)改造場地調(diào)研與工程設(shè)計合同
- 車輛租賃行業(yè)法律法規(guī)咨詢合同
- 智能新能源汽車維修服務(wù)及數(shù)據(jù)共享協(xié)議
- 車輛貸款風(fēng)險控制與居間服務(wù)協(xié)議J
- 拉美跨境電商支付接口接入與風(fēng)險管理協(xié)議
- 跨境電商平臺股權(quán)架構(gòu)調(diào)整與業(yè)務(wù)拓展合同
- 柴油銷售與終端用戶利益共享合同
- FREE高考英語核心詞匯1783
- 英語中音節(jié)有六種類型
- 第4章-汽油機后處理凈化技術(shù)課件
- 績效專員崗位月度KPI績效考核表
- 統(tǒng)計模型與統(tǒng)計實驗-南京財經(jīng)大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 小學(xué)語文部編版五年級下冊《修改語段》專項練習(xí)
- 2022年07月湖南郴電國際發(fā)展股份有限公司招聘105名新員工筆試題庫含答案解析
- 三年級綜合實踐制作校園提示牌
- 《持輕物擲準(zhǔn)》教案
- 五和大成一卡通管理系統(tǒng)用戶手冊 v9.8x
- 國開本科-金融學(xué)-機考期末考試必過版
評論
0/150
提交評論