C語(yǔ)言圖書(shū)銷(xiāo)售管理系統(tǒng)設(shè)計(jì)_第1頁(yè)
C語(yǔ)言圖書(shū)銷(xiāo)售管理系統(tǒng)設(shè)計(jì)_第2頁(yè)
C語(yǔ)言圖書(shū)銷(xiāo)售管理系統(tǒng)設(shè)計(jì)_第3頁(yè)
C語(yǔ)言圖書(shū)銷(xiāo)售管理系統(tǒng)設(shè)計(jì)_第4頁(yè)
C語(yǔ)言圖書(shū)銷(xiāo)售管理系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.PAGE .目錄 TOC o 1-3 h z u HYPERLINK l _Toc299616449圖書(shū)銷(xiāo)售管理系統(tǒng)設(shè)計(jì) PAGEREF _Toc299616449 h 2HYPERLINK l _Toc299616450一、設(shè)計(jì)要求 PAGEREF _Toc299616450 h 2HYPERLINK l _Toc299616451二、總體設(shè)計(jì)思路 PAGEREF _Toc299616451 h 2HYPERLINK l _Toc2996164521.主要功能:系統(tǒng)主要包括八個(gè)功能模塊。 PAGEREF _Toc299616452 h 3HYPERLINK l _Toc2996164532

2、.總體思路框圖 PAGEREF _Toc299616453 h 3HYPERLINK l _Toc299616455三、主要參數(shù)和函數(shù) PAGEREF _Toc299616455 h 4HYPERLINK l _Toc2996164561.全局變量 PAGEREF _Toc299616456 h 4HYPERLINK l _Toc2996164572.主要函數(shù) PAGEREF _Toc299616457 h 5HYPERLINK l _Toc299616458四、程序調(diào)試及整體實(shí)現(xiàn) PAGEREF _Toc299616458 h 14HYPERLINK l _Toc2996164591.主菜單

3、運(yùn)行界面 PAGEREF _Toc299616459 h 14HYPERLINK l _Toc2996164602.圖書(shū)信息錄入界面 PAGEREF _Toc299616460 h 14HYPERLINK l _Toc2996164613.圖書(shū)信息瀏覽界面 PAGEREF _Toc299616461 h 14HYPERLINK l _Toc2996164624.圖書(shū)查詢(xún)界面 PAGEREF _Toc299616462 h 15HYPERLINK l _Toc2996164635.圖書(shū)信息修改界面 PAGEREF _Toc299616463 h 16HYPERLINK l _Toc2996164

4、646.圖書(shū)信息刪除界面 PAGEREF _Toc299616464 h 16HYPERLINK l _Toc2996164657.圖書(shū)信息排序主界面 PAGEREF _Toc299616465 h 17HYPERLINK l _Toc2996164668.購(gòu)書(shū)清單界面 PAGEREF _Toc299616466 h 17HYPERLINK l _Toc299616467五、體會(huì)總結(jié) PAGEREF _Toc299616467 h 18HYPERLINK l _Toc299616468附件 PAGEREF _Toc299616468 h 19.圖書(shū)銷(xiāo)售管理系統(tǒng)設(shè)計(jì)設(shè)計(jì)要求圖書(shū)信息包括:序號(hào)、書(shū)

5、名、作者、出版單位、價(jià)格。系統(tǒng)以菜單方式工作。圖書(shū)信息錄入功能圖書(shū)信息用文件保存輸入。圖書(shū)信息的刪除與修改功能。圖書(shū)信息瀏覽功能輸出。查詢(xún)功能算法:。排序功能算法:按書(shū)名排序/按價(jià)格排序。圖書(shū)購(gòu)買(mǎi)功能:統(tǒng)計(jì)選購(gòu)圖書(shū)的總價(jià),給出清單,屏幕輸出參考以下的實(shí)際購(gòu)書(shū)單??傮w設(shè)計(jì)思路主要功能:系統(tǒng)主要包括八個(gè)功能模塊。圖書(shū)信息的錄入:將所要錄入的圖書(shū)信息包括序號(hào)、書(shū)名、作者、出版社、價(jià)格等錄入一個(gè)文本文件中。每錄入一本書(shū),系統(tǒng)提示是否繼續(xù),若不繼續(xù),則返回主界面。圖書(shū)信息的查詢(xún):將所有圖書(shū)信息包括序號(hào)、書(shū)名、出版社、作者、價(jià)格等顯示在屏幕上,最后返回主界面。圖書(shū)信息的查詢(xún):通過(guò)輸入圖書(shū)名稱(chēng)或作者完成圖書(shū)

6、信息的查找,并在屏幕上顯示,返回主界面。圖書(shū)信息的修改:通過(guò)輸入序號(hào),判斷此圖書(shū)是否存在,若不存在則提示用戶(hù)重新輸入圖書(shū)序號(hào),若存在則要求輸入要修改圖書(shū)的序號(hào),對(duì)該圖書(shū)重新錄入信息。錄入后,提示是否繼續(xù),如不繼續(xù),則返回主界面。圖書(shū)信息的刪除:通過(guò)輸入序號(hào),判斷此圖書(shū)是否存在,若存在, 則提示用戶(hù)是否顯示刪除后的信息,若不存在則提示用戶(hù)重新輸入圖書(shū)序號(hào),刪除完畢后,返回主界面。圖書(shū)信息的排序:通過(guò)輸入書(shū)名或價(jià)格,提示用戶(hù)輸入想要使用的排序方式,排序后的信息顯示在屏幕上,返回主界面。圖書(shū)的購(gòu)買(mǎi):通過(guò)輸入要購(gòu)買(mǎi)的圖書(shū)序號(hào),計(jì)算出總本書(shū)和總價(jià)格并連同其他購(gòu)買(mǎi)信息一并顯示在屏幕上。退出系統(tǒng):返回主頁(yè)面

7、。總體思路框圖圖書(shū)銷(xiāo)售管理系統(tǒng)圖書(shū)銷(xiāo)售管理系統(tǒng)退出系統(tǒng)圖書(shū)信息排序圖書(shū)信息刪除圖書(shū)信息修改圖書(shū)信息查詢(xún)圖書(shū)購(gòu)買(mǎi)清單圖書(shū)信息瀏覽圖書(shū)信息錄入圖1. 總體思路框圖主要參數(shù)和函數(shù)全局變量定義一個(gè)存放圖書(shū)信息的結(jié)構(gòu)體struct book,并定義此類(lèi)型的變量struct book listN,用來(lái)表示圖書(shū)數(shù)組。struct book /*定義結(jié)構(gòu)體類(lèi)型*/ int num; /*序號(hào)為整型*/ char name40; /*書(shū)名為字符串*/ char author20; /*作者為字符串*/ char publish50; /*出版社為字符串*/ float price; /*價(jià)格為浮點(diǎn)型*/ ;st

8、ruct book listN; /*定義struct book類(lèi)型的變量 list N個(gè)*/int Count=0,定義全局變量,用來(lái)表示圖書(shū)的個(gè)數(shù),初始值為0。主要函數(shù)主函數(shù)main,控制整個(gè)系統(tǒng)的執(zhí)行流程,使系統(tǒng)菜單可以循環(huán)執(zhí)行。根據(jù)圖書(shū)館信息管理系統(tǒng)的要求,可設(shè)計(jì)一個(gè)主函數(shù),及定義多個(gè)用戶(hù)自定義函數(shù)。通過(guò)將switch語(yǔ)句與break語(yǔ)句聯(lián)合使用來(lái)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)程序的設(shè)計(jì)。case1至case7分別實(shí)現(xiàn)不同的功能,并能返回主界面;case0直接返回主界面。程序代碼:void main int choice1; printf; printf; printf; do printf; /

9、*顯示菜單*/printf;printf;printf;printf;printf;printf; printf; printf;printf;printf;printf; scanf; switch /*菜單選擇*/ case 1 : input;break; case 2 : show_bookinformation; break ; case 3 :check_bookinformation ;break ; case 4 : modify_bookinformation ;break ; case 5 :delete_bookinformation;break ; case 6 :re

10、order_bookinformation;break; case 7 :buytotal;break; case 0 :break ; while ; printf;打開(kāi)數(shù)據(jù)文件函數(shù)open,把文件的信息打開(kāi)到一個(gè)結(jié)構(gòu)體數(shù)組中。定義指向文件的指針讀取數(shù)據(jù),若指針指向NULL,則顯示無(wú)法操作,無(wú)文件信息!,要調(diào)用fopen、fclose和fread函數(shù)。程序代碼:void open int i; FILE *fp; iffp=fopen=NULL printf; exit;fori=0;i iffread&listi,sizeof,1,fp=0 printf; exit; fclose;信息錄

11、入文件函數(shù)read,函數(shù)類(lèi)型為void。定義指向文件的指針讀取數(shù)據(jù),把輸入的圖書(shū)信息保存到文件中,若指針指向NULL,則輸出無(wú)法操作。利用for循環(huán)保存信息到指定文件。程序代碼:void read int i; FILE *fp; iffp=fopen=NULL printf; exit; fori=0;i iffwrite&listi,sizeof,1,fp!=1 printf; fclose;信息錄入系統(tǒng)函數(shù)input,提供錄入圖書(shū)信息功能。在for循環(huán)下,一次提示用戶(hù)輸入圖書(shū)序號(hào)、書(shū)名、作者、出版社以及價(jià)格。每循環(huán)一次,提示用戶(hù)是否繼續(xù),當(dāng)選1”時(shí)繼續(xù)輸入圖書(shū)信息,選2程序代碼:void

12、 input int i,k,j,t; for t=j+1; fori=t;i printf; scanf; printf; scanf; printf; scanf; printf; scanf; printf; scanf; fflush; printftn是否繼續(xù)錄入?; scanf; if break; Count=i+1; read;刪除圖書(shū)信息函數(shù)delete_bookinformation ,提供對(duì)圖書(shū)信息的刪除功能。此函數(shù)運(yùn)行時(shí)利用open函數(shù)打開(kāi)數(shù)據(jù)文件,讀取信息;利用for循環(huán),當(dāng)輸入序號(hào)與循環(huán)中的某一對(duì)應(yīng)數(shù)據(jù)相同時(shí),將后一個(gè)賦值給前一個(gè)從而把要?jiǎng)h除的圖書(shū)信息刪除掉。如果i

13、=0,則直接輸出圖書(shū)銷(xiāo)售系統(tǒng)沒(méi)有你要輸出的圖書(shū)信息!。刪除后會(huì)顯示刪除成功,同時(shí)Count自減1;最后還要執(zhí)行read函數(shù),重新記錄圖書(shū)信息。程序代碼:void delete_bookinformation int j,k,d,i=0; open; printf; scanf; for if for listk=listk+1; i+; if printf; else Count=Count-1; read; printf;修改圖書(shū)信息函數(shù)modify_bookinformation ,提供對(duì)圖書(shū)信息的修改功能。首先提示用戶(hù)輸入要修改的圖書(shū)序號(hào),利用for循環(huán)找到要修改的list,系統(tǒng)提示用戶(hù)

14、依次輸入修改后的圖書(shū)序號(hào)、圖書(shū)名、作者、出版社、價(jià)格。如果輸入的序號(hào)a為0,則提示未發(fā)現(xiàn)您要找的書(shū)!。程序代碼:void modify_bookinformation int j,k=0,number; open; printf; scanf; for if printf; printf; scanf; printf; scanf; printf; scanf; printf; scanf; printf; scanf; read; printf; k+; if printf;圖書(shū)信息輸出函數(shù)show_bookinformation,提供圖書(shū)信息輸出功能,瀏覽圖書(shū)信息。通過(guò)printf語(yǔ)句將所

15、有的圖書(shū)信息包括包括編號(hào)、書(shū)名、出版社、作者、價(jià)格等信息顯示在屏幕上。運(yùn)用for語(yǔ)句加printf實(shí)現(xiàn)圖書(shū)信息的循環(huán)輸出顯示。程序代碼:void show_bookinformationint i;open;printf;printf; for printf; 圖書(shū)信息查詢(xún)函數(shù)check_bookinformation ,提供用戶(hù)根據(jù)圖書(shū)書(shū)名或作者查詢(xún)圖書(shū)信息功能。通過(guò)printf語(yǔ)句將所有的圖書(shū)信息包括包括編號(hào)、書(shū)名、出版社、作者、價(jià)格等信息顯示在屏幕上。運(yùn)用for語(yǔ)句加printf實(shí)現(xiàn)圖書(shū)信息的循環(huán)輸出顯示。通過(guò)將switch語(yǔ)句與break語(yǔ)句聯(lián)合使用來(lái)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。若選1”程序代

16、碼:void check_bookinformation /*查詢(xún)圖書(shū)信息*/int j,i,t,k=0;char c20,d20;printf;scanf; if open; printf; scanf; printf; for ifstrcmp=0printf; printf; k+; if printf; if open; printf; scanf; for ifstrcmp=0 printf; printf; k+; if printf;圖書(shū)信息排序函數(shù)reorder_bookinformation,提供對(duì)圖書(shū)信息按書(shū)名和價(jià)格排序功能。排序共有兩種可選擇的方式,按書(shū)名排序和按價(jià)格排序

17、。利用switch和break實(shí)現(xiàn)功能的選擇。按書(shū)名排序:利用選擇排序法和strcmp、strcpy函數(shù)在for循環(huán)下依次重新循環(huán)賦值,按字母的先后順序依次排序。如果定義的指針fp指向NULL則顯示cant open the file!,再利用for循環(huán)向屏幕輸出排序后的全部圖書(shū)信息,最后要返回主界面。按價(jià)格排序:價(jià)格按大小排序。利用冒泡排序法,在for循環(huán)下依次重新循環(huán)賦值,再利用for循環(huán)向屏幕輸出排序后的全部圖書(shū)信息,最后返回主界面。程序代碼:void reorder_bookinformationint i,j,a,k;struct book t;FILE *fp;char temp4

18、0;open;printf;scanf;switchcase 1: fori=0;i k=i; forj=i+1;j ifstrcmp0 k=j; if strcpy; strcpy;strcpy; iffp=fopen=NULL printf; exit; printf; forj=0;j printf; printf; read;break;case 2:for for iflistj.price t=listj;listj=listj+1;listj+1=t; for printf; printf; k+; read; break;圖書(shū)購(gòu)買(mǎi)清單函數(shù)buytotal,提供統(tǒng)計(jì)選購(gòu)圖書(shū)的總價(jià)

19、,給出清單的功能。用戶(hù)輸入所購(gòu)圖書(shū)的序號(hào),輸入0”程序代碼:void buytotal int k,m,n,q,r,t=0; float sum=0;char e50,f50,l50,o50,p50; printf;printf; printf; printf; scanf; do forr=0;r if sum=sum+listr.price; t+; scanf; while; printf; printf; scanf; printf; scanf; printf; printf; scanf; printf; scanf; printf; scanf; printf; scanf; p

20、rintf; scanf; printf; scanf;程序調(diào)試及整體實(shí)現(xiàn)主菜單運(yùn)行界面連接,檢錯(cuò)完畢后,運(yùn)行程序,開(kāi)始進(jìn)入主菜單。結(jié)果顯示如下:圖5. 主菜單界面圖書(shū)信息錄入界面在主菜單上選擇1,根據(jù)提示錄入圖書(shū)信息。屏幕顯示如下:圖6. 圖書(shū)信息錄入界面圖書(shū)信息瀏覽界面在主菜單上選擇2,顯示以下全部圖書(shū)信息并回到主界面。圖7. 圖書(shū)信息瀏覽界面圖書(shū)查詢(xún)界面在主菜單上選擇3,然后根據(jù)提示選擇查詢(xún)方式。選擇1時(shí),若圖書(shū)名存在,則顯示以下全部圖書(shū)信息并回到主界面。圖8. 按書(shū)名圖書(shū)查詢(xún)界面選擇2時(shí),若圖書(shū)作者存在,則顯示以下全部圖書(shū)信息并回到主界面。圖9. 按作者圖書(shū)查詢(xún)界面圖書(shū)信息修改界面在主

21、界面上選擇4,若圖書(shū)序號(hào)存在,根據(jù)提示輸入修改信息,顯示以下結(jié)果:圖10. 圖書(shū)信息修改界面在主菜單上選擇2,顯示修改后的信息。圖書(shū)信息刪除界面在主菜單上選擇5,然后根據(jù)提示選擇刪除的圖書(shū)序號(hào)。若圖書(shū)序號(hào)存在,則刪除選擇結(jié)果如下:圖11. 圖書(shū)信息刪除界面在主菜單上選擇2,顯示刪除后的信息。下圖為刪除后的信息:圖12. 刪除后結(jié)果圖書(shū)信息排序主界面在主菜單上選擇6,然后根據(jù)提示選擇排序方式。選擇1時(shí),按書(shū)名排序根據(jù)英文字母排序。顯示結(jié)果為:圖13. 按書(shū)名排序結(jié)果選擇2,按價(jià)格排序價(jià)格由高到低。排序結(jié)果如下:圖14. 按價(jià)格排序結(jié)果購(gòu)書(shū)清單界面在主菜單上選擇7進(jìn)入購(gòu)書(shū)界面,選擇想購(gòu)書(shū)的序號(hào)最后

22、輸入0回車(chē),即可顯示購(gòu)書(shū)數(shù)量和總價(jià),根據(jù)提示輸入相關(guān)信息完成清單。購(gòu)書(shū)清單如下:圖15. 購(gòu)書(shū)清單示例體會(huì)總結(jié)通過(guò)這次課程設(shè)計(jì),使我對(duì)C語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要重在實(shí)踐,要通過(guò)不斷的上機(jī)操作才能更好地學(xué)習(xí)它,我也發(fā)現(xiàn)我的好多不足之處,通過(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ò)誤也不了解,所以后在學(xué)習(xí)過(guò)程中,我會(huì)更加注視實(shí)踐操作。 在課程設(shè)計(jì)過(guò)程中,收獲知識(shí),提高能力的同時(shí),我也懂得怎么樣去制定、實(shí)現(xiàn)計(jì)劃,課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)發(fā)現(xiàn)提出分析和解決實(shí)際問(wèn)題鍛煉實(shí)踐能力的重要環(huán)節(jié)是對(duì)學(xué)生實(shí)際工作

23、能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新月異,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。附件/*定義結(jié)構(gòu)體*/#include stdafx.h#include string.h#include stdlib.h#define N 100 /*定義圖書(shū)總?cè)萘繛?00*/int Count=0; /*定義全局變量,用來(lái)表示圖書(shū)的個(gè)數(shù)*/struct book /*定義結(jié)構(gòu)體類(lèi)型*/ int num; /*序號(hào)為整型*/ char name40; /*書(shū)名為字符串*/ char autho

24、r20; /*作者為字符串*/ char publish50; /*出版社為字符串*/ float price; /*價(jià)格為浮點(diǎn)型*/ ;struct book listN; /*定義struct book類(lèi)型的變量 list N個(gè)*/void show_bookinformation; /*聲明圖書(shū)信息瀏覽函數(shù)*/void check_bookinformation ; /*聲明圖書(shū)信息查詢(xún)函數(shù)*/void modify_bookinformation ; /*聲明圖書(shū)信息修改函數(shù)*/void delete_bookinformation ; /*聲明圖書(shū)信息刪除函數(shù)*/void reord

25、er_bookinformation; /*聲明圖書(shū)信息排序函數(shù)*/void buytotal; /*聲明圖書(shū)購(gòu)買(mǎi)信息函數(shù)*/void read; /*聲明數(shù)據(jù)讀入函數(shù)*/ void input; /*聲明圖書(shū)信息錄入函數(shù)*/ void open; /*聲明數(shù)據(jù)信息打開(kāi)函數(shù)*/*主函數(shù)*/void main int choice1; printf; printf; printf; do printf; /*顯示菜單*/printf;printf;printf;printf;printf;printf; printf; printf;printf;printf;printf; scanf; sw

26、itch /*菜單選擇*/ case 1 : input;break; case 2 : show_bookinformation; break ; case 3 : check_bookinformation ; break ; case 4 : modify_bookinformation ; break ; case 5 : delete_bookinformation; break ; case 6 : reorder_bookinformation;break; case 7 : buytotal;break; case 0 : break ;while ; printf;/*打開(kāi)文

27、件函數(shù)*/void openint i; FILE *fp; iffp=fopen=NULL printf; exit; fori=0;i iffread&listi,sizeof,1,fp=0 printf; exit;fclose;/*錄入文件函數(shù)*/void read int i; FILE *fp; iffp=fopen=NULL printf; exit; fori=0;i iffwrite&listi,sizeof,1,fp!=1 printf; fclose;/*錄入函數(shù)*/void input int i,k,j,t; for t=j+1; fori=0;i printf; s

28、canf; printf; scanf; printf; scanf; printf; scanf; printf; scanf; fflush; printftn是否繼續(xù)錄入?; scanf; if break; Count=i+1; read;/*刪除函數(shù)*/void delete_bookinformation int j,k,d,i=0; open; printf; scanf; for if for listk=listk+1; i+; if printf; else Count=Count-1; read; printf;/*修改函數(shù)*/void modify_bookinformation int j,k=0,number; open; printf; scanf; for if printf; printf; scanf; printf; scanf; printf; scanf; printf; scanf; printf; scanf; read; printf; k+; if printf;/*輸出函數(shù)*/void s

溫馨提示

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

評(píng)論

0/150

提交評(píng)論