C語言銷售管理及設(shè)計(jì)程序管理知識(shí)分析報(bào)告(共45頁).doc_第1頁
C語言銷售管理及設(shè)計(jì)程序管理知識(shí)分析報(bào)告(共45頁).doc_第2頁
C語言銷售管理及設(shè)計(jì)程序管理知識(shí)分析報(bào)告(共45頁).doc_第3頁
C語言銷售管理及設(shè)計(jì)程序管理知識(shí)分析報(bào)告(共45頁).doc_第4頁
C語言銷售管理及設(shè)計(jì)程序管理知識(shí)分析報(bào)告(共45頁).doc_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告課設(shè)題目: 學(xué)生信息管理系統(tǒng) 專 業(yè): 電氣工程及其自動(dòng)化 班 級(jí): 商品銷售管理 姓 名: 胡軍 成 績: 完成日期: 2012年6月18日2012年6月22日指導(dǎo)教師: 史旅華 梅琴 目 錄1.課程設(shè)計(jì)目的32.需求分析32.1要求32.2任務(wù)描述32.3運(yùn)行環(huán)境32.4開發(fā)工具43.總體設(shè)計(jì)43.1系統(tǒng)流設(shè)計(jì)43.2系統(tǒng)模塊設(shè)計(jì)54.詳細(xì)設(shè)計(jì)54.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)54.2模塊接口設(shè)計(jì)74.3 以下是幾個(gè)主要模塊的流程圖:85.運(yùn)行結(jié)果165.1主菜單界面:165.2信息錄入界面:16

2、5.3信息瀏覽界面:175.4 信息查詢界面:175.5信息修改界面:186.程序調(diào)試與測(cè)試206.1程序調(diào)試206.2程序測(cè)試217.問題與不足238.建議239.編程體會(huì)2410.程序源代碼:2411.參考文獻(xiàn)3912.用戶使用手冊(cè)401.課程設(shè)計(jì)目的1) 通過課程設(shè)計(jì),加深對(duì)結(jié)構(gòu)化程序設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)。2) 通過課程設(shè)計(jì),進(jìn)一步掌握C語言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運(yùn)用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。3) 通過課程設(shè)計(jì),提高程序開發(fā)能力,能運(yùn)用合理的控制流編寫清晰高效的程序。4) 通過課程設(shè)計(jì),培養(yǎng)C語言知識(shí)運(yùn)用和自學(xué)能力,真正的把課堂上獲

3、得的知識(shí)運(yùn)用起來,培養(yǎng)自己對(duì)程序編寫的興趣,并能獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)一個(gè)小型系統(tǒng)。5) 通過課程設(shè)計(jì),加強(qiáng)了自己的程序分析能力。2.需求分析2.1要求1) 遵循軟件開發(fā)過程的基本規(guī)范;能靈活應(yīng)用,初步具備運(yùn)用C程序解決實(shí)際問題的能力。2) 運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)方法,按照課程設(shè)計(jì)題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、調(diào)試和測(cè)試C程序等過程。3) 學(xué)會(huì)利用數(shù)組、結(jié)構(gòu)體、鏈表進(jìn)行相關(guān)信息表示。4) 功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡的功能描述5) 各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實(shí)現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確。6) 所設(shè)計(jì)的C程序

4、較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋清晰。7) 界面友好(良好的人機(jī)互交),凡需要輸入信息時(shí),都有較詳盡的提示信息,并對(duì)輸入信息有較完善的值域分析。8) 程序經(jīng)上機(jī)調(diào)試通過,不應(yīng)出現(xiàn)語法型、功能型錯(cuò)誤,并獲得滿意的結(jié)果。9) 學(xué)會(huì)通過各功能性測(cè)試用例測(cè)試程序的能力,盡可能避免原則性錯(cuò)誤的出現(xiàn)。10) 掌握編寫、調(diào)試和測(cè)試C語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。11) C語言課程設(shè)計(jì)報(bào)告的內(nèi)容反應(yīng)實(shí)際設(shè)計(jì)過程,且符合格式要求,無抄襲現(xiàn)象。2.2任務(wù)描述此系統(tǒng)以鍵盤輸入和導(dǎo)入文件獲得商品信息,通過選擇操作碼實(shí)現(xiàn)錄入信息、查詢信息、保持你信息等不同的功能。具體有以下功能:1)

5、 顯示主界面并提示用戶選擇。2) 導(dǎo)入商品信息:實(shí)現(xiàn)從鍵盤輸入或從文件導(dǎo)入10個(gè)商品信息。3) 輸入銷售記錄:從鍵盤輸入銷售記錄,以進(jìn)行下面的查詢。4) 按編號(hào)查詢銷售歷史:根據(jù)輸入的商品編號(hào)從銷售信息中顯出對(duì)應(yīng)的銷售信息。5) 按顧客姓名查詢銷售歷史:根據(jù)輸入的顧客姓名在輸入的銷售記錄查詢其購買的商品信息。6) 計(jì)算時(shí)間段內(nèi)銷售總額:更具輸入的時(shí)間從銷售信息中計(jì)算銷售總和。7) 顯示顧客信息:從銷售記錄中抽取并顯示顧客姓名。8) 保存銷售信息:保存所輸入的銷售信息。9) 保存顧客信息:保存顧客的編碼及姓名。10) 退出:退出系統(tǒng),謝謝使用。2.3運(yùn)行環(huán)境1) WindowsXP/7系統(tǒng)2)

6、VC+6.0編譯環(huán)境2.4開發(fā)工具C語言3.總體設(shè)計(jì)3.1系統(tǒng)流設(shè)計(jì)開始主菜單導(dǎo)入商品信息退出保存顧客信息保存商品信息顯示顧客姓名按顧客姓名按編碼查詢輸入銷售記錄按時(shí)間段查詢3.2系統(tǒng)模塊設(shè)計(jì)1) 主菜單界面:構(gòu)造函數(shù)int select(),實(shí)現(xiàn)系統(tǒng)主菜單的顯示。2) 商品信息導(dǎo)入:構(gòu)造函數(shù)void Enter_productmessage(),實(shí)現(xiàn)商品信息的導(dǎo)入及顯示。并通過分別調(diào)用函數(shù)void comp()和void file(),實(shí)現(xiàn)從鍵盤輸入信息和通過文件導(dǎo)入信息。3) 輸入銷售記錄:構(gòu)造函數(shù)void Creat(),實(shí)現(xiàn)對(duì)從鍵盤輸入銷售記錄并通過調(diào)用int judgech(char

7、 *a)、 int judgedate(char date10)函數(shù)判斷商品名、銷售日期是否合法 。4) 按編號(hào)查詢銷售歷史:構(gòu)造函數(shù)void Search_num(),實(shí)現(xiàn)從鍵盤輸入商品編號(hào)查詢?cè)摼幪?hào)對(duì)應(yīng)商品的銷售記錄。5) 按顧客姓名查詢銷售歷史:構(gòu)造函數(shù)void Saerch_ customername (),實(shí)現(xiàn)從鍵盤輸入顧客姓名查詢?cè)擃櫩偷馁徺I歷史信息。如果沒有該顧客信息可選擇新建該顧客銷售記錄。6) 計(jì)算各時(shí)段內(nèi)銷售總額:構(gòu)造函數(shù)void Search_date(),實(shí)現(xiàn)從鍵盤輸入日期并調(diào)用int judgedate(char date10)判斷日期輸入是否合法查詢從輸入時(shí)間導(dǎo)系統(tǒng)

8、時(shí)間內(nèi)的銷售總額。7) 顯示顧客姓名:構(gòu)造函數(shù)void Printf_customername(),實(shí)現(xiàn)顯示所有顧客的姓名。8) 保存銷售信息:構(gòu)造函數(shù) void Save_product(),實(shí)現(xiàn)保存銷售商品的信息。9) 保存顧客信息:構(gòu)造函數(shù)void Save_customername(),實(shí)現(xiàn)保存顧客的信息。10) 退出:構(gòu)造函數(shù)void Exit(),實(shí)現(xiàn)退出系統(tǒng),顯示“謝謝使用”。4.詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的數(shù)據(jù)信息,其結(jié)構(gòu)如下:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長度備注商品名稱productnamechar20必須漢子商品編碼numint商品產(chǎn)地p

9、lacechar30必須漢子商品價(jià)格pricefloat顧客名字namechar20必須漢子顧客購買編碼numint顧客購買數(shù)量countint顧客購買日期datechar10顧客編碼IDint根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的類別信息,其結(jié)構(gòu)如下:類別代號(hào)datecoutIDname類別名稱銷售日期銷售數(shù)量顧客編碼顧客名字為了能實(shí)現(xiàn)不受限制的增加商品,各科信息,采用鏈表的結(jié)構(gòu)保存商品和銷售信息,在增加商品和顧客的基本信息時(shí),分別創(chuàng)建一個(gè)對(duì)應(yīng)的節(jié)點(diǎn),將其插入到對(duì)應(yīng)的鏈表中,示意圖如下。 商品信息1商品信息2通訊錄信息1221商品信息3商品信息4銷售信息1銷售信息2通訊錄信息1221銷售信息3銷售信

10、息4為此,先聲明一個(gè)類型為struct product和sturct sell的結(jié)構(gòu)體,對(duì)應(yīng)的成員分別為商品編碼、商品名稱、商品售價(jià)、商品產(chǎn)地商品庫存和顧客代碼、顧客姓名、商品編碼、銷售數(shù)量、銷售日期信息。然后通過對(duì)指針、鏈表、文件等數(shù)據(jù)結(jié)構(gòu)的操作,實(shí)現(xiàn)對(duì)商品和顧客信息的錄入、查詢、瀏覽等一系列操作。其中,結(jié)構(gòu)體定義如下:struct product /定義商品數(shù)據(jù)結(jié)構(gòu) int num; /商品編號(hào) char productname20; /商品名稱 float price; /商品售價(jià) char place30; /商品產(chǎn)地 int storage; /商品庫存 struct product

11、 *next;*head,*p1,*p2;、struct time /定義時(shí)間結(jié)構(gòu)體int year; / 年int month; /月int day; /天struct sell /定義銷售數(shù)據(jù)結(jié)構(gòu) int ID; /顧客代碼 char customername20; /顧客姓名 int num; /商品編號(hào) int count; /銷售數(shù)量 char date10; /日期 struct sell * next1; *head1; 4.2模塊接口設(shè)計(jì)1) 所有函數(shù)模塊聲明如下:int select(); /主菜單函數(shù)void Enter_productmessage(); /導(dǎo)入商品信息v

12、oid Creat(); /導(dǎo)入銷售記錄void Search_num(); /按編號(hào)查詢銷售歷史void Search_customername(); /按顧客姓名查詢購買歷史 void Search_date(); /計(jì)算時(shí)間段內(nèi)銷售總額void Printf_customername(); /顯示顧客信息void Save_product(); /保存銷售信息void Save_customername(); /保存顧客信息void Exit(); /退出程序int judgech(char *a) /判斷是否為漢字int judgedate(char date10) /判斷日期是否合法

13、void file() /從文件導(dǎo)入商品信息void comp() /從鍵盤輸入商品信息2) 主要模塊的實(shí)現(xiàn)系統(tǒng)以主函數(shù)int main()為入口,首先通過int select()函數(shù),顯示課程設(shè)計(jì)名稱、作者信息及主菜單。提示用戶選擇,系統(tǒng)接收用戶輸入的選擇,通過主函數(shù)根據(jù)用戶選擇進(jìn)行判斷,選擇合法后調(diào)用相應(yīng)的函數(shù),進(jìn)入到下一級(jí)菜單進(jìn)行,在下一個(gè)功能中進(jìn)行對(duì)應(yīng)的工作。4.3 以下是幾個(gè)主要模塊的流程圖:1) 主菜單函數(shù):主菜單判斷對(duì)應(yīng)功能用戶選擇YN2) 信息導(dǎo)入函數(shù): 導(dǎo)入信息菜單判斷從文件導(dǎo)入從鍵盤輸入用戶選擇12N3) 輸入商品信息函數(shù)輸入商品的信息判斷顯示信息Y修正N判斷YN返回主菜單

14、4) 按編碼查詢函數(shù)輸入要查詢商品的編碼判斷顯示信息Y返回主菜單N5) 按顧客姓名查詢函數(shù)返回主菜單Y判斷輸入要查詢商品的編碼 輸入要查詢顧客的姓名判斷顯示信息YN 6) 時(shí)間段內(nèi)銷售總額函數(shù)輸入要查詢時(shí)間段判斷顯示信息YN7) 保存銷售商品信息函數(shù) 輸入保存文件名判斷顯示信息保存成功YN8) 保存顧客信息函數(shù)輸入保存文件名判斷顯示信息保存成功YN5.運(yùn)行結(jié)果5.1主菜單界面:主菜單界5.2信息導(dǎo)入界面:信息導(dǎo)入界面從文件導(dǎo)入信息界面從鍵盤輸入商品信息 5.3銷售信息錄入界面: 從鍵盤輸入銷售信息5.4 按編碼信息查詢界面: 從鍵盤中輸入要查詢的商品編碼,進(jìn)行查詢,并顯示結(jié)果。5.5按顧客姓名

15、信息界面: 從鍵盤輸入要查詢顧客的姓名,進(jìn)行查詢,并顯示結(jié)果。5.6查詢時(shí)間段內(nèi)信息界面: 從鍵盤輸入兩個(gè)時(shí)間,查詢改時(shí)間內(nèi)的銷售信息,是結(jié)果5.7顯示顧客姓名 保存顧客學(xué)名5.8保存銷售商品信息 保存銷售商品信息5.9保存顧客信息 保存顧客信息5.10退出程序 退出程序6.程序調(diào)試與測(cè)試6.1程序調(diào)試 導(dǎo)入商品信息模塊從文件導(dǎo)入 從鍵盤輸入輸入銷售記錄6.2程序測(cè)試 查詢:輸入數(shù)字大于10輸入1輸入錯(cuò)誤顧客姓名真確姓名輸入時(shí)間段不符合(2011-05-052011-05-05)輸入真確日期(2011-02-032011-02-03)7.問題與不足(1)題目重要求判斷是否是漢字,要求時(shí)間調(diào)用系

16、統(tǒng)時(shí)間。但是由于這些并不會(huì),所以借用了判斷漢子。但調(diào)用時(shí)間任然不會(huì)。(2)在設(shè)計(jì)中不能一次輸入多條商品信息和多條銷售記錄,而是需選擇Y/y后輸入下一條。(3)沒有設(shè)計(jì)一個(gè)判斷商品信息是否錯(cuò)誤的函數(shù)。(4)在編碼中由于沒有判斷商品信息是否合法的函數(shù),使程序很長。有些是反復(fù)使用,有些語句顯得太羅嗦。(5)在調(diào)試時(shí),如果看提示信息,不按要求而是亂輸可能會(huì)導(dǎo)致程序不能正常運(yùn)行或者結(jié)果錯(cuò)誤。8.建議 在本次課設(shè)中,在時(shí)間上我覺得時(shí)間有點(diǎn)短,雖然差不多是兩個(gè)周,但是由于要準(zhǔn)備考試所以不能完全投入到課設(shè)中去。課設(shè)的題目分配時(shí)難易度不一樣,而又不是自己選取題目,這樣對(duì)于學(xué)得好的與學(xué)的差的所接受的任務(wù)不符合。對(duì)

17、我自己來說,我的題目讓同學(xué)幫忙,基本都說鏈表不會(huì)。在輔導(dǎo)時(shí)候老師只有兩個(gè),有時(shí)候有問題卻沒有老師。等老師有時(shí)間我們自己又不想弄了。在以后的課設(shè)中,我希望老師按照個(gè)人所學(xué)的程度來分配難易的題目或者都是一樣的題目,當(dāng)然我知道老師也有老師的道理,但是學(xué)習(xí)是自己的事,想抄襲的人不管啥樣的題目他都會(huì)抄襲的。在時(shí)間上可以放寬一些以便程序更完美。輔導(dǎo)老師辛苦些,多加幾個(gè)老師輔導(dǎo)更多的學(xué)生。9.編程體會(huì)通過這次課設(shè),我知道了自己C語言不懂不會(huì)的地方,在前面學(xué)習(xí)的知識(shí)后來不能靈活運(yùn)用,有些東西雖然當(dāng)時(shí)覺得很簡單,也掌握了,但是到自己用的時(shí)候卻總是出錯(cuò)!自從上了結(jié)構(gòu)體之后,C語言的學(xué)習(xí)難度加大,但我依舊不重視,和

18、前面一樣的學(xué)習(xí)。結(jié)果后面的全聽不懂,特別是鏈表和指針。本次的課設(shè)編程題目對(duì)我來說是很難的。里面要用到鏈表指針但通過課設(shè),這些都是我不會(huì)的。通過請(qǐng)教同學(xué)和老師總算編好了程序,同時(shí)對(duì)鏈表和指針有些了解,雖然用的不靈活但知道了怎么用。編完程序我反思自己的學(xué)習(xí),發(fā)現(xiàn)學(xué)習(xí)C語言只看懂書是沒用的,平時(shí)要多練習(xí)。當(dāng)然不是簡單的題,而是難題。在練習(xí)難題的時(shí)候多思考,運(yùn)用不同的方法解決問題。遇到不懂的要問老師問同學(xué)或者看書來解決。總之,在課設(shè)中我清楚的認(rèn)識(shí)了自己C語言的現(xiàn)狀,在經(jīng)后的練習(xí)中我會(huì)努力克服不足學(xué)好C語言、靈活運(yùn)用C語言。10.程序源代碼:#include<stdio.h>#include

19、<stdlib.h>#include<string.h>#include<malloc.h>struct product /定義商品數(shù)據(jù)結(jié)構(gòu) int num; /商品編號(hào) char productname20; /商品名稱 float price; /商品售價(jià) char place30; /商品產(chǎn)地 int storage; /商品庫存 struct product *next; *head,*p1,*p2; /定義主結(jié)構(gòu)體數(shù)組和備用結(jié)構(gòu)體數(shù)組及指針struct time /定義時(shí)間結(jié)構(gòu)體int year;int month;int day;struct s

20、ell /定義銷售數(shù)據(jù)結(jié)構(gòu) int ID; /顧客代碼 char customername20; /顧客姓名 int num; /商品編號(hào) int count; /銷售數(shù)量 char date10; /日期 struct sell * next1; *head1; /定義頭指針head,緩沖指針p1,以及尾指針p2/*函數(shù)申明*/void Enter_productmessage(); /導(dǎo)入商品信息void Creat(); /輸入銷售記錄void Search_num(); /按編號(hào)查詢銷售歷史void Search_customername(); /按顧客姓名查詢購買歷史void Pri

21、ntf_customername(); /顯示顧客信息void Search_date(); /計(jì)算時(shí)間段內(nèi)銷售總額void Save_product(); /保存銷售信息void Save_customername(); /保存顧客信息void Exit(); /退出程序/*主菜單*/int select()int c; printf("tt*歡迎使用商品銷售管理程序*n");printf("tt T1123-5班 胡 軍 一分耕耘 一分收獲 n");printf("n-n");printf("n");print

22、f("tt*n"); printf("tt*歡迎使用商品銷售管理系統(tǒng)*n"); printf("tt* *n"); printf("tt* 1:導(dǎo)入商品信息 *n"); printf("tt* 2:輸入銷售記錄 *n"); printf("tt* 3:按編號(hào)查詢銷售歷史 *n"); printf("tt* 4: 按顧客姓名查詢購買歷史 *n"); printf("tt* 5:計(jì)算時(shí)段內(nèi)各銷售總額 *n"); printf("t

23、t* 6:顯示顧客信息 *n"); printf("tt* 7:保存銷售信息 *n"); printf("tt* 8:保存顧客信息 *n");printf("tt* 0:退出 *n"); printf("tt*n"); printf("n-n"); printf("tt請(qǐng)輸入您的選擇(08的整數(shù)): ");scanf("%d",&c);return c;/*主函數(shù)*/int main()for(;)switch(select()case

24、1:system("cls");Enter_productmessage();break;case 2:system("cls");Creat();break;case 3:system("cls");Search_num();break;case 4:system("cls");Search_customername();break;case 5:system("cls");Search_date();break;case 6:system("cls");Printf_cu

25、stomername();break;case 7:system("cls");Save_product();break;case 8:system("cls");Save_customername();break; case 0:system("cls");Exit();break;default : system("cls"); printf("nnnnnn");printf("tt*n"); printf("tt* 輸入錯(cuò)誤!請(qǐng)重新輸入您的選擇(08的整數(shù))

26、*n");printf("tt* 請(qǐng)按Enter鍵返回! *n");printf("tt*n"); getchar();getchar();system("cls");return 0;/*/int judgech(char *a) /判斷是否為漢字int i,flag;for(i=0;ai!='0'i+)if(ai>=0)flag=0;break;else flag=1; return flag;int judgedate(char date10) /判斷日期是否合法int i,year,month,

27、day,s1=0; /日期格式輸入正確則s1=1,否則s1=0for(i=0;i<10;i+)if(datei='0')s1=0;break;if(date4='-'&&date7='-')if(strlen(date)=10)year=1000*(date0-48)+100*(date1-48)+10*(date2-48)+(date3-48);/年月日 month=10*(date5-48)+(date6-48); day=10*(date8-48)+(date9-48);if(i=10)if(year%4=0&

28、&month=2&&day>0&&day<=29) s1=1;else if(year%4!=0&&month=2&&day>0&&day<=28) s1=1;else if(month=1|month=3|month=5|month=7|month=8|month=10|month=12)&&day>0&&day<=31) s1=1;else if(month=4|month=6|month=9|month=11)&&da

29、y>0&&day<=30) s1=1;return s1;void file() /讀入文件操作int i=0,m=0,k=1,j=1,c=1,o=1,v=1; FILE *fp;char filename30; printf("請(qǐng)輸入讀入文件路徑:");rewind(stdin);gets(filename);rewind(stdin);p1=p2=head=(struct product*)malloc(sizeof(struct product);if(fp=fopen(filename,"r+")=NULL) prin

30、tf("tt*n"); printf("tt* 導(dǎo)入信息文件錯(cuò)誤!請(qǐng)檢查文件路徑! *n"); printf("tt*n");getchar();system("cls");Enter_productmessage(); printf("*商品信息*n"); printf("編號(hào)(1-10的整數(shù)) 名稱(漢字) 價(jià)格(數(shù)字) 產(chǎn)地(漢字) 庫存數(shù)量n"); printf("*n"); while(!feof(fp) p1=(struct product*)

31、malloc(sizeof(struct product);p2->next=p1;p1->next=NULL;p2=p1;fscanf(fp,"%d%s%f%s%d",&p2->num,p2->productname,&p2->price,p2->place,&p2->storage); while(k=1)if(p2->num>10|p2->num<=0) printf("t*n"); printf("tt第%d個(gè)商品編碼!請(qǐng)重新輸入(1-10):&q

32、uot;,i+1); rewind(stdin); scanf("%d",&p2->num);k=1;else k=0;while(j=1)if(judgech(p2->productname)=0)printf("tt第%d個(gè)商品名稱錯(cuò)誤!請(qǐng)重新輸入(漢字):",i+1); rewind(stdin);scanf("%s",p2->productname);j=1;else j=0;while(o=1)if(p2->price<=0) printf("tt第%d個(gè)商品價(jià)格錯(cuò)誤!請(qǐng)重新輸

33、入價(jià)格(>0):",i+1); rewind(stdin); scanf("%f",&p2->price);o=1; else o=0;while(c=1)if(judgech(p2->place)=0) printf("tt第%d個(gè)商品產(chǎn)地格式錯(cuò)誤!請(qǐng)重新輸入(漢字):",i+1); rewind(stdin);scanf("%s",p2->place);c=0; else c=0;while(v=1)if(p2->storage!=1000) printf("t*n&quo

34、t;); printf("tt第%d個(gè)商品數(shù)量錯(cuò)誤!請(qǐng)輸入1000:",i+1); rewind(stdin);scanf("%d",&p2->storage);v=1;else v=0;printf("t%-12d%-15s %-15.2f%-15s%-12dn",p2->num,p2->productname,p2->price,p2->place,p2->storage); fclose(fp); void comp() FILE *fp;int i=0,n,k=1,m=1,c=1,l

35、=1,d=1;char filename20,a;printf("t請(qǐng)輸入商品信息保存路徑:");rewind(stdin);gets(filename);p1=p2=head=(struct product*)malloc(sizeof(struct product);if(fp=fopen(filename,"a+")=NULL) printf("tt*n"); printf("tt* 不能打開文件!請(qǐng)檢查文件路徑! *n"); printf("tt*n"); getchar(); syst

36、em("cls"); Enter_productmessage(); printf("nnn"); printf("tt*n");printf("tt* 若輸入路徑與從文件導(dǎo)入商品信息路徑相同!*n"); printf("tt* 并已導(dǎo)入十個(gè)商品信息,請(qǐng)不要再導(dǎo)入! *n"); printf("tt* 注意商品編號(hào)不要和已導(dǎo)入的編碼重復(fù)! *n");printf("tt*n");printf("nnn");getchar();syste

37、m("cls");printf("t已從文件導(dǎo)入的個(gè)數(shù)和要輸入的個(gè)數(shù)和不超過十!nn");printf("t請(qǐng)輸入要導(dǎo)入的銷售記錄個(gè)數(shù):");scanf("%d",&n);if(n>0)dop1=(struct product*)malloc(sizeof(struct product); p2->next=p1;p1->next=NULL; p2=p1; printf("*商品信息*n"); printf(" 編號(hào)(整數(shù)) 名稱(漢字) 價(jià)格(數(shù)字) 產(chǎn)地(

38、漢字) 庫存數(shù)量n"); scanf("%d%s%f%s%d",&p2->num,p2->productname,&p2->price,p2->place,&p2->storage); while(k=1)if(p2->num>10|p2->num<=0) printf("t*n"); printf("tt 商品編碼!請(qǐng)重新輸入(1-10):"); rewind(stdin); scanf("%d",&p2->nu

39、m);k=1;else k=0;while(m=1)if(judgech(p2->productname)=0)printf("tt商品名稱錯(cuò)誤!請(qǐng)重新輸入(漢字):"); rewind(stdin);scanf("%s",p2->productname);m=1;else m=0;while(l=1)if(p2->price<=0) printf("tt商品價(jià)格錯(cuò)誤!請(qǐng)重新輸入價(jià)格(>0):"); rewind(stdin); scanf("%f",&p2->price

40、);l=1; else l=0;while(c=1)if(judgech(p2->place)=0) printf("tt商品產(chǎn)地格式錯(cuò)誤!請(qǐng)重新輸入(漢字):"); rewind(stdin);scanf("%s",p2->place);c=1; else c=0;while(d=1)if(p2->storage!=1000) printf("t*n"); printf("tt 商品數(shù)量錯(cuò)誤!請(qǐng)輸入1000:"); rewind(stdin);scanf("%d",&

41、p2->storage);d=1;else d=0;p2=head->next;fprintf(fp,"n%-6d%-6s%-6.2f%-6s%-6dn",p2->num,p2->productname,p2->price,p2->place,p2->storage);printf("n%-6d%-6s%-6.2f%-6s%-6dn",p2->num,p2->productname,p2->price,p2->place,p2->storage); printf("tt是否

42、繼續(xù)輸入信息(Y/N)?n");getchar(); a=getchar();while(a='Y'|a='y');fclose(fp); /關(guān)閉文件夾if(n=0) printf("tt不從鍵盤輸入入信息!");getchar(); getchar();system("cls"); fclose(fp); /關(guān)閉文件夾 void Enter_productmessage() /導(dǎo)入銷售信息 int a;printf("t*n"); printf("t* 請(qǐng)輸入10種產(chǎn)品的信息-編號(hào)、名稱、價(jià)格、產(chǎn)地、數(shù)量: *n");printf("t* 1:通過文件導(dǎo)入(推薦)! *n");printf("t* 2: 通過鍵盤輸入! *n");printf("t*n"); printf(&q

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論