版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ù)物品信息的增加、刪除、 查詢、顯示功能,以及倉(cāng)庫(kù)的入庫(kù)信息記錄、出庫(kù)信息記錄、查詢指定 物品的信息及出入庫(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)管理包 括增加物品信息、刪除物品信息、查詢物品信息、顯示物品
2、信息、設(shè)置 倉(cāng)庫(kù)密碼五個(gè)功能;出入庫(kù)管理包括物品出庫(kù)、物品入庫(kù)、庫(kù)存物品查 詢、顯示緊缺物品四個(gè)功能。以下對(duì)各功能作一些介紹:a. 增加物品信息:新增一條物品信息,包括編號(hào)、名稱、警界庫(kù)存量。b. 刪除物品信息:可通過(guò)物品編號(hào)或名稱刪除該物品的信息,物品數(shù)為0 時(shí)方可刪除。c. 查詢物品信息:可通過(guò)物品編號(hào)或名稱來(lái)查詢指定物品的信息,并顯 示出來(lái)d. 顯示物品信息: 該功能可以顯示所有庫(kù)存物品的信息, 包括物品編號(hào) 名稱、警戒庫(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)或名稱可實(shí)現(xiàn)該指定物品的
3、入庫(kù)操作,記錄 下該物品的入庫(kù)信息,包括物品編號(hào)、入庫(kù)物品數(shù)量、物品單價(jià)、提 供商、采購(gòu)員五個(gè)信息。g. 物品出庫(kù):通過(guò)物品編號(hào)或名稱可實(shí)現(xiàn)該指定物品的出庫(kù)操作,記錄 下該物品的出庫(kù)信息,包括物品編號(hào)、出庫(kù)物品數(shù)量、提貨原因、提 貨員四個(gè)信息。 如果申請(qǐng)的提貨數(shù)量超過(guò)當(dāng)前庫(kù)存數(shù)時(shí), 則操作失敗h. 庫(kù)存物品查詢:通過(guò)物品編號(hào)或名稱可查找該指定物品的信息,包括 編號(hào)、名稱、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)五個(gè)信息,以及該物品所有的 入庫(kù)與出庫(kù)信息。i. 顯示緊缺物品:可以顯示出所有庫(kù)存數(shù)低于警戒庫(kù)存量的物品信息包 括物品編號(hào)、名稱、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)五個(gè)信息點(diǎn)?!?、總體設(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)管 理模塊包含增加、刪除、查詢、顯示物品信息和更改密碼的功能;出入 庫(kù)管理模塊包含物品出庫(kù)、入庫(kù),庫(kù)存物品信息查詢和緊缺物品信息列 表顯示的功能。模塊設(shè)計(jì):密碼登錄系統(tǒng)主菜單出入庫(kù)指令1增加物品信息返回指令1物品出庫(kù)返回指令2刪除物品信息返回指令2物品入庫(kù)指令3 .查詢物品信息返冋指令4 . 顯示物品信息 返回 *指令 3 ( zizrrr 庫(kù)存物 品信息返回查詢指令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è)功能鍵:增加物品、 刪除物品、查詢物品、顯示物品、更改密碼。同樣,若在這時(shí)輸入錯(cuò)誤指令, 系統(tǒng)不會(huì)做任何處理。 輸入正確指令后, 進(jìn)入相應(yīng)
7、的功能中, 按 6 可以返回 主菜單a. 增加物品信息:新增一條物品信息, 包括編號(hào)、名稱、警界庫(kù)存量。若增加的物品信息中, 發(fā)現(xiàn)倉(cāng)庫(kù)內(nèi)物品的兩個(gè)信息: 編號(hào)或者名稱一樣的話, 會(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)或名稱刪除物品的信息, 物品數(shù)為 0時(shí)可刪除。 進(jìn)入此功 能
8、后,我們首先選擇刪除方式: 1 編號(hào)或者 2 名稱,若輸入 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. 查詢物品信息: 可通過(guò)物品編號(hào)或名稱來(lái)查詢指定物品的信息, 并顯示出來(lái)。 同樣,進(jìn)入 此功能后,我們首先選擇查詢方式: 1 編號(hào)或者 2 名稱,若輸入 3,則返 回系統(tǒng)管理菜單。 輸出的物品信息包括物品編號(hào)、 名稱、警戒庫(kù)存量和當(dāng) 前庫(kù)存量。在輸入信息
9、時(shí)如果輸入的數(shù)據(jù)有誤, 如編號(hào)用字母寫(xiě)入, 則會(huì)提示數(shù)據(jù)有 誤,允許在當(dāng)前頁(yè)面重新輸入數(shù)據(jù)。d. 顯示物品信息: 該功能可以一列表形式顯示所有庫(kù)存物品的信息, 包括物 品編號(hào)、名稱、警戒庫(kù)存量、當(dāng)前庫(kù)存數(shù)。e. 設(shè)置倉(cāng)庫(kù)密碼: 進(jìn)入此功能后, 我們需要輸入兩個(gè)相同的新密碼, 密碼格 式有數(shù)字、字母和標(biāo)點(diǎn)符號(hào)組成,長(zhǎng)度在 20 個(gè)字符以內(nèi)。若輸入的兩個(gè) 新密碼不一致, 則返回系統(tǒng)管理菜單。 若密碼一致則會(huì)打印出新密碼, 提 示提示使用者記住,然后返回。4. 出入庫(kù)管理菜單模塊:在主菜單按指令 2 后會(huì)進(jìn)入系統(tǒng)管理菜單,她包括 5 個(gè)功能鍵:物品出庫(kù)、 物品入庫(kù)、庫(kù)存物品查詢、顯示緊缺物品信息。同
10、樣,若在這時(shí)輸入錯(cuò)誤指 令,系統(tǒng)不會(huì)做任何處理。輸入正確指令后,進(jìn)入相應(yīng)的功能中。按 5 可返 回主菜單。a. 物品入庫(kù): 若倉(cāng)庫(kù)中無(wú)物品信息,則返回庫(kù)存管理菜單。否則: 通過(guò)物品編號(hào)或名稱進(jìn)行指定物品的入庫(kù)操作。 其中,按 1 通過(guò)編號(hào)入庫(kù), 按 2 通過(guò)名稱入庫(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)或名稱進(jìn)行指定物品的出庫(kù)操作。 其中,按 1 通過(guò)編號(hào)出庫(kù), 按 2 通過(guò)名稱出庫(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ù)存物品查詢: 若倉(cāng)庫(kù)中無(wú)物品信息,則返回庫(kù)存管理菜單。否則: 通過(guò)物品編號(hào)或名稱可查找該指定物品的信息。 其中,按 1 通過(guò)編號(hào)查詢, 按 2 通過(guò)名稱查詢, 按 3 可返回庫(kù)存管理菜單, 輸入其他錯(cuò)誤的指令則系 統(tǒng)不作處理。當(dāng)找到匹配的物品信息時(shí),打印物品信息包括編號(hào)、名稱、 警戒庫(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)、名稱、警戒庫(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! Debuek200330740409S 少波,您II未設(shè)貫密碼,為保護(hù)您的信息安全請(qǐng)?jiān)O(shè)貫密碼!請(qǐng)輸入您的密碼;-密碼不一致,重新輸入(直到輸入連個(gè)一致的密碼為止)當(dāng)輸入兩次一致的初始密碼后,進(jìn)入系統(tǒng) - E KO! D Ju寸如0830T呃4凹董少波.c _ 一您還未設(shè)置密碼,為保護(hù)您的信息安全,請(qǐng)?jiān)O(shè)置密碼!諸輸入您的密碼;huangwhaobo請(qǐng)?jiān)俅屋斎朊艽a=huangshaab 您輸入的兩液空碼不一致,請(qǐng)重新輸入! 倩輸入密碼;huanjshaobo 倩再次輸入密碼;huangshaobo您的密碼:huan豈shaob ci已設(shè)員! 按任意鍵進(jìn)入主菜單.2.
15、 接下來(lái)是主菜單在這里輸入1、2、3、4,可以進(jìn)入相應(yī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)系電便用本倉(cāng)庫(kù)系貌,請(qǐng)您技照系統(tǒng)的提示進(jìn)行操作,這樣能便您更好的進(jìn)行操 祚和駕馭車(chē)軟件!最后,感謝您使用本軟件,祝您工作順利,生活愉快!按任意鍵返回.按4退出系統(tǒng):3. 系統(tǒng)管理在主菜單按1請(qǐng)進(jìn)入系統(tǒng)管理菜單按1為增加物品功能(輸入示例數(shù)據(jù),可以一條條的增加物品信息)-: . - E:i 11 D?bu.:200E
16、i30740409黃少波,辭E請(qǐng)輸入將要増加的物品信息物品的編號(hào):1物品的名稱“0警戒庫(kù)存量:2繼續(xù)増加BEnter,結(jié)束請(qǐng)搜任資鍵增加完畢后返回按2為刪除物品信息功能(已輸入示例數(shù)據(jù))L7JE AKO! Debug200830740409M少諛.*-1 口収您將刪陳的物品信息為;編號(hào);1名稱1 bo警戒庫(kù)存量;2并且當(dāng)前庫(kù)存量為;您可以將它刪除.確認(rèn)刪除?確定(Y)取消(N)創(chuàng)選擇丫,或N,這里選N按3進(jìn)入物品查詢功能(已輸入示例數(shù)據(jù))按4進(jìn)入顯示物品功能bd按6返回主菜單4. 出入庫(kù)管理在主菜單按2進(jìn)入庫(kù)存管理菜單賦 EAKD! D ebuSV200S30740409te. e日回田1物品
17、出庫(kù)3 .庫(kù)存查詢*2 物品入庫(kù)4.緊缺物品5 返回上層II II_it_II IINNIl ir IINII li IL M II li IL l IIli ir ilIIIli ir nr按5更改密碼(若輸入的兩個(gè)新密碼不一致則返回系統(tǒng)管理菜單)M EAKO! Debu 寸 200830Y4D40g 螢少渡,e情輸入您的新密碼;shaoboJ謹(jǐn)再次輸入新密碼;shacbaJ您的新密碼怒如咖!庶記好!搜任意鍵返回環(huán)違管理卒單.按2進(jìn)行物品入庫(kù)操作(已輸入示例數(shù)據(jù))E: KD I Dbug200B30740409S少諛,數(shù)據(jù)有誤,返回請(qǐng)輸入入庫(kù)方式(擡3可返回庫(kù)存管理菜單):1.通過(guò)編號(hào)入庫(kù)2
18、.通過(guò)名稱入庫(kù)請(qǐng)輸入物品編號(hào):1.數(shù)據(jù)無(wú)誤,成功后返回按1進(jìn)行物品出庫(kù)操作Y. XKODu200830740409黃少濾*一一請(qǐng)輸入出庫(kù)方式(援3可返回庫(kù)存管理菜單):h通過(guò)編號(hào)出庫(kù)2 通過(guò)名稱出庫(kù)1S輸入新品名珈:hid.成功按3進(jìn)入庫(kù)存查詢查詢結(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 ext;/ 定義結(jié)構(gòu)
19、體包含 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ù)物品信息的增加、刪除、查詢、顯示功能和密碼更改功能。b. 出入庫(kù)管理包括倉(cāng)庫(kù)的入
20、庫(kù)信息記錄、出庫(kù)信息記錄、查詢指定物品的信息及出入庫(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()/ 查詢物品信息函數(shù) void x
21、ianshiwupin()/ 顯示物品信息函數(shù) void genggaimima()/ 更改密碼函數(shù) 庫(kù)存管理函數(shù)調(diào)用的子函數(shù)有:void chuku()/ 物品出庫(kù)函數(shù)void ruku()/ 物品入庫(kù)函數(shù)void kucunchaxun()/ 查詢庫(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()/ 顯示主菜單 void
22、 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,ming20=0,shang20=0,yuan
23、yin100=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(); 調(diào)用菜單函數(shù) xuanze=getch();for(;xuanze!=1&xuanze!=2&xuanze!=3&xu
24、anze!=4&xuanze!=5& & xua nze!=6;)判斷:鍵值是否有效xuanze=getch(); switch(xua nze)選擇功能函數(shù)case 1:zengjiawupin();break;/ 進(jìn)入增加物品功能 case 2:shanchuwupin();break; /進(jìn)入刪除物品功能 case 3:chaxunwupin();break; / 進(jìn)入查詢物品功能 case 4:xianshiwupin();break; /進(jìn)入顯示物品功能 case 5:genggaimima();break; /更改密碼功能 case 6:zhuhanshu();break; /返回
25、主函數(shù)功能 b. 這是統(tǒng)計(jì)物品信息條數(shù)函數(shù)的代碼:int tongjiwupin()/ 統(tǒng)計(jì)物品個(gè)數(shù)函數(shù)FILE *fp;定義結(jié)構(gòu)體指針int bianhao=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)
26、;/ 關(guān)閉文件 return (n);/返回信息條數(shù)c. 這個(gè)事很重要的一個(gè): 庫(kù)存物品信息查詢, 輸出包括物品信息積極所有的 出入庫(kù)信息:void kucu nchaxu 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 gongshang20=0,yuanyin100=0,tih
27、uoyuan20=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();/ 統(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ò)名稱入 printf(nnnnnnnnn 物品信息 !nn get
28、ch(); zhuhanshu();elsesystem(cls);printf(nn管理菜單 ):n 庫(kù));xuanze=getch();for(;xuanze!=1&xuanze!=2&xuanze!=3;)xuanze=getch();if (xua nze=1)通過(guò)物品編號(hào)查詢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,&bia
29、nhao);if (xua nze=2)通過(guò)物品名稱查詢請(qǐng)輸入物品名稱 :);printf(n scanf(%s,mingcheng);if (xua nze=3)返回庫(kù)存管理菜單 kucunguanli();system(cls);fp=fopen(wupinxinxi.dat,r);/ 打開(kāi)文件 for(i=0;ik;i+)/ 逐條讀取物品信息 ,尋找匹配信息 fscanf(fp,%d%s%d%d,&hao,ming,&jing,&cun); if(bianhao=hao|!strcmp(mingcheng,ming)printf(nn物品編號(hào)為:d稱為:s警戒庫(kù)存量為: %d 當(dāng)前庫(kù)存量
30、為: %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,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=
31、fopen(ruku.dat,r);/ 打開(kāi)文件 for(i=0;ik;i+)/ 逐條尋找匹配的入庫(kù)信息 ,找到則打印出來(lái) fscanf(fp,%d%s%d%f%s%s,&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(此物
32、品尚無(wú)入庫(kù)信息 !); printf(n);flag=O;初始化變量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;ik;i+)逐條尋找匹配的出庫(kù)信息,找到則打印出來(lái) fscanf(fp,%d%s%d%s%s,&hao,ming,&chukushu,yuanyin,tihuoyuan); if(bianhao=hao)printf(第3d次出庫(kù):出庫(kù)數(shù):%d原因:%s提貨員 :%sn,+count,chukushu
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度藥店連鎖加盟店經(jīng)營(yíng)許可合同協(xié)議書(shū)
- 二零二五年度花店轉(zhuǎn)讓合同(含花卉店人力資源配置技術(shù))
- 二零二五年度車(chē)庫(kù)產(chǎn)權(quán)轉(zhuǎn)讓及車(chē)位租賃權(quán)轉(zhuǎn)讓合同
- 二零二五年度航空航天控制系統(tǒng)采購(gòu)合同知識(shí)產(chǎn)權(quán)技術(shù)轉(zhuǎn)移約定
- 2025年度漁場(chǎng)承包與漁業(yè)保險(xiǎn)服務(wù)合同
- 二零二五年度演員經(jīng)紀(jì)與經(jīng)紀(jì)公司聯(lián)合代言合同
- 二零二五年度潤(rùn)滑油產(chǎn)品回收與再生利用合同
- 志愿活動(dòng)開(kāi)展流程
- 產(chǎn)后恢復(fù)工作總結(jié)
- 2025年商場(chǎng)超市加盟合同范本
- 社工人才培訓(xùn)計(jì)劃實(shí)施方案
- 6、水平四+田徑18課時(shí)大單元計(jì)劃-《雙手頭上前擲實(shí)心球》
- 青島版科學(xué)四年級(jí)下冊(cè)課程綱要
- 《無(wú)人機(jī)法律法規(guī)知識(shí)》課件-第1章 民用航空法概述
- 部編人教版六年級(jí)下冊(cè)語(yǔ)文1-6單元作文課件
- NB/T 11434.5-2023煤礦膏體充填第5部分:膠凝材料技術(shù)要求
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考物理試卷(5年真題+答案解析)
- 手術(shù)器械與敷料的傳遞
- 提高護(hù)士手衛(wèi)生執(zhí)行率PDCA案例匯報(bào)課件(32張)
- 日本人的色彩意識(shí)與自然觀
- 校園網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)規(guī)劃任務(wù)書(shū)
評(píng)論
0/150
提交評(píng)論