版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高級(jí)語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)題 目:小型倉(cāng)庫(kù)管理系統(tǒng)班 級(jí):學(xué)生學(xué)號(hào):學(xué)生姓名:同組成員:指導(dǎo)老師:提交時(shí)間:成 績(jī):華南農(nóng)業(yè)大學(xué)信息學(xué)院需求分析 系統(tǒng)概述:本系統(tǒng)用于小型倉(cāng)庫(kù)的信息管理,可實(shí)現(xiàn)倉(cāng)庫(kù)物品信息的增加、刪除、 查詢(xún)、顯示功能,以及倉(cāng)庫(kù)的入庫(kù)信息記錄、出庫(kù)信息記錄、查詢(xún)指定 物品的信息及出入庫(kù)記錄、顯示緊缺物品信息的功能,此外還有密碼功 能,可保護(hù)倉(cāng)庫(kù)信息的安全性。 系統(tǒng)運(yùn)行環(huán)境: 本系統(tǒng)方便簡(jiǎn)捷,對(duì)系統(tǒng)的軟、硬件要求不高,在任何系統(tǒng)環(huán)境下都能 很好的運(yùn)行。 功能需求描述:本系統(tǒng)分為兩大塊,分別為系統(tǒng)管理和出入庫(kù)管理。其中,系統(tǒng)管理包 括增加物品信息、刪除物品信息、查詢(xún)物品信息、顯示物品
2、信息、設(shè)置 倉(cāng)庫(kù)密碼五個(gè)功能;出入庫(kù)管理包括物品出庫(kù)、物品入庫(kù)、庫(kù)存物品查 詢(xún)、顯示緊缺物品四個(gè)功能。以下對(duì)各功能作一些介紹:a. 增加物品信息:新增一條物品信息,包括編號(hào)、名稱(chēng)、警界庫(kù)存量。b. 刪除物品信息:可通過(guò)物品編號(hào)或名稱(chēng)刪除該物品的信息,物品數(shù)為0 時(shí)方可刪除。c. 查詢(xún)物品信息:可通過(guò)物品編號(hào)或名稱(chēng)來(lái)查詢(xún)指定物品的信息,并顯 示出來(lái)d. 顯示物品信息: 該功能可以顯示所有庫(kù)存物品的信息, 包括物品編號(hào) 名稱(chēng)、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)。e. 設(shè)置倉(cāng)庫(kù)密碼:為保護(hù)倉(cāng)庫(kù)數(shù)據(jù)不被隨意竄改,本系統(tǒng)要求倉(cāng)庫(kù)管理 員設(shè)置密碼,成功后可隨意更改。f. 物品入庫(kù):通過(guò)物品編號(hào)或名稱(chēng)可實(shí)現(xiàn)該指定物品的
3、入庫(kù)操作,記錄 下該物品的入庫(kù)信息,包括物品編號(hào)、入庫(kù)物品數(shù)量、物品單價(jià)、提 供商、采購(gòu)員五個(gè)信息。g. 物品出庫(kù):通過(guò)物品編號(hào)或名稱(chēng)可實(shí)現(xiàn)該指定物品的出庫(kù)操作,記錄 下該物品的出庫(kù)信息,包括物品編號(hào)、出庫(kù)物品數(shù)量、提貨原因、提 貨員四個(gè)信息。 如果申請(qǐng)的提貨數(shù)量超過(guò)當(dāng)前庫(kù)存數(shù)時(shí), 則操作失敗h. 庫(kù)存物品查詢(xún):通過(guò)物品編號(hào)或名稱(chēng)可查找該指定物品的信息,包括 編號(hào)、名稱(chēng)、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)五個(gè)信息,以及該物品所有的 入庫(kù)與出庫(kù)信息。i. 顯示緊缺物品:可以顯示出所有庫(kù)存數(shù)低于警戒庫(kù)存量的物品信息包 括物品編號(hào)、名稱(chēng)、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)五個(gè)信息點(diǎn)?!尽⒖傮w設(shè)計(jì)總體開(kāi)發(fā)思想:a. 系統(tǒng)使用
4、C語(yǔ)言編譯,意在復(fù)習(xí)之前學(xué)習(xí)的C語(yǔ)言程序設(shè)計(jì),并對(duì)以 后所學(xué)之?dāng)?shù)據(jù)結(jié)構(gòu)知識(shí)作初步的認(rèn)識(shí)和預(yù)習(xí)。b. 采用的主要數(shù)據(jù)結(jié)構(gòu)是鏈表。本系統(tǒng)采用鏈表來(lái)儲(chǔ)存一整個(gè)文件中的數(shù)據(jù),然后通過(guò)插入結(jié)點(diǎn)與刪除結(jié)點(diǎn)的方法來(lái)進(jìn)行數(shù)據(jù)的更改,最后把鏈表內(nèi)容覆蓋文件原有的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的更改。c. 數(shù)據(jù)存貯方式包括鏈表、文件兩種,其中鏈表主要用于需要更改文件 中數(shù)據(jù)時(shí)的數(shù)據(jù)暫存,實(shí)現(xiàn)把局部的數(shù)據(jù)進(jìn)行更改的作用。文件主要 用來(lái)永久性的數(shù)據(jù)存儲(chǔ),以及數(shù)據(jù)的提取與寫(xiě)入。系統(tǒng)模塊結(jié)構(gòu)圖:說(shuō)明:本倉(cāng)庫(kù)管理系統(tǒng)有密碼驗(yàn)證成功后登錄,進(jìn)入主菜單。在主菜單 中可實(shí)現(xiàn)個(gè)功能模塊選擇,功能模塊主要有兩個(gè),一個(gè)是系統(tǒng)管理模塊, 一個(gè)是出入庫(kù)管
5、理模塊。而主功能模塊下又有各自的詳細(xì)功能:系統(tǒng)管 理模塊包含增加、刪除、查詢(xún)、顯示物品信息和更改密碼的功能;出入 庫(kù)管理模塊包含物品出庫(kù)、入庫(kù),庫(kù)存物品信息查詢(xún)和緊缺物品信息列 表顯示的功能。模塊設(shè)計(jì):密碼登錄系統(tǒng)主菜單出入庫(kù)指令1增加物品信息返回指令1物品出庫(kù)返回指令2刪除物品信息返回指令2物品入庫(kù)指令3 .查詢(xún)物品信息返冋指令4 . 顯示物品信息 返回 *指令 3 ( zizrrr 庫(kù)存物 品信息返回查詢(xún)指令5 k更改密碼返回指令4f顯示緊缺物品信息返回上層返回主菜單*指令5返回上返回主菜單下面對(duì)上面的流程圖做詳細(xì)介紹:1 密碼登陸模塊: 為保護(hù)倉(cāng)庫(kù)信息安全,本系統(tǒng)使用密碼驗(yàn)證登陸。首次使
6、用本系統(tǒng)需要設(shè)置 密碼,以后憑密碼登錄。密碼為字符型,可以使用數(shù)字加字母、標(biāo)點(diǎn)符號(hào)組 成。當(dāng)輸入兩次一致的初始密碼后,進(jìn)入系統(tǒng)。2 主菜單模塊:主菜單包括 4個(gè)功能鍵: 1系統(tǒng)管理、 2出入庫(kù)管理、 3幫助、4退出。 進(jìn)入主菜單后,根據(jù)面板上的數(shù)字指令進(jìn)行操作(詳細(xì)面板見(jiàn)后)。若輸入 錯(cuò)誤指令如:0, a, +,等字符,則系統(tǒng)不做任何處理,直到輸入正確的指令 后,系統(tǒng)根據(jù)指令運(yùn)行。3 系統(tǒng)管理菜單模塊:在主菜單按指令 1 后會(huì)進(jìn)入系統(tǒng)管理菜單,她包括 6 個(gè)功能鍵:增加物品、 刪除物品、查詢(xún)物品、顯示物品、更改密碼。同樣,若在這時(shí)輸入錯(cuò)誤指令, 系統(tǒng)不會(huì)做任何處理。 輸入正確指令后, 進(jìn)入相應(yīng)
7、的功能中, 按 6 可以返回 主菜單a. 增加物品信息:新增一條物品信息, 包括編號(hào)、名稱(chēng)、警界庫(kù)存量。若增加的物品信息中, 發(fā)現(xiàn)倉(cāng)庫(kù)內(nèi)物品的兩個(gè)信息: 編號(hào)或者名稱(chēng)一樣的話(huà), 會(huì)打印出倉(cāng)庫(kù)內(nèi)相 同物品的信息, 并報(bào)告保存失敗。 在保存成功或保存失敗后, 我們都可以 按ENTER鍵進(jìn)行繼續(xù)增加的操作,也可以按任意鍵結(jié)束物品的增加。增 加的物品信息會(huì)以編號(hào)為準(zhǔn)進(jìn)行升序排序,使信息有序。 注意,在輸入信息時(shí)如果輸入的數(shù)據(jù)有誤, 如編號(hào)、警戒庫(kù)存量用字母寫(xiě) 入,則會(huì)提示數(shù)據(jù)有誤,允許在當(dāng)前頁(yè)面重新輸入數(shù)據(jù)。b. 刪除物品信息:可通過(guò)物品編號(hào)或名稱(chēng)刪除物品的信息, 物品數(shù)為 0時(shí)可刪除。 進(jìn)入此功 能
8、后,我們首先選擇刪除方式: 1 編號(hào)或者 2 名稱(chēng),若輸入 3,則返回系 統(tǒng)管理菜單。 若按其他鍵則系統(tǒng)不做任何處理。 當(dāng)選擇刪除的物品中庫(kù)存 值為 0 時(shí),系統(tǒng)會(huì)提示是否刪除。選 Y 則刪除,選 N 不刪除。操作過(guò)后 會(huì)返回系統(tǒng)管理菜單。在輸入信息時(shí)如果輸入的數(shù)據(jù)有誤, 如編號(hào)用字母寫(xiě)入, 則會(huì)提示數(shù)據(jù)有 誤,允許在當(dāng)前頁(yè)面重新輸入數(shù)據(jù)。c. 查詢(xún)物品信息: 可通過(guò)物品編號(hào)或名稱(chēng)來(lái)查詢(xún)指定物品的信息, 并顯示出來(lái)。 同樣,進(jìn)入 此功能后,我們首先選擇查詢(xún)方式: 1 編號(hào)或者 2 名稱(chēng),若輸入 3,則返 回系統(tǒng)管理菜單。 輸出的物品信息包括物品編號(hào)、 名稱(chēng)、警戒庫(kù)存量和當(dāng) 前庫(kù)存量。在輸入信息
9、時(shí)如果輸入的數(shù)據(jù)有誤, 如編號(hào)用字母寫(xiě)入, 則會(huì)提示數(shù)據(jù)有 誤,允許在當(dāng)前頁(yè)面重新輸入數(shù)據(jù)。d. 顯示物品信息: 該功能可以一列表形式顯示所有庫(kù)存物品的信息, 包括物 品編號(hào)、名稱(chēng)、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)。e. 設(shè)置倉(cāng)庫(kù)密碼: 進(jìn)入此功能后, 我們需要輸入兩個(gè)相同的新密碼, 密碼格 式有數(shù)字、字母和標(biāo)點(diǎn)符號(hào)組成,長(zhǎng)度在 20 個(gè)字符以?xún)?nèi)。若輸入的兩個(gè) 新密碼不一致, 則返回系統(tǒng)管理菜單。 若密碼一致則會(huì)打印出新密碼, 提 示提示使用者記住,然后返回。4. 出入庫(kù)管理菜單模塊:在主菜單按指令 2 后會(huì)進(jìn)入系統(tǒng)管理菜單,她包括 5 個(gè)功能鍵:物品出庫(kù)、 物品入庫(kù)、庫(kù)存物品查詢(xún)、顯示緊缺物品信息。同
10、樣,若在這時(shí)輸入錯(cuò)誤指 令,系統(tǒng)不會(huì)做任何處理。輸入正確指令后,進(jìn)入相應(yīng)的功能中。按 5 可返 回主菜單。a. 物品入庫(kù): 若倉(cāng)庫(kù)中無(wú)物品信息,則返回庫(kù)存管理菜單。否則: 通過(guò)物品編號(hào)或名稱(chēng)進(jìn)行指定物品的入庫(kù)操作。 其中,按 1 通過(guò)編號(hào)入庫(kù), 按 2 通過(guò)名稱(chēng)入庫(kù), 按 3 可返回庫(kù)存管理菜單, 輸入其他錯(cuò)誤的指令則系 統(tǒng)不作處理。開(kāi)始入庫(kù)操作后,輸入相應(yīng)的信息,包括物品編號(hào)、入庫(kù)物 品數(shù)量、物品單價(jià)、提供商、采購(gòu)員,系統(tǒng)會(huì)找出相匹配的物品信息進(jìn)行 出庫(kù)操作。 若存在該物品, 系統(tǒng)會(huì)記錄下該物品的入庫(kù)信息, 成功后返回 庫(kù)存管理菜單,否則也會(huì)返回。 注意,在輸入信息時(shí)如果輸入的數(shù)據(jù)有誤,如編
11、號(hào)、入庫(kù)數(shù)、單價(jià)用字母 寫(xiě)入,則會(huì)提示數(shù)據(jù)有誤,允許在當(dāng)前頁(yè)面重新輸入數(shù)據(jù)。b. 物品出庫(kù): 若倉(cāng)庫(kù)中無(wú)物品信息,則返回庫(kù)存管理菜單。否則: 通過(guò)物品編號(hào)或名稱(chēng)進(jìn)行指定物品的出庫(kù)操作。 其中,按 1 通過(guò)編號(hào)出庫(kù), 按 2 通過(guò)名稱(chēng)出庫(kù), 按 3 可返回庫(kù)存管理菜單, 輸入其他錯(cuò)誤的指令則系 統(tǒng)不作處理。開(kāi)始出入庫(kù)操作后,輸入相應(yīng)的信息,包括物品編號(hào)、出庫(kù) 物品數(shù)量、提貨原因、提貨員四個(gè)信息。 如果存在該物品并且申請(qǐng)的提貨 數(shù)量在合理范圍內(nèi)時(shí), 則操作成功, 系統(tǒng)會(huì)記錄下該物品的出庫(kù)信息并返 回,否則如出庫(kù)數(shù)超過(guò)當(dāng)前庫(kù)存數(shù),會(huì)失敗并返回。 注意,在輸入信息時(shí)如果輸入的數(shù)據(jù)有誤,如編號(hào)、出庫(kù)數(shù)用
12、字母寫(xiě)入, 則會(huì)提示數(shù)據(jù)有誤,允許在當(dāng)前頁(yè)面重新輸入新數(shù)據(jù)。c. 庫(kù)存物品查詢(xún): 若倉(cāng)庫(kù)中無(wú)物品信息,則返回庫(kù)存管理菜單。否則: 通過(guò)物品編號(hào)或名稱(chēng)可查找該指定物品的信息。 其中,按 1 通過(guò)編號(hào)查詢(xún), 按 2 通過(guò)名稱(chēng)查詢(xún), 按 3 可返回庫(kù)存管理菜單, 輸入其他錯(cuò)誤的指令則系 統(tǒng)不作處理。當(dāng)找到匹配的物品信息時(shí),打印物品信息包括編號(hào)、名稱(chēng)、 警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)五個(gè)信息,以及該物品所有的入庫(kù)與出庫(kù)信息。 若物品無(wú)出庫(kù)活入庫(kù)信息,系統(tǒng)也會(huì)打印出提示。 在輸入信息時(shí)如果輸入的數(shù)據(jù)有誤, 如編號(hào)用字母寫(xiě)入, 則會(huì)提示數(shù)據(jù)有 誤,允許在重新輸入新編號(hào)。d. 顯示緊缺物品:此功能可以顯示出所有庫(kù)存
13、數(shù)低于警戒庫(kù)存量的物品信息,包括物品編 號(hào)、名稱(chēng)、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)五個(gè)信息點(diǎn),以列表的形式打印出來(lái), 按任意鍵后返回庫(kù)存管理菜單。5. 其他模塊:主菜單上有另外兩個(gè)功能鍵:幫助、退出。a. 幫助:在主菜單上按指令3可顯示幫助信息,里面詳細(xì)介紹本系統(tǒng)的功能、使用 方法,以及注意事項(xiàng)。有此可以幫助使用者更好的使用本軟件, 駕馭本軟 件。按任意鍵可以返回主菜單。b. 退出:在主菜單上按指令4可以安全的退出系統(tǒng),并且顯示退出頁(yè)面,圖見(jiàn)后。界面設(shè)計(jì):界面的布局(可以采用截圖)及使用操作;1. 首先進(jìn)入的是首次使用系統(tǒng)的初密碼設(shè)置功能(如圖):首次使用本系統(tǒng)需要設(shè)置密碼,密碼為字符型,由數(shù)字、字母、
14、標(biāo)點(diǎn)符號(hào)組 成。M EAKD! Debue'k200330740409S 少波,您II未設(shè)貫密碼,為保護(hù)您的信息安全請(qǐng)?jiān)O(shè)貫密碼!請(qǐng)輸入您的密碼;-密碼不一致,重新輸入(直到輸入連個(gè)一致的密碼為止)當(dāng)輸入兩次一致的初始密碼后,進(jìn)入系統(tǒng)環(huán) E: KD I Ikbu認(rèn)20(3830740409董少濁 已沱您還未設(shè)置密碼,為保護(hù)您的信息安全,請(qǐng)?jiān)O(shè)置密碼!諸輸入您的密碼;huangwhaobo請(qǐng)?jiān)俅屋斎朊艽a=huangshaab 您輸入的兩液空碼不一致,請(qǐng)重新輸入! 倩輸入密碼;huanjshaobo 倩再次輸入密碼;huangshaobo2. 接下來(lái)是主菜單在這里輸入1、2、3、4,可以進(jìn)入相
15、應(yīng)的功能中。1*系統(tǒng)管理2.庫(kù)存管理您的密碼:huan豈shaob ci已設(shè)員! 按任意鍵進(jìn)入主菜單.I田丨田田I4.退 出II I” II | II 11 IE _ll II iLiiiiilii11 iriirII HI II II II II H II II II M H IIIIICIIII91 IIIIIIIIIIir請(qǐng)輸入您的指令;按3進(jìn)入幫助系統(tǒng)頁(yè)面:您好,歡迎使用本小型倉(cāng)庫(kù)管理系統(tǒng),本系統(tǒng)作者溝華南農(nóng)業(yè)大學(xué)信息學(xué)屍 軟件學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)4既黃少波同學(xué),這是他的初作,使用過(guò)程中若發(fā)現(xiàn)一 些不攜完善的地方,喩指出、交汛聯(lián)系電話(huà)便用本倉(cāng)庫(kù)系貌,請(qǐng)您技照系統(tǒng)的提示進(jìn)行操作,這樣能便
16、您更好的進(jìn)行操 祚和駕馭車(chē)軟件!最后,感謝您使用本軟件,祝您工作順利,生活愉快!按任意鍵返回.按4退出系統(tǒng):3. 系統(tǒng)管理在主菜單按1請(qǐng)進(jìn)入系統(tǒng)管理菜單按1為增加物品功能(輸入示例數(shù)據(jù),可以一條條的增加物品信息)增加完畢后返回按2為刪除物品信息功能(已輸入示例數(shù)據(jù))選擇丫,或N,這里選N按3進(jìn)入物品查詢(xún)功能(已輸入示例數(shù)據(jù))按4進(jìn)入顯示物品功能按5更改密碼(若輸入的兩個(gè)新密碼不一致則返回系統(tǒng)管理菜單)按6返回主菜單4. 出入庫(kù)管理在主菜單按2進(jìn)入庫(kù)存管理菜單賦 EAKD! D ebuSV200S30740409®te. »e日回田1物品出庫(kù)3 .庫(kù)存查詢(xún)*2 物品入庫(kù)4.緊
17、缺物品5 返回上層II II_it_II IINNIl ir IINII li IL M II li IL l IIli ir ilIIIli ir nr按2進(jìn)行物品入庫(kù)操作(已輸入示例數(shù)據(jù))數(shù)據(jù)有誤,返回?cái)?shù)據(jù)無(wú)誤,成功后返回按1進(jìn)行物品出庫(kù)操作成功按3進(jìn)入庫(kù)存查詢(xún)查詢(xún)結(jié)果:按4顯示緊缺物品信息以上詳細(xì)操作可以參照模塊設(shè)計(jì)部分?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì):主要定義了一個(gè)結(jié)構(gòu)體:物品信息結(jié)構(gòu)體。如下面代碼:struct wupinxinxi 物品結(jié)構(gòu)體int bia nhaoji ngjiekuc un lia ng,kuc un;char min gche ng20;struct wup inxinxi *n
18、 ext;/ 定義結(jié)構(gòu)體包含 bianhao,mingchengjingjiekucunliang,kucun四個(gè)成員,建立單向鏈表結(jié)點(diǎn)的類(lèi)型源代碼中,在幾個(gè)函數(shù)中使用到了構(gòu)體類(lèi)型指針變量,入增加物品中(代碼如下):struct wup inxinxi *head=NULL;struct wupinxinxi *p0,*p1,*p2; 定義結(jié)構(gòu)體類(lèi)型指針變量此外所有的函數(shù)中都用到了結(jié)構(gòu)體指針,用來(lái)進(jìn)行文件的各種操作,包 括創(chuàng)建、清空、追加信息等。三、詳細(xì)設(shè)計(jì)1模塊功能:本系統(tǒng)有兩大功能模塊,系統(tǒng)管理及出入庫(kù)管理。a. 系統(tǒng)管理可實(shí)現(xiàn)倉(cāng)庫(kù)物品信息的增加、刪除、查詢(xún)、顯示功能和密碼更改功能。b.
19、出入庫(kù)管理包括倉(cāng)庫(kù)的入庫(kù)信息記錄、出庫(kù)信息記錄、查詢(xún)指定物品的信息及出入庫(kù)記錄、顯示緊缺物品信息的功能。c. 此外還有幫助、退出功能。幫助功能詳細(xì)介紹本系統(tǒng)的功能、使用方法, 以及注意事項(xiàng)。2. 主要函數(shù):主要有三大函數(shù):主干函數(shù) void zhuhanshu();系統(tǒng)管理函數(shù)void xitongguanli()和庫(kù)存管理函數(shù) void kucunguanli()。其中主函數(shù)ma in ()調(diào)用主干函數(shù);系統(tǒng)管理函數(shù)調(diào)用子函數(shù)有:void zengjiawupin()/ 增加物品信息函數(shù)void shanchuwupin()/ 刪除物品信息函數(shù)void chaxunwupin()/ 查詢(xún)物品
20、信息函數(shù) void xianshiwupin()/ 顯示物品信息函數(shù) void genggaimima()/ 更改密碼函數(shù) 庫(kù)存管理函數(shù)調(diào)用的子函數(shù)有:void chuku()/ 物品出庫(kù)函數(shù)void ruku()/ 物品入庫(kù)函數(shù)void kucunchaxun()/ 查詢(xún)庫(kù)存信息函數(shù)void xianshijinque()/ 顯示緊缺物品函數(shù) 此外還有其他函數(shù):int tongjiwupin()/ 統(tǒng)計(jì)物品個(gè)數(shù)函數(shù)int tongjichuku()/ 統(tǒng)計(jì)出庫(kù)個(gè)數(shù)函數(shù)int tongjiruku()/ 統(tǒng)計(jì)入庫(kù)個(gè)數(shù)函 void tuichu()/ 退出畫(huà)面 void zhucaidan()/
21、 顯示主菜單 void bangzhu()/ 幫助系統(tǒng)函數(shù) void denglu()/ 驗(yàn)證密碼函數(shù) 在這里展現(xiàn)一些函數(shù)參數(shù)及其含義:FILE *fp;定義結(jié)構(gòu)體指針 struct wupinxinxi *head=NU L L ; /定義頭位空 struct wupinxinxi *p0,*p1,*p2;/ 定義結(jié)構(gòu)體類(lèi)型指針變量 char xuanze=13;創(chuàng)建變量為ENTER鍵值,用于后面的按鍵功能 int bianhao1=0,hao=0,jing=0,cun=0,chukushu=0,n=0,k=0,flag=0,i;charmingcheng120='0',mi
22、ng20='0',shang20='0',yuanyin100='0',tihuoy uan20='0'/ 定義變量(一定長(zhǎng)度)3. 主要程序清單:a.這是系統(tǒng)主菜單的代碼:void xito nggua nli() 系統(tǒng)管理函數(shù)char xua nze;創(chuàng)建變量,用來(lái)儲(chǔ)存鍵值void zengjiawupin();void shanchuwupin();void chaxunwupin();void xianshiwupin();void gen ggaimima(); 聲明函數(shù)xit on ggua nlicaida n();
23、 調(diào)用菜單函數(shù) xuanze=getch();for(;xuanze!='1'&&xuanze!='2'&&xuanze!='3'&&xuanze!='4'&&xuanze!='5'& & xua nze!='6')判斷:鍵值是否有效xuanze=getch(); switch(xua nze)選擇功能函數(shù)case '1':zengjiawupin();break;/ 進(jìn)入增加物品功能 case '
24、;2':shanchuwupin();break; /進(jìn)入刪除物品功能 case '3':chaxunwupin();break; / 進(jìn)入查詢(xún)物品功能 case '4':xianshiwupin();break; /進(jìn)入顯示物品功能 case '5':genggaimima();break; /更改密碼功能 case '6':zhuhanshu();break; /返回主函數(shù)功能 b. 這是統(tǒng)計(jì)物品信息條數(shù)函數(shù)的代碼:int tongjiwupin()/ 統(tǒng)計(jì)物品個(gè)數(shù)函數(shù)FILE *fp;定義結(jié)構(gòu)體指針int bianh
25、ao=0,kucun=0,jingjiekucunliang=0,n;char mingcheng20='0',tigongshang20='0'/ 定義變量 fp=fopen("wupinxinxi.dat","r");/ 打開(kāi)文件 for (n=0;!feof(fp);n+)/ 計(jì)算信息條數(shù)fscanf(fp,"%d %s %d %d",&bianhao,mingcheng,&jingjiekucunliang,&kucun); n-;fclose(fp);/ 關(guān)閉文件 re
26、turn (n);/返回信息條數(shù)c. 這個(gè)事很重要的一個(gè): 庫(kù)存物品信息查詢(xún), 輸出包括物品信息積極所有的 出入庫(kù)信息:void kucu nchaxu n()查詢(xún)庫(kù)存信息函數(shù)FILE *fp;/定義結(jié)構(gòu)體變量int bianhao=0,hao=0,jing=0,cun=0,rukushu=0,chukushu=0,flag=0,k=0,n=0,i,count =0;/定義變量float danjia=0;charmingcheng20='0',ming20='0',shang20='0',caigouyuan20='0',ti
27、gongshang20='0',yuanyin100='0',tihuoyuan20='0'char xua nze;創(chuàng)建變量,用來(lái)儲(chǔ)存鍵值 system("cls");if(fp=fopen("wupinxinxi.dat","r")=NULL)/ 判斷文件是否存在 ,若不存在 則新建printf("nnnnnnnnn 當(dāng)前倉(cāng)庫(kù)無(wú) 物品信息 !nn 請(qǐng)按任意鍵返回庫(kù)存管理菜 單");getch(); kucunguanli(); k=tongjiwupin();/
28、統(tǒng)計(jì)物品信息條數(shù)if(k=O)若無(wú)物品,則返回主函數(shù)當(dāng)前倉(cāng)庫(kù)無(wú)請(qǐng)按任意鍵返回主菜單 ");請(qǐng)輸入查庫(kù)方式 (按 3 可返回庫(kù)存1.通過(guò)編號(hào)入庫(kù)2.通過(guò)名稱(chēng)入 printf("nnnnnnnnn 物品信息 !nn getch(); zhuhanshu();elsesystem("cls");printf("nn管理菜單 ):n 庫(kù)");xuanze=getch();for(;xuanze!='1'&&xuanze!='2'&&xuanze!='3')xuan
29、ze=getch();if (xua nze='1')通過(guò)物品編號(hào)查詢(xún)printf("n請(qǐng)輸入物品編號(hào) :");scanf("%d",&bianhao);for(;bianhao=0;)判斷數(shù)據(jù)是否有誤(編號(hào)不能為0或者字符), 若有誤則重輸scanf("%s",mingcheng);printf("n輸入錯(cuò)誤 ,請(qǐng)重新輸入 !");printf("n請(qǐng)輸入物品編號(hào) :");scanf("%d",&bianhao);if (xua nze=
30、39;2')通過(guò)物品名稱(chēng)查詢(xún)請(qǐng)輸入物品名稱(chēng) :");printf("n scanf("%s",mingcheng);if (xua nze='3')返回庫(kù)存管理菜單 kucunguanli();system("cls");fp=fopen("wupinxinxi.dat","r");/ 打開(kāi)文件 for(i=0;i<k;i+)/ 逐條讀取物品信息 ,尋找匹配信息 fscanf(fp,"%d%s%d%d",&hao,ming,&ji
31、ng,&cun); if(bianhao=hao|!strcmp(mingcheng,ming)printf("nn物品編號(hào)為:d£稱(chēng)為:s警戒庫(kù)存量為: %d 當(dāng)前庫(kù)存量為: %dnn",hao,ming,jing,cun);/ 找到匹配信息打 印flag=1;/ 標(biāo)記fclose(fp);/ 關(guān)閉文件if(flag=0)/ 若找不到匹配信息則返回庫(kù)存管理菜單printf("nnn不存在該物品 !請(qǐng)按任意鍵返回庫(kù)存管理菜單 ");getch(); kucunguanli();if(fp=fopen("ruku.dat&quo
32、t;,"r")=NULL)/ 判斷文件是否存在 ,若不存在則 新建fp=fopen("ruku.dat","w");fclose(fp);k=tongjiruku();/ 統(tǒng)計(jì)入庫(kù)信息條數(shù) if(k=0)/ 無(wú)入庫(kù)信息printf("此物品尚無(wú)入庫(kù)信息 !");elsefp=fopen("ruku.dat","r");/ 打開(kāi)文件 for(i=0;i<k;i+)/ 逐條尋找匹配的入庫(kù)信息 ,找到則打印出來(lái) fscanf(fp,"%d%s%d%f%s%s&quo
33、t;,&hao,ming,&rukushu,&danjia,shang,caigouyua n);if(bianhao=hao|!strcmp(mingcheng,ming)printf("第%3d次入庫(kù):入庫(kù)數(shù):d單價(jià):.2f,提供商:%s采購(gòu)員:%sn",+count,rukushu,danjia,shang,caigouyuan);flag=1;/ 標(biāo)記fclose(fp);if(flag=O)沒(méi)有匹配的入庫(kù)信息printf("此物品尚無(wú)入庫(kù)信息 !"); printf("n");flag=O;初始化變量
34、count=O;/ 初始化變量 if(fp=fopen("chuku.dat","r")=NULL)/ 判斷文件是否存在 ,若不存在 則新建fp=fopen("chuku.dat","w");fclose(fp);k=tongjichuku();統(tǒng)計(jì)出庫(kù)信息條數(shù)if(k=O)沒(méi)有出庫(kù)信息printf("此物品尚無(wú)出庫(kù)信息 !"); elsefp=fopen("chuku.dat","r");/ 打開(kāi)文件 for(i=0;i<k;i+)逐條尋找匹配的出庫(kù)信息,找到則打印出來(lái) fscanf(fp,"%d%s%d%s%s",&hao,ming,&chukushu,yuanyin,tihuoyuan); if(bianhao=hao)printf("第
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 喜鋪加盟合同范例
- 天花裝修合同范例
- 工地防護(hù)合同范例
- 文稿版權(quán)合同范例
- 房屋拆除簡(jiǎn)易合同范例
- 服裝務(wù)工合同范例
- 政府單位用人合同范例
- 加盟勞務(wù)派遣合同范例
- 服裝出款合同范例
- 身臨其境 課件-2024-2025學(xué)年人教版(2024)初中美術(shù)七年級(jí)上冊(cè)
- 2024秋期國(guó)家開(kāi)放大學(xué)專(zhuān)科《社會(huì)調(diào)查研究與方法》一平臺(tái)在線(xiàn)形考(形成性考核一至四)試題及答案
- 高中數(shù)學(xué)單元教學(xué)設(shè)計(jì)范文(5篇)
- 【人教版】《勞動(dòng)教育》五上 勞動(dòng)項(xiàng)目五《設(shè)計(jì)制作海報(bào)》課件
- GB/T 22517.2-2024體育場(chǎng)地使用要求及檢驗(yàn)方法第2部分:游泳場(chǎng)地
- 2024-2030年生命科學(xué)中的工業(yè)自動(dòng)化行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2024年江蘇蘇州市事業(yè)單位專(zhuān)業(yè)化青年人才定崗特選444人歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- Unit3 Amazing Animals(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP(2024)三年級(jí)上冊(cè)
- 一年級(jí)心理健康課件生命真美好蘇科版
- GB/T 44460-2024消費(fèi)品質(zhì)量分級(jí)導(dǎo)則衛(wèi)生潔具
- 2024合同模板合伙開(kāi)公司合同
評(píng)論
0/150
提交評(píng)論