[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文

上傳人:仙*** 文檔編號(hào):30351232 上傳時(shí)間:2021-10-10 格式:DOC 頁數(shù):37 大?。?86KB
收藏 版權(quán)申訴 舉報(bào) 下載
[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第1頁
第1頁 / 共37頁
[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第2頁
第2頁 / 共37頁
[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第3頁
第3頁 / 共37頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文》由會(huì)員分享,可在線閱讀,更多相關(guān)《[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文(37頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、 引言 隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展和現(xiàn)代科學(xué)技術(shù)的進(jìn)步,人類社會(huì)正逐漸走向現(xiàn)代化。計(jì)算機(jī)事業(yè)的飛速發(fā)展,使得以計(jì)算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時(shí)期。同時(shí),隨著經(jīng)濟(jì)文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。圖書館擁有豐富的文獻(xiàn)信息資源,是社會(huì)系統(tǒng)的重要組成部分,在信息社會(huì)中的作用愈來愈重要。 圖書管理系統(tǒng)是我國大部分學(xué)?;蚱渌块T不可缺少的部分,書籍是人類的精神食糧,尤其對一些學(xué)校來說,圖書館非常重要。計(jì)算機(jī)圖書管理系統(tǒng)能夠?yàn)橛脩魧?shí)現(xiàn)借閱圖書、管理等,隨著計(jì)算機(jī)科學(xué)的日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作

2、用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對圖書資源信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn),例如:查閱迅速、安全性高、可靠性高、存儲(chǔ)量大、保密性好、成本低等。計(jì)算機(jī)圖書管理系統(tǒng)能夠單一定向計(jì)算機(jī)圖書方面,具有實(shí)用、精簡功能等效率,這些優(yōu)點(diǎn)能夠極大的提高圖書管理的效率,也是企業(yè)、學(xué)校的科學(xué)化、正規(guī)化管理的重要條件。 第一章 緒論 1.1 課題背景 隨著人類社會(huì)的發(fā)展,人類對知識(shí)的需求也不斷增長。在這種形勢下,書籍就漸漸的成為人們獲取并增長知識(shí)的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)一定的位置,如何科學(xué)

3、的管理圖書館不僅關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書管理系統(tǒng)就必不可少了。 隨著現(xiàn)代社會(huì)信息量的不斷增加,圖書的數(shù)量和種類越來越多,人工手動(dòng)管理會(huì)降低工作的效率,希望建立一個(gè)圖書館圖書信息管理系統(tǒng),是為了解決了人工手動(dòng)管理圖書信息在實(shí)踐的問題,從而達(dá)到系統(tǒng)化、規(guī)范化、標(biāo)準(zhǔn)化的水平。圖書如何來管理龐大的圖書信息成為一大難題,如何以一種便捷的管理方式加快圖書流通信息的反饋速度,提高工作效率,已經(jīng)成為學(xué)校圖書館管理的關(guān)鍵問題。信息技術(shù)的飛速發(fā)展給圖書館的管理帶來了全新的變革,采用圖書管理系統(tǒng)對圖書館的運(yùn)作進(jìn)行全程管理,不僅是圖書館擺脫了以往人工管理產(chǎn)生的一系列問

4、題,而且讓圖書館提高了管理效率,減少了管理成本,讓圖書館進(jìn)行更有效的管理。 1.2 C語言概述 C語言是一種用途廣泛、功能強(qiáng)大、使用靈活的過程性編程語言,既可用于編寫應(yīng)用軟件,又能用于編寫系統(tǒng)軟件。。它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。 C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作。由于C語言實(shí)現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),

5、也適合于應(yīng)用軟件的開發(fā)。此外,C語言還具有效率高,可移植性強(qiáng)等特點(diǎn)。因此廣泛地移植到了各類各型計(jì)算機(jī)上,從而形成了多種版本的C語言。使C語言應(yīng)用面十分廣泛。 第二章 開發(fā)工具簡介 VC6.0 簡介 Visual C++ 6.0,簡稱VC或者VC6.0,是微軟推出的一款C++編譯器,將“高級語言”翻譯為“機(jī)器語言(低級語言)”的程序。Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。雖然微軟公司推出了 Visu

6、al C++.NET(Visual C++7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000、Windows XP和Windows NT4.0。所以實(shí)際中,更多的是以Visual C++6.0為平臺(tái)。 VC6.0由以下三部分組成: 1、 Developer Studio,這是一個(gè)集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的, Developer Studio為Visual C++提供了一個(gè)很好的編輯器和很多Wizard,但實(shí)際上它沒有任何編譯和鏈接程序的功能。我們也知道,Developer Studio并不是專門用于VC的,它也同樣用于VB,VJ,VID等Visu

7、al Studio家族的其他同胞兄弟。所以不能把Developer Studio當(dāng)成Visual C++, 它充其量只是Visual C++的一個(gè)殼子而已。   2、 MFC。從理論上來講,MFC也不是專用于Visual C++,Borland C++,C++Builder和Symantec C++同樣可以處理MFC。同時(shí),用Visual C++編寫代碼也并不意味著一定要用MFC,只要愿意,用Visual C++來編寫SDK程序,或者使用STL,ATL,一樣沒有限制。不過,Visual C++本來就是為MFC打造的,Visual C++中的許多特征和語言擴(kuò)展也是為MFC而設(shè)計(jì)的,所以用Vi

8、sual C++而不用MFC就等于拋棄了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。 3、Platform SDK。這才是Visual C++和整個(gè)Visual Studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,Platform SDK是以Microsoft C/C++編譯器為核心(不是Visual C++,看清楚了),配合MASM,輔以其他一些工具和文檔資料。上面說到Developer Studio沒有編譯程序的功能,那么這項(xiàng)工作是由誰來完成的呢?是CL,是NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構(gòu)成Visual

9、Studio的基石。 第三章 圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 3.1 系統(tǒng)的需求分析 3.1.1 設(shè)計(jì)思想 隨著現(xiàn)代社會(huì)信息量的不斷增加,圖書的種類及信息也越來越多,如何來管理龐大的圖書信息成為一大難題,如何以一種便捷的管理方式加快圖書流通信息的反饋速度,提高工作效率,已經(jīng)成為學(xué)校圖書館管理的關(guān)鍵問題。信息技術(shù)的飛速發(fā)展給圖書館的管理帶來了全新的變革,采用圖書管理系統(tǒng)對圖書館的運(yùn)作進(jìn)行全程管理,不僅是圖書館擺脫了以往人工管理產(chǎn)生的一系列問題,而且讓圖書館提高了管理效率,減少了管理成本,讓圖書館進(jìn)行更有效的管理。因此,設(shè)計(jì)的圖書管理系統(tǒng)需要滿足以下幾方面要求: 讀者

10、的管理; 管理員的管理; 圖書信息的管理。 3.1.2 系統(tǒng)功能描述 (1)系統(tǒng)主菜單:根據(jù)不同的選擇進(jìn)入不同的界面,從而進(jìn)入系統(tǒng)和退出系統(tǒng)。 (2)功能菜單:顯示可以進(jìn)行的操作。 (3)查詢主菜單:系統(tǒng)需要提供幾種不同方式的查詢手段,以實(shí)現(xiàn)靈活方便的管理整個(gè)系統(tǒng)。一本圖書包括序號(hào)、書名、價(jià)格、會(huì)員價(jià)等多個(gè)信息,會(huì)員可以通過輸入圖書的序號(hào)、名字進(jìn)行查詢所需的圖書,然后可以瀏覽相關(guān)的圖書信息。管理員除此還可以對圖書進(jìn)行管理和對會(huì)員信息的管理,可以瀏覽所有的圖書信息和會(huì)員信息。 (4)各功能的操作全部通過調(diào)用的關(guān)系連接而成,主函數(shù)通過調(diào)用各子函數(shù)來完成圖書的管理與查詢系統(tǒng)。 3

11、.1.3功能模塊劃分 1. 初始化圖書信息 主函數(shù)通過調(diào)用initbook()子函數(shù),采用scanf()輸入方式輸入圖書的序號(hào)、名字、價(jià)格信息,會(huì)員價(jià)不需輸入,只需用公式:會(huì)員價(jià)=價(jià)格*0.8f(會(huì)員價(jià)一律八折)即可。 2. 增加圖書信息 這個(gè)程序與初始化圖書信息一樣,通過調(diào)用addbook()子函數(shù)來增加一些圖書的基本信息,如:圖書的序號(hào)、名字、價(jià)格。 3. 修改圖書信息 調(diào)用modifybook()子函數(shù)來實(shí)現(xiàn)此功能,用來修改已經(jīng)增加的圖書信息,修改的是圖書的價(jià)格、會(huì)員價(jià),圖書的序號(hào)、名字不改變。 4. 刪除圖書信息 由主函數(shù)調(diào)用delbook()子函數(shù)實(shí)現(xiàn)刪除圖書信息功能

12、。輸入要?jiǎng)h除的圖書名稱,從而刪除這本圖書的所有信息,無法還原。 5. 按圖書的價(jià)格從高到低瀏覽圖書信息 由函數(shù)showbook()來實(shí)現(xiàn)此功能。通過圖書的價(jià)格由高到低的順序來查詢圖書的序號(hào)、名字、價(jià)格、會(huì)員價(jià)。 6. 增加會(huì)員信息addhuiyuan() 存儲(chǔ)會(huì)員信息的文件名是huiyuan(增加會(huì)員時(shí)文件讀取方式采用“ab+”方式),用scanf()輸入方式輸入每個(gè)會(huì)員信息是序號(hào)、名字、密碼。 7. 刪除會(huì)員信息delhuiyuan() 輸入要?jiǎng)h除的會(huì)員名字,從而刪除這個(gè)會(huì)員的所有信息,無法還原。 8. 按名字瀏覽會(huì)員的所有信息showhuiyuan() 用來瀏

13、覽已經(jīng)增加的會(huì)員信息。 9.會(huì)員模塊show() 會(huì)員可以輸入名字和密碼登陸會(huì)員界面,瀏覽圖書信息??奢斎胂鄳?yīng)圖書的名字,查詢相應(yīng)的圖書信息。 3.1.4系統(tǒng)流程 3.2詳細(xì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 3.2.1主函數(shù)界面設(shè)計(jì) #include #include #include #include #define size 100 typedef struct { long number; char name[9]; char ps[7]; int power; }huiyuan;

14、 typedef struct { long number; char name[100]; float price; float memberprice; }book; void main() { void menu1(); void menu2(); huiyuan show; char datafile[40]="huiyuan"; char username[10],password[10]; int i; printf("\n\n\n\n\n"); printf(" ~ ~ ~ ~ ~ ~ ~ ~

15、 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n"); printf(" ============================================== \n"); printf(" *+ +* \n"); printf(" ************歡迎您進(jìn)入圖書管理系統(tǒng)************ \n"); printf(" *+ +*

16、 \n"); printf(" ============================================== \n"); printf(" ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n"); printf("\n\n"); printf(" 請輸入您的姓名:"); scanf("%s",username); printf(" 請輸入您的登錄密碼:"); scanf("%s",password); if ((strcmp(use

17、rname,"admin")==0)&&(strcmp(password,"admin")==0)) {printf(" 您是管理員! \n"); menu1(); } FILE *fp; fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } while(fread(&show,sizeof(huiyuan),1,fp)!=0) { if((strcmp(username,show.name)==0)&&(

18、strcmp(password,show.ps)==0) { printf(" 您是普通會(huì)員\n"); menu2(); } } exit(0); } 3.2.2 管理員界面與圖書瀏覽界面設(shè)計(jì) void initbook(); void addbook(); void modifybook(); void delbook(); void showbook(); void addhuiyuan(); void delhuiyuan(); void show

19、huiyuan(); void show(); void quit(); void menu1() { char ch1,ch2,ch3; do { printf("\n\n\n"); printf(" ============================================== \n"); printf(" ************歡迎進(jìn)入圖書管理員界面************ \n"); printf(" ============================================== \n");

20、 printf("\t\t請您選擇操作類型:\n"); printf(" ************1.歡迎進(jìn)入圖書信息系統(tǒng)************ \n"); printf(" ************2.歡迎進(jìn)入會(huì)員信息系統(tǒng)************ \n"); printf(" ******************0.退出系統(tǒng)****************** \n"); printf(" 請輸入您的選擇! \n"); scanf("%s",&ch1); switch(ch1) {case 1:{

21、 Do { printf("\n\n\n"); printf(" *************>歡迎進(jìn)入圖書信息系統(tǒng)<********** \n"); printf(" \n"); printf(" ====1.初始化圖書信息*******2.增加圖書信息==== \n"); printf(“ ====3.修改圖書信息*********4.刪除圖書信息==== \n"); printf(" ======5.按普通價(jià)格從高到低瀏覽圖書信息===

22、==== \n"); printf(" ==============0、返回上一級================== \n"); printf(" 請輸入0--5,其他輸入錯(cuò)誤! \n"); scanf("%s",&ch2); switch(ch2) { case 1:initbook();break; case 2:addbook();break; case 3:modifybook();break; case 4:delbook();break; case 5:showbook();getch();brea

23、k; case 0:break; default:printf("操作錯(cuò)誤\n");getch();break; } }while(ch2!=0);}break; case 2:{ do { printf("\n\n\n"); printf(" *********>歡迎進(jìn)入會(huì)員信息系統(tǒng)<********** \n"); printf("\n\n"); printf(" ===1.增加會(huì)員信息*******2.刪除會(huì)員信息=== \n"); printf(" ==========3.按名字瀏覽會(huì)

24、員信息=========== \n"); printf(" ==============0、返回上一級============== \n"); printf(" 請輸入0--3,其他輸入錯(cuò)誤! \n"); scanf("%s",&ch3); switch(ch3) { case 1:addhuiyuan();break; case 2:delhuiyuan();break; case 3:showhuiyuan();break; case 0:break; d

25、efault:printf("操作錯(cuò)誤\n");getch();break; } }while(ch3!=0);}break; case 0:quit(); default:printf("操作錯(cuò)誤\n");getch();break; } }while(ch1!=0); } void menu2() { char ch4; do { printf("\n\n\n"); printf(" ========================================= \n"); printf("

26、 **********歡迎進(jìn)入圖書瀏覽界面*********** \n"); printf(" ========================================= \n"); printf(" \n"); printf(" *******1.輸入圖書名瀏覽圖書相應(yīng)信息****** \n"); printf(" **************0.瀏覽結(jié)束***************** \n"); print

27、f(" 請輸入您的選擇: "); scanf("%s",&ch4); switch(ch4) { case 1:void show();break; case 0:quit(); default:printf("操作錯(cuò)誤\n");getch();break; } }while(ch4!=0); } void quit() { printf("\n\n\n\n"); printf(" ==========================================

28、== \n"); printf(" ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n"); printf(" ***************>感謝您的使用<*************** \n"); printf(" ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n"); printf(" ============================================ \n"); getch(); exit(0); }

29、 3.2.3各功能模塊設(shè)計(jì) 1、初始化圖書信息 void initbook() { FILE *fp; book tmps,show; char datafile[40]="book"; int count=0; fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("請輸入圖書的序號(hào)、名稱、價(jià)格\n"); while(count<=size) { pr

30、intf("\n請輸入圖書的序號(hào):"); scanf("%ld",&tmps.number); if(tmps.number==0) break; printf("請輸入圖書的名稱:"); scanf("%s",tmps.name); printf("請輸入圖書的價(jià)格:"); scanf("%f",&tmps.price); tmps.memberprice=tmps.price*0.8f; if(fwrite(&tmps,sizeof(book),1,fp)!=1) { printf("文件%s信息錯(cuò)誤\n",datafi

31、le); exit(1); } count++; } if(count>size) printf("輸入數(shù)據(jù)已滿\n"); fclose(fp); printf("所輸入圖書信息如下:\n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t名稱\t價(jià)格\t會(huì)員價(jià)\n"); while(fread(&show,sizeof(book),1,fp)!=0) printf

32、("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price,show.memberprice); fclose(fp); } 2、添加圖書信息 Void addbook() { FILE *fp; book tmps,show; char datafile[40]="book"; int count=0; fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } pr

33、intf("請輸入圖書的序號(hào)、名稱、價(jià)格\n"); while(count<=size) { printf("\n請輸入圖書的序號(hào):"); scanf("%ld",&tmps.number); if(tmps.number==0) break; printf("請輸入圖書的名稱:"); scanf("%s",tmps.name); printf("請輸入圖書的價(jià)格:"); scanf("%f",&tmps.price); tmps.memberprice=tmps.price*0.8f; if(fwrite(&tmps,si

34、zeof(book),1,fp)!=1) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } count++; } if(count>size) printf("輸入數(shù)據(jù)已滿\n"); fclose(fp); printf("所輸入圖書信息如下:\n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t名稱\t價(jià)格\t會(huì)員價(jià)\

35、n"); while(fread(&show,sizeof(book),1,fp)!=0) printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price,show.memberprice); fclose(fp); } 3、修改圖書信息 void modifybook() { FILE *fp; book tmps,s[size],show,temp; char name[9],next,datafile[40]="book"; int

36、 recnumber,i,result=0; float price; begin: printf("請輸入要修改信息的圖書的名稱:"); scanf("%s",name); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } while(feof(fp)==0) { if(fread(&temp,sizeof(book),1,fp)!=0) { if(strcmp(temp.name,name)=

37、=0) result=1; } } if(result==0) { printf("要修改的圖書%s不存在\n",name); fclose(fp); goto begin; } fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } recnumber=0; while((fread(&tmps,sizeof(book),1,fp))!=0) { if(strcm

38、p(tmps.name,name)==0) { printf("請輸入要修改圖書%s的價(jià)格",name); scanf("%f",&price); s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); s[recnumber].price=price; s[recnumber].memberprice=price*0.8f; recnumber++; } else { s[recnu

39、mber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); s[recnumber].price=tmps.price; s[recnumber].memberprice=tmps.price*0.8f; recnumber++; } } fclose(fp); fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1)

40、; } for(i=0;i

41、p=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t名稱\t價(jià)格\t會(huì)員價(jià)\t\n"); while(fread(&show,sizeof(book),1,fp)!=0) printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price, show.memberprice); fclose(fp); } 4、刪除圖書信息 void delboo

42、k() { FILE *fp; book tmps,s[size],show,temp; char name[10],next,datafile[40]="book"; int recnumber,i,result=0; begin: printf("請輸入要?jiǎng)h除的圖書的名字:"); scanf("%s",name); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } while(feof(fp

43、)==0) { if(fread(&temp,sizeof(book),1,fp)!=0) { if(strcmp(temp.name,name)==0) result=1; } } if(result==0) { printf("要?jiǎng)h除的圖書%s不存在\n",name); fclose(fp); goto begin; } fclose(fp); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafi

44、le); exit(1); } recnumber=0; while((fread(&tmps,sizeof(book),1,fp))!=0) { if(strcmp(tmps.name,name)!=0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); s[recnumber].price=tmps.price; s[recnumber].memberprice=tmps.price*0.8f; recnumber+

45、+; } } fclose(fp); fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } for(i=0;i

46、\n"); printf("是否繼續(xù)刪除(y/n)\n"); next=getche(); if(next==y||next==Y) goto begin; printf("刪除圖書后信息如下:\n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t名稱\t價(jià)格\t會(huì)員價(jià)\n"); while(fread(&show,sizeof(book),1,fp)!=0) printf

47、("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price, show.memberprice); fclose(fp); } 5、瀏覽圖書信息 void showbook() { FILE *fp; char datafile[40]="book"; book tmps,s[size],show; int recnumber,i,j,k; fp=fopen(datafile,"rb"); if(fp==NULL) { pr

48、intf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } recnumber=0; while(fread(&tmps,sizeof(book),1,fp)!=0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); s[recnumber].price=tmps.price; s[recnumber].memberprice=tmps.price*0.8f; recnumber++; } fclose(fp);

49、 if(recnumber>1) { for(i=0;i

50、.number=s[i].number; strcpy(s[k].name,s[i].name); s[k].price=s[i].price; s[k].memberprice=s[i].price*0.8f; s[i].number=tmps.number; strcpy(s[i].name,tmps.name); s[i].price=tmps.price; s[i].memberprice=tmps.memberprice; } } fp=f

51、open(datafile,"wb+"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } for(i=0;i

52、"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t名稱\t價(jià)格\t會(huì)員價(jià)\n"); while(fread(&show,sizeof(book),1,fp)!=0) printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price, show.memberprice); fclose(fp); } 6、增加會(huì)員信息 void addhuiyuan() {

53、 FILE *fp; huiyuan tmps,show; char datafile[40]="huiyuan"; int count=0; fp=fopen(datafile,"ab+"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("請輸入會(huì)員的序號(hào)、名字、密碼、權(quán)限\n"); while(count<=size) { printf("\n請輸入會(huì)員的序號(hào):"); scanf("%ld",&tmps.number); if(tmp

54、s.number==0) break; printf("請輸入會(huì)員的名字:"); scanf("%s",tmps.name); printf("請輸入會(huì)員密碼:"); scanf("%s",tmps.ps); tmps.power=0; if(fwrite(&tmps,sizeof(huiyuan),1,fp)!=1) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } count++; } if(count>size) printf("輸入數(shù)據(jù)已滿\n");

55、 fclose(fp); printf("所輸入圖書信息如下:\n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t姓名\t密碼\t權(quán)限\n"); while(fread(&show,sizeof(huiyuan),1,fp)!=0) printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.ps,show.power); fclose(fp);

56、} 7、刪除會(huì)員信息 void delhuiyuan() { FILE *fp; huiyuan tmps,s[size],show,temp; char name[10],next,datafile[40]="huiyuan"; int recnumber,i,result=0; begin: printf("請輸入要?jiǎng)h除會(huì)員信息的名字:"); scanf("%s",name); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile

57、); exit(1); } while(feof(fp)==0) { if(fread(&temp,sizeof(huiyuan),1,fp)!=0) { if(strcmp(temp.name,name)==0) result=1; } } if(result==0) { printf("要?jiǎng)h除的會(huì)員%s不存在\n",name); fclose(fp); goto begin; } fclose(fp); fp=fopen(datafile,"rb"); if(fp==NU

58、LL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } recnumber=0; while((fread(&tmps,sizeof(huiyuan),1,fp))!=0) { if(strcmp(tmps.name,name)!=0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); strcpy(s[recnumber].ps,tmps.ps); s[recnumbe

59、r].power=tmps.power; recnumber++; } } fclose(fp); fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } for(i=0;i

60、} } fclose(fp); printf("刪除成功!\n"); printf("是否繼續(xù)刪除(y/n)\n"); next=getche(); if(next==y||next==Y) goto begin; printf("刪除信息后的會(huì)員信息如下:\n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t姓名\t密碼\t權(quán)限\n"); while(fre

61、ad(&show,sizeof(huiyuan),1,fp)!=0) printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.ps,show.power); fclose(fp); } 8、瀏覽會(huì)員信息 void showhuiyuan() { FILE *fp; char datafile[40]="huiyuan"; huiyuan tmps,s[size],show; int recnumber,i,j,k; fp=fopen(

62、datafile,"rb"); if(fp==NULL) { printf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } recnumber=0; while(fread(&tmps,sizeof(huiyuan),1,fp)!=0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); strcpy(s[recnumber].ps,tmps.ps); s[recnumber].power=tmps.power

63、; recnumber++; } fclose(fp); if(recnumber>1) { for(i=0;i0) k=j; tmps.number=s[k].number; strcpy(tmps.name,s[k].name); strcpy(tmps.ps,s[k].ps); tmps.power=s[k].power;

64、 s[k].number=s[i].number; strcpy(s[k].name,s[i].name); strcpy(s[k].ps,s[i].ps); s[k].power=s[i].power; s[i].number=tmps.number; strcpy(s[i].name,tmps.name); strcpy(s[i].ps,tmps.ps); s[i].power=tmps.power; } } fp=fopen(datafile,"wb+"); if(fp==NULL) { p

65、rintf("文件%s信息錯(cuò)誤\n",datafile); exit(1); } for(i=0;i

66、息錯(cuò)誤\n",datafile); exit(1); } printf("序號(hào)\t姓名\t密碼\t權(quán)限\n"); while(fread(&show,sizeof(huiyuan),1,fp)!=0) printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.ps,show.power); fclose(fp); } 9、會(huì)員模塊 Void show() { FILE *fp; book tmps,s[size],show,temp; char name[9],datafile[40]="book"; int recnumber,i,result=0; begin: printf("請輸入要瀏覽的圖書名稱:"); scanf("%s",name); fp=fopen(datafi

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!