




已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔1歡迎下載1歡迎下載。目錄1 課程設(shè)計(jì)目的與要求12 問(wèn)題描述23總體設(shè)計(jì)33.1 功能分析33.2 系統(tǒng)使用的主要函數(shù)33.3 系統(tǒng)使用的主要數(shù)據(jù)結(jié)構(gòu)34 詳細(xì)設(shè)計(jì)44.1 程序總體結(jié)構(gòu)圖,層次圖44.2 程序流程圖45 功能測(cè)試56 程序設(shè)計(jì)調(diào)試情況分析67 課程設(shè)計(jì)小結(jié)7參考文獻(xiàn)8附錄 系統(tǒng)源程序9精品文檔1歡迎下載。1 課程設(shè)計(jì)目的與要求高級(jí)語(yǔ)言程序設(shè)計(jì)是本科工科類各專業(yè)的重要基礎(chǔ)課,課程以影響深遠(yuǎn)的、傳統(tǒng)的、面向過(guò)程的優(yōu)秀編程語(yǔ)言C語(yǔ)言為基礎(chǔ),學(xué)習(xí)程序設(shè)計(jì)的基本概念和方法,通過(guò)本門課程學(xué)習(xí),應(yīng)使同學(xué)掌握高級(jí)語(yǔ)言的基本原理,熟練掌握程序設(shè)計(jì)的基礎(chǔ)知識(shí)、基本概念;掌握程序設(shè)計(jì)的思想和編程技巧。課程設(shè)計(jì)是在學(xué)生已經(jīng)具備了使用C語(yǔ)言編寫(xiě)簡(jiǎn)單的應(yīng)用程序的能力,為使學(xué)生對(duì)C語(yǔ)言有更全面的理解,進(jìn)一步提高運(yùn)用C語(yǔ)言編程解決實(shí)際問(wèn)題的能力,通過(guò)提出算法、指定輸入輸出來(lái)設(shè)計(jì)一個(gè)解決方案。經(jīng)過(guò)該實(shí)踐環(huán)節(jié),培養(yǎng)學(xué)生的探索精神和創(chuàng)新能力。通過(guò)答辯訓(xùn)練學(xué)生的綜合表達(dá)能力。參加本課程設(shè)計(jì)的學(xué)生,應(yīng)當(dāng)認(rèn)真完成本課程設(shè)計(jì)的全部過(guò)程。并以最終課程設(shè)計(jì)成果來(lái)證明其獨(dú)立完成各種實(shí)際任務(wù)的能力。從而反映出理解和運(yùn)用本課程知識(shí)的水平和能力。具體如下:(1)數(shù)據(jù)組織方面盡量使用到:數(shù)組、鏈表、結(jié)構(gòu)體、文件;(2)程序結(jié)構(gòu)方面做到函數(shù)調(diào)用,盡量采用指針運(yùn)算;(3)代碼編寫(xiě)規(guī)范,形成良好的編程習(xí)慣;(4)程序須有一定的健壯性和必要的提示信息,考慮問(wèn)題的多種可能和邊界數(shù)據(jù)。(5)課設(shè)完成須進(jìn)行答辯,提交課設(shè)報(bào)告電子稿、裝訂的打印稿。課設(shè)報(bào)告內(nèi)容包括以下幾個(gè)方面:l 程序的總體設(shè)計(jì)和算法分析。l 程序流程圖、函數(shù)說(shuō)明l 源程序代碼清單l 測(cè)試數(shù)據(jù)和測(cè)試過(guò)程記錄l 遇到的問(wèn)題及解決方法分析l 課程設(shè)計(jì)小結(jié)2 問(wèn)題描述設(shè)計(jì)一個(gè)C語(yǔ)言程序(銷售管理系統(tǒng)),具體要求:某公司有四個(gè)銷售員(編號(hào):1-4),負(fù)責(zé)銷售五種產(chǎn)品(編號(hào)1-5)。每個(gè)銷售員都將當(dāng)天出售的每種產(chǎn)品各寫(xiě)一張便條交上來(lái)。每張便條包含內(nèi)容:1) 銷售員代號(hào)2) 產(chǎn)品代號(hào)3) 這種產(chǎn)品當(dāng)天的銷售額每位銷售員每天的可能上交0-5張便條。假設(shè),收集到了上個(gè)月的所有便條,編寫(xiě)一個(gè)處理系統(tǒng),讀取上個(gè)月的銷售情況,進(jìn)行如下處理: 主要功能: 1、計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額。2、按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代號(hào))3、統(tǒng)計(jì)每種產(chǎn)品的總銷售額,對(duì)這些產(chǎn)品按從高到底的順序輸出排序結(jié)果(需輸出產(chǎn)品的代號(hào)和銷售額)4、輸出統(tǒng)計(jì)報(bào)表3總體設(shè)計(jì) 3.1 功能分析系統(tǒng)提供主界面,各種功能操作以獨(dú)立的函數(shù)為基礎(chǔ),運(yùn)用對(duì)鏈表操作的技術(shù)來(lái)實(shí)現(xiàn)通訊錄的管理,同時(shí)對(duì)操作結(jié)果在計(jì)算機(jī)中做永久保存。) 3.2 系統(tǒng)使用的主要函數(shù)(列出函數(shù)首部+注釋)void f1(DATA *x) /*顯示所有的信息*/void f2(DATA *x) /*按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)void f3(DATA *x) /*統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/void f4(DATA *x) /*輸出統(tǒng)計(jì)報(bào)表*/ 3.3 系統(tǒng)使用的主要數(shù)據(jù)結(jié)構(gòu) typedef struct /*縮短結(jié)構(gòu)體變量名*/ int shangpinZ; /*定義結(jié)構(gòu)體便于信息的存儲(chǔ)和讀寫(xiě),辨別*/ DATA; /*R是表示商品的種類,最后一個(gè)為該銷售員商品總和*/4 詳細(xì)設(shè)計(jì)4.1 程序總體結(jié)構(gòu)圖,層次圖主函數(shù)4.2 程序流程圖入口結(jié)束 5 功能測(cè)試1、功能函數(shù)主函數(shù) main() 函數(shù)的功能: 用于聯(lián)系各個(gè)功能函數(shù)模塊,以及退出程序時(shí)的退出畫(huà)面提示。函數(shù)的入口: 整個(gè)程序是從主函數(shù)開(kāi)始的。函數(shù)的出口: 當(dāng)從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choise的值為5時(shí)通過(guò)break;跳出for循環(huán),然后退出main()函數(shù),即:退出整個(gè)程序。函數(shù)調(diào)用關(guān)系:該函數(shù)不被其它函數(shù)調(diào)用 圖5.1-軟件進(jìn)入提示頁(yè)面2、功能函數(shù)主菜單 menu() 函數(shù)的功能: 主要作用是提示用戶操作,體現(xiàn)模塊化思想,主要是顯示出菜單讓用戶選擇要進(jìn)行的任務(wù)。函數(shù)的入口: 從主函數(shù)main()中的system(cls); /*清屏命令*/menu(); /*菜單函數(shù)提示用戶怎樣選擇*/進(jìn)入函數(shù),這是直接被主函數(shù)main()調(diào)用的。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口:執(zhí)行完所有的printf()函數(shù)后自動(dòng)退出該函數(shù)。圖5.2-主菜單界面3、功能函數(shù)f1() 函數(shù)的功能: 計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額 函數(shù)的入口: 從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為1時(shí)進(jìn)入該函數(shù),打開(kāi).dat數(shù)據(jù)文件,然后提示用戶通過(guò)鍵盤對(duì)該月的員工銷售情況進(jìn)行數(shù)據(jù)的讀入。函數(shù)調(diào)用關(guān)系: 被主函數(shù)調(diào)用。由switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口: 當(dāng)程序執(zhí)行提示語(yǔ)“printf(繼續(xù)輸入請(qǐng)按回車,結(jié)束輸入請(qǐng)按escn);”的時(shí)候,對(duì)用戶的操作進(jìn)行提示,如果用戶選擇了按“ESC”鍵,則用戶選擇了結(jié)束數(shù)據(jù)的錄入,將結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。圖5.3-寫(xiě)入銷售數(shù)據(jù)界面4、功能函數(shù)f2()函數(shù)的功能: 按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果。 函數(shù)的入口: 程序從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choise的值為2時(shí),開(kāi)始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,首先用“fopen()”打開(kāi)文件,然后利用“fread()”讀取二進(jìn)制數(shù)據(jù),最終利用選擇排序法,按銷售員的所選產(chǎn)品的總銷售額對(duì)銷售員進(jìn)行排序。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口: 當(dāng)輸出排序結(jié)果用printf()標(biāo)準(zhǔn)輸出到屏幕上,然后結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。圖5.4-按銷售額對(duì)銷售員進(jìn)行排序5、功能函數(shù)f3()函數(shù)的功能: 統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果 函數(shù)的入口: 從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choise的值為3的時(shí)侯,進(jìn)入該函數(shù),開(kāi)始讀取數(shù)據(jù)對(duì)用戶進(jìn)行提示,然后統(tǒng)計(jì)每種產(chǎn)品的總銷售額。將計(jì)算后的總銷售額進(jìn)行排序,最終把排序的結(jié)果用printf()標(biāo)準(zhǔn)輸出函數(shù),將結(jié)果輸出在屏幕上。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口:當(dāng)輸出排序結(jié)果用printf()標(biāo)準(zhǔn)輸出到屏幕上,然后結(jié)束該函數(shù),而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。圖5.5-統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果 6、功能函數(shù)f4()函數(shù)的功能: 輸出統(tǒng)計(jì)報(bào)表 函數(shù)的入口: 從main()的switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,即choise的值為3時(shí),進(jìn)入該函數(shù),然后通過(guò)fopen()函數(shù)。即:“if(fp=fopen(fname,rb)=NULL)” 打開(kāi)文件。進(jìn)入數(shù)據(jù)的處理。函數(shù)調(diào)用關(guān)系: 被主函數(shù)調(diào)用。由switch()開(kāi)關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無(wú)返回值的空值void函數(shù)。函數(shù)的出口: 開(kāi)始時(shí)讀取數(shù)據(jù)后,統(tǒng)計(jì)報(bào)表已經(jīng)輸出到屏幕上時(shí),然后利用而執(zhí)行主函數(shù)main()中“break;”跳出switch()開(kāi)關(guān)函數(shù),繼續(xù)執(zhí)行for循環(huán)結(jié)構(gòu)。圖5.5-輸出統(tǒng)計(jì)報(bào)表 6 程序設(shè)計(jì)調(diào)試情況分析調(diào)試方法:打開(kāi)Microsoft Visual C+ 6.0,先將各個(gè)功能函數(shù)的的內(nèi)容清空,只保留主函數(shù)main(),然后編譯檢驗(yàn)main()函數(shù)中是否有錯(cuò),如果沒(méi)有錯(cuò)誤,再連接、運(yùn)行。確認(rèn)main()函數(shù)一切無(wú)誤后,然后加入功能函數(shù)menu()函數(shù)與f1()函數(shù),由于menu()函數(shù)比較簡(jiǎn)單,所以與f1()函數(shù)一起進(jìn)行調(diào)試,f1()函數(shù)中主要注意讀取文件,與寫(xiě)入文件,這都是二進(jìn)制的形式。若menu()函數(shù)與f1()函數(shù)編譯、連接、運(yùn)行沒(méi)問(wèn)題,繼續(xù)加入f2()函數(shù),就這樣的方法依次檢查調(diào)試f3()函數(shù)、f4()函數(shù)。當(dāng)所有的功能函數(shù)都加上且正確無(wú)誤時(shí),就可以進(jìn)入下一個(gè)環(huán)節(jié)程序的測(cè)試。測(cè)試方法: 運(yùn)行程序,然后進(jìn)入銷售管理系統(tǒng)的界面,在這里需要做的就是把自己當(dāng)成一個(gè)公司的程序使用者,來(lái)對(duì)該程序進(jìn)行使用,看該程序有哪些方面用著不夠爽,把這些問(wèn)題依次整理出來(lái),再對(duì)源程序進(jìn)行修改,在這個(gè)過(guò)程中也需要對(duì)程序進(jìn)行調(diào)試,不過(guò)不必將各個(gè)功能函數(shù)的的內(nèi)容清空再進(jìn)行如上述的調(diào)試方法,而是,改一部份運(yùn)行一次,看是否有無(wú)。如f1()函數(shù)有誤,則先修改f1()函數(shù),一塊一塊的進(jìn)行修改,就是遵循C語(yǔ)言的模塊化設(shè)計(jì)原理,若所有的都改過(guò)來(lái)了,且運(yùn)行無(wú)誤,那就大功告成了。在調(diào)試中遇到的問(wèn)題: 在調(diào)試過(guò)程中,我們遇到諸多小問(wèn)題,但都在我們共同討論后解決了。1、問(wèn)題: 標(biāo)點(diǎn)符號(hào)在輸入的時(shí)候,使用的是中文輸入法,這種錯(cuò)誤一般都難以發(fā)現(xiàn),讓修改的時(shí)候找不到目標(biāo)。解決方法: 用“替換”。如果程序中的error很多,不管error是什么,先將標(biāo)點(diǎn)替換成英文的標(biāo)點(diǎn)。 2、問(wèn)題: 調(diào)試時(shí),有的時(shí)候編譯后沒(méi)什么問(wèn)題,就是在點(diǎn)擊連接link時(shí)出現(xiàn)了錯(cuò)誤。而且,這種錯(cuò)誤讓我們不知道怎么修改。但是我們的程序的確正確。 解決方法: 將源程序保存(save),然后關(guān)掉Microsoft Visual C+ 6.0,重新啟動(dòng)Microsoft Visual C+ 6.0.7 課程設(shè)計(jì)小結(jié)小組成員分工組長(zhǎng):姜猛 負(fù)責(zé)統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果、輸出統(tǒng)計(jì)報(bào)表。 組員:黃雪松 負(fù)責(zé)按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果。組員:莫然龍 負(fù)責(zé)計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額。主菜單模塊共同完成1、在設(shè)計(jì)中我們實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)的所有內(nèi)容即:1、計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額。2、按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代號(hào))3、統(tǒng)計(jì)每種產(chǎn)品的總銷售額,對(duì)這些產(chǎn)品按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品的代號(hào)和銷售額)4、輸出統(tǒng)計(jì)報(bào)表2、其中遇到了以下問(wèn)題:i、 數(shù)據(jù)輸入文件的形式:原本用fprintf()以ASCLL碼的形式輸入.txt文件中,這樣對(duì)實(shí)現(xiàn)“數(shù)據(jù)的輸入是否正確的判斷語(yǔ)句” 的編寫(xiě)很困難,而且ASCLL碼的形式輸入.txt文件保密性差,不方便公司對(duì)文件的保密管理。解決方案:采用fwrite()函數(shù)的二進(jìn)制形式輸入.dat數(shù)據(jù)文件中解決了以上問(wèn)題,使“數(shù)據(jù)的輸入是否正確的判斷語(yǔ)句”ii、 文件的創(chuàng)建方案及命名形式: 文件應(yīng)在用戶計(jì)算數(shù)據(jù)時(shí)自動(dòng)創(chuàng)建;文件創(chuàng)建時(shí)的擴(kuò)展名.dat的添加困難。 解決方案:用strcat(fname,.dat);將擴(kuò)展名的.dat字符加到fname后面,令實(shí)現(xiàn)了文件的命名,如1月的數(shù)據(jù)文件,在使用者輸入1時(shí)就實(shí)現(xiàn)了文件.dat的創(chuàng)建。iii、 輸入出錯(cuò)的常見(jiàn)問(wèn)題: 輸入時(shí),scantf()函數(shù)中出現(xiàn)非地址項(xiàng),某變量未進(jìn)行類型定義,以及語(yǔ)句末尾缺少分號(hào)等常見(jiàn)的低等錯(cuò)誤。 解決方案:根據(jù)Microsoft Visual C+ 6.0的錯(cuò)誤提示(error)與警告(warning)回到源程序中,逐一對(duì)錯(cuò)誤或警告進(jìn)行修改,每修改一條就編譯一次。3、實(shí)踐心得經(jīng)過(guò)C語(yǔ)言課程設(shè)計(jì)實(shí)踐學(xué)習(xí),使我對(duì)c語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解,通過(guò)實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處,首先是在程序輸入上還不夠熟練,經(jīng)常按錯(cuò)字母,通過(guò)學(xué)習(xí)也有所改進(jìn);再有對(duì)c語(yǔ)言的一些標(biāo)準(zhǔn)庫(kù)函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)c語(yǔ)言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過(guò)實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。熟練地掌握了C語(yǔ)言的基本知識(shí):數(shù)據(jù)類型(整形、實(shí)型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運(yùn)算類型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增自減運(yùn)算、賦值運(yùn)算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));大程序的功能分解方法(即函數(shù)的使用)等。進(jìn)一步掌握各種函數(shù)的應(yīng)用,以及文件的讀寫(xiě)操作等我認(rèn)為要學(xué)好c語(yǔ)言程序這門課程,不僅要認(rèn)真閱讀課本知識(shí),更重要的是要通過(guò)上機(jī)實(shí)踐才能增強(qiáng)和鞏固我的知識(shí)。只有這樣我們才能成為合格的計(jì)算機(jī)人材。參考文獻(xiàn) 1吉順如. C程序設(shè)計(jì)教程與實(shí)驗(yàn).M.北京:清華大學(xué)出版社,2011.附錄 系統(tǒng)源程序 /*計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額。1)按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果(銷售員代號(hào))2)統(tǒng)計(jì)每種產(chǎn)品的總銷售額,按從高到底的順序,輸出排序結(jié)果(需輸出產(chǎn)品代號(hào),銷售額)3)輸出統(tǒng)計(jì)報(bào)表*/#include #include #include #include #define Z 5 /*Z表示產(chǎn)品種類*/#define R 4 /*定義宏常量便于程序的一般化*/ /*R表示銷售員個(gè)數(shù)*/typedef struct /*縮短結(jié)構(gòu)體變量名*/ int shangpinZ; /*定義結(jié)構(gòu)體便于信息的存儲(chǔ)和讀寫(xiě),辨別*/ DATA; /*R是表示商品的種類,最后一個(gè)為該銷售員商品總和*/*本函數(shù)由本組成員共同設(shè)計(jì)*/void menu() system(cls);/*清屏命令*/printf(nn);printf(t 主菜單n);printf(t 1.計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額 n);printf(t 2.按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果 n);printf(t 3.統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果 n);printf(t 4.輸出統(tǒng)計(jì)報(bào)表 n);printf(t 5.結(jié)束操作 n); printf(t n);void f1(DATA *x) /*計(jì)算上個(gè)月每個(gè)人每種產(chǎn)品的銷售額*/FILE *fp;char fname10,hitkey;int j,t; /*用于控制循環(huán)*/int i,k,s; /*用于定義職工序號(hào),產(chǎn)品序號(hào),產(chǎn)品數(shù)量*/system(cls);/*清屏命令*/printf(您想計(jì)算哪個(gè)月?n);printf(請(qǐng)輸入月份: bbb); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息寫(xiě)入*/scanf(%s,fname);strcat(fname,.dat);if(fp=fopen(fname,wb)=NULL) /*打開(kāi)文件*/printf(不能打開(kāi)文件!n);exit(0);/* 正常exit(0);結(jié)束程序*/for(j=0;jR;j+) /*對(duì)商品數(shù)量清零*/for(t=0;tshangpint=0;for(j=0;hitkey!=27;j+) /*27ESC的ASCII值*/printf(請(qǐng)輸入:職工編號(hào)(1-4)n); scanf(%d,&i);printf(請(qǐng)輸入:產(chǎn)品編號(hào)(1-5)n); scanf(%d,&k);printf(請(qǐng)輸入:銷售數(shù)量n); scanf(%d,&s); /*提示用戶寫(xiě)入信息的格式*/if(iR|iZ|kshangpink-1=(x+i-1)-shangpink-1+s; /*統(tǒng)計(jì)各個(gè)人的各種產(chǎn)品的數(shù)量,-1為了和數(shù)組中的序號(hào)相匹配*/printf(繼續(xù)輸入請(qǐng)按回車,結(jié)束輸入請(qǐng)按escn);printf(n);hitkey=getch();for (;hitkey!=13&hitkey!=27;) /*13是回車鍵的ASCII值*/hitkey=getch();for(j=0;jR;j+)if(fwrite(x+j),sizeof(DATA),1,fp)!=1) /*把信息寫(xiě)入文件中便有以后調(diào)用*/printf(write error!n);fclose(fp); /*關(guān)閉文件避免信息遺漏*/printf(nnnnnnttt保存成功,按任意鍵返回主菜單!); getch();void f2(DATA *x) /*按銷售額對(duì)銷售員進(jìn)行排序,輸出排序結(jié)果*/FILE *fp;char fname10;int i,k,j,t,bianhaoR=0,z;system(cls); /*清屏命令*/printf(你要哪個(gè)月的?n);printf(請(qǐng)輸入月份: bbb); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/scanf(%s,fname); strcat(fname,.dat);if(fp=fopen(fname,rb)=NULL) /*打開(kāi)文件*/printf(不能打開(kāi)文件!n);exit(0); /*正常退出*/for(i=0;iR;i+) /*讀出信息*/if(fread(x+i,sizeof(DATA),1,fp)!=1)printf(讀入信息出錯(cuò)!); /*讀入信息提示*/for(i=0;iR;) /*用于存儲(chǔ)職工編號(hào)*/bianhaoi=i+;printf(請(qǐng)輸入按何種產(chǎn)品排序n);scanf(%d,&k);k=k-1; /*便于與結(jié)構(gòu)體中的數(shù)組值對(duì)應(yīng)*/for(i=0;iR;i+) /*按K種產(chǎn)品對(duì)銷售員排序,選擇法排序*/t=i;for(j=i+1;jshangpinkshangpink)/*調(diào)用職工各自對(duì)應(yīng)的結(jié)構(gòu)體內(nèi)的產(chǎn)品數(shù)量*/ t=j;if(t!=i)z=bianhaoi;bianhaoi=bianhaot;bianhaot=z;printf(ttt按%d產(chǎn)品對(duì)銷售員排序?yàn)?n,k+1);printf(n);for(i=0;iR;i+)printf(ttt第%d名是: 員工%dn,i+1,bianhaoi+1);printf(nnnttt按任意鍵返回上一主菜單!);getch();fclose(fp);/*關(guān)閉讀入的文件*/void f3(DATA *x) /*統(tǒng)計(jì)每種產(chǎn)品的總銷售額,輸出排序結(jié)果*/FILE *fp;char fname10;int i,j,sumZ=0,bianhaoZ=0,z,t,k; system(cls);/*清屏命令*/printf(您想計(jì)算哪個(gè)月的?n);printf(請(qǐng)輸入月份: bbb); /*輸入文件名,這樣可以進(jìn)行各個(gè)月份信息讀入*/scanf(%s,fname);strcat(fname,.dat);if(fp=fopen(fname,rb)=NULL) /*打開(kāi)文件*/printf(不能打開(kāi)文件!n);exit(0);for(i=0;iR;i+) /*讀出信息*/if(fread(x+i,sizeof(DATA),1,fp)!=1)printf(讀入信息出錯(cuò)!);for(i=0;iZ;i+) /*對(duì)各種商品求和*/for(j=0;jshangpini;for(i=0;iZ;i+) /*用于存儲(chǔ)商品編號(hào)*/bianhaoi=i;printf(%3d,bianhaoi); for(i=0;iZ;i+) /*對(duì)產(chǎn)品從高到低排序,選擇法排序*/t=i;for(j=i+1;jZ;j+) /*產(chǎn)品變化時(shí),產(chǎn)品編號(hào)也隨之變化,便于輸出*/if(sumtsumj) t=j;if(t!=i)k=sumi;sumi=sumt;sumt=k;z=bianhaoi;bianhaoi=bianhaot;bianhaot=z;printf(輸出產(chǎn)品排序n);printf(產(chǎn)品編號(hào) 數(shù)量n);printf(n);for(i=0;iZ;i+)printf( 產(chǎn)品%-7d%-1dn,bianhaoi+1,sumi);printf(nnnttt按任意鍵返回主菜單!);getch();fclose(fp);/*關(guān)閉讀入的文件*/*由 小組成員共同 設(shè)計(jì)*/void f4(DATA *x) /*輸出統(tǒng)計(jì)報(bào)表*/FILE *fp;char fname10; int i,j,sumZ+1=0; system(cls);/*清屏命令*/printf(您想計(jì)算哪個(gè)月?n);printf(請(qǐng)輸入月份: bbb); /*實(shí)為輸入一個(gè)文件名,這樣可以進(jìn)行各個(gè)月份的信息讀入*/scanf(%s,fname);strcat(fname,.dat);if(fp=fopen(fname,rb)=NULL) /*打開(kāi)文件*/ printf(不能打開(kāi)文件!n);exit(0); for(i=0;iR;i+) /*讀出信息*/if(fread(x+i,sizeof(DATA),1,fp)!=1)printf(讀入信息出錯(cuò)!); for(i=0;iZ;i+) /*對(duì)各種商品求和*/for(j=0;jshangpini; for(i=0;iZ;i+) /*求商品總和*/sumZ=sumZ+sumi;printf(n);printf(輸
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)碼家居活動(dòng)方案
- 旅游安全宣傳日活動(dòng)方案
- 春節(jié)開(kāi)門美甲店活動(dòng)方案
- 旅游公司會(huì)員卡活動(dòng)方案
- 新城控股文化活動(dòng)方案
- 新年團(tuán)委活動(dòng)方案
- 新車保險(xiǎn)活動(dòng)方案
- 文明周至活動(dòng)方案
- 文明宣誓活動(dòng)方案
- 旅游美食節(jié)活動(dòng)方案
- 政治 (道德與法治)八年級(jí)下冊(cè)自由平等的追求教案
- 山東省濟(jì)南市高新區(qū)學(xué)卷B2024-2025學(xué)年數(shù)學(xué)五下期末教學(xué)質(zhì)量檢測(cè)試題含答案
- 訂單外發(fā)合同協(xié)議
- 山東省2024年藝術(shù)類本科批音樂(lè)類第1次志愿投檔情況表(公布)
- 《公路運(yùn)營(yíng)領(lǐng)域重大事故隱患判定標(biāo)準(zhǔn)》知識(shí)培訓(xùn)
- 護(hù)理核心制度
- GB/T 45234.302-2025太陽(yáng)能熱發(fā)電站第3-2部分:系統(tǒng)與部件大尺寸拋物面槽式集熱器通用要求與測(cè)試方法
- 2025-2030年中國(guó)氯化聚醚市場(chǎng)運(yùn)行態(tài)勢(shì)及發(fā)展風(fēng)險(xiǎn)評(píng)估報(bào)告
- 金融機(jī)構(gòu)合規(guī)風(fēng)險(xiǎn)管理培訓(xùn)課件
- 2025年上半年云南文山州州屬事業(yè)單位選調(diào)工作人員112人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 廣東省深圳市2023-2024學(xué)年高一下學(xué)期7月期末考試 政治 含解析
評(píng)論
0/150
提交評(píng)論