C語言課程設(shè)計報告—圖書信息管理系統(tǒng)_第1頁
C語言課程設(shè)計報告—圖書信息管理系統(tǒng)_第2頁
C語言課程設(shè)計報告—圖書信息管理系統(tǒng)_第3頁
C語言課程設(shè)計報告—圖書信息管理系統(tǒng)_第4頁
C語言課程設(shè)計報告—圖書信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言課程設(shè)計報告圖書信息管理系統(tǒng)設(shè)計55071-13陳杰20071001797指導(dǎo)老師:劉文中C語言程序設(shè)計編程實踐是學(xué)習(xí)C語言程序設(shè)計的一重要環(huán)節(jié),上機實習(xí)和課程設(shè)計是提高同學(xué)們程序設(shè)計能力的有效途徑,能夠使同學(xué)們初步掌握程序設(shè)計的基本方法和調(diào)試技能。學(xué)校安排上機時間有限,老師也只能教給我們一些方法,而我們自己需要投入很大的時間和精力來鍛煉。1、題目要求設(shè)計“圖書信息管理系統(tǒng)”要求:圖書信息包括:登錄號,書名,作者名,分類號,出版單位,出版時間,價格等。使之提供以下功能:(1)系統(tǒng)以菜單方式工作。(2) 圖書信息錄入功能。(圖書信息用文件保存)。(3) 圖書信息瀏覽功能。(4) 圖書信息查

2、詢功能。(5) 圖書信息的刪除和修改。2、分析:根據(jù)題目要求,應(yīng)當把圖書信息用結(jié)構(gòu)體形式輸入,再定義一個全局變量和文件指針進行整個程序的運行,然后把圖書信息送到文件中,所以應(yīng)該提供一個結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中需實現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來實現(xiàn);另外還需提供鍵盤式選擇菜單實現(xiàn)功能,在運行時達到所要目的。3、總體設(shè)計:根據(jù)題目要求,可以將系統(tǒng)分為六個模塊:(1) 管理員登錄系統(tǒng)模塊。(2) 菜單選擇模塊。(3) 圖書信息錄入功能模塊。(4) 圖書信息瀏覽功能。(5) 圖書信息查詢功能。(6) 圖書信息的刪除和修改。圖書信息管理系統(tǒng)4、

3、詳細設(shè)計:頭函數(shù)名:#include<stdio.h>#include<stdlib.h>#include<string.h>/*圖書信息結(jié)構(gòu)體*/*包括登錄號,書名,作者名,分類號,出版單位,structbookinf出版時間,價格等*/intnum;*charbname20;*charwnameio;*charcianumi4;*charpubcomio;*charpubtimeio;*floatprice;*登錄號書名作者名分類號出版單位出版時間價格;一管理員登錄系統(tǒng)模塊:(1)來到圖書信息管理系統(tǒng)頁面voidindex()charinput;prin

4、tf("nntttprintf("tttprintf("ttt*printf("*n").圖書信息管理系統(tǒng)n");*nnn").An");注釋:運行時直接進入這個頁面printf("t<按任意鍵進入>nt");input=getchar();FILE*fp;structmanagepswd;if(fp=fopen("password.txt","r")=NULL)printf("nnntCannotopenfile!nt")

5、;elsedoprintf("nnt請輸入管理員帳號:");scanf("%s",name);printf("nnt請輸入管理員密碼:");scanf("%s",password);fp=fopen("password.txt","r");fread(&pswd,sizeof(structmanage),1,fp);fclose(fp);w=strcmp(pswd.manage_name,name);k=strcmp(pswd.password,password);a

6、dm_servelist();while(w!=0|k!=0);adm_servelist();來到功能菜單頁面voidadm_servelist()voidbook_add();voidbook_view();voidchange();voiddel();voidbook_search();voidlogin();voidpwchange();intin;charinput;doprintf("nnnt-歡迎使用信息管理系統(tǒng)-");printf("nnt1.圖書信息錄入n");printf("t2.圖書信息瀏覽n");printf(

7、"t3.圖書信息查詢n");printf("t4.圖書信息刪除n");printf("t5.圖書信息修改n");printf("t6.退出管理模式n");printf("nt請選擇服務(wù)種類:");scanf("%d",&in);if(in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6)printf("nt沒有這項服務(wù)n");printf(&

8、quot;t按任意鍵重新選擇");input=getchar();while(in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6);switch(in)case 1: book_add();break;case 2: book_view();break;case 3: book_search();break;case 4: del();break;case 5: change();break;case 6: login();break;( 3) 圖書信息錄入功能模塊注釋 :

9、菜單列出的服務(wù)種類從 1 , 2, 3, 4, 5 , 6所對應(yīng)的功能進行選擇注釋 :選擇自己所需要后摁下數(shù)字鍵則 則進入此功能頁面voidbook_add()voidadm_servelist();voidbook_add();inti=0,j;FILE*fp;charinput;注釋:輸入的圖書信息structbookinfbooks;是通過文件進行structbookinfbook_taxis30;保存的printf("nnnt-請輸入圖書信息-nn");printf("t登錄號:");scanf("%d",&books

10、.num);printf("nt書名:");scanf("%s",books.bname);printf("nt作者名:");scanf("%s",books.wname);printf("nt分類號:");scanf("%s",books.clanum);printf("nt出版單位:");scanf("%s",books.pubcom);printf("nt出版時間:");scanf("%s"

11、,books.pubtime);printf("nt價格:");scanf("%f",&books.price);if(fp=fopen("book.txt","r")!=NULL)dofread(&book_taxisi,sizeof(structbookinf),1,fp);i=i+1;while(!feof(fp);fclose(fp);for(j=0;j<=i;j+)if(books.num=book_taxisj.num)printf("nnnt對不起,這個編號已經(jīng)使用過了

12、n");printf("t按任意鍵返回管理菜單");input=getchar();adm_servelist();break;if(fp=fopen("book.txt","r")=NULL)fp=fopen("book.txt","w");elsefclose(fp);fp=fopen("book.txt","a");fwrite(&books,sizeof(structbookinf),1,fp);fclose(fp);printf

13、("nnnt信息輸入完畢按任意鍵繼續(xù)n");input=getchar();adm_servelist();( 4) 圖書信息瀏覽功能模塊voidbook_view()voidadm_servelist();voidbook_view();intinp,i=0,n=0;FILE*fp;charinput;structbookinfbookview20;if(fp=fopen("book.txt","r")=NULL)n");printf("nnnt數(shù)據(jù)尚未初始化nnt請在管理菜單中增加圖書信息printf(&quo

14、t;nt<按任意鍵返回管理菜單>nt");input=getchar();adm_servelist();elsedofread(&bookviewi,sizeof(structbookinf),1,fp);i=i+1;while(!feof(fp);fclose(fp);doprintf("nt共有%d條記錄",i-1);printf("nnt登錄號:%dn",bookviewn.num);第6頁printf("nt書名:%sn",bookviewn.bname);printf("nt作者名:

15、%sn",bookviewn.wname);printf("nt分類號:%sn",bookviewn.clanum);printf("nt出版單位:%sn",bookviewn.pubcom);printf("nt出版時間:%sn",bookviewn.pubtime);printf("nt價格:%fn",bookviewn.price);printf("nnt1.上頁t2.下頁t3.回目錄n");printf("nt請選擇:");scanf("%d&qu

16、ot;,&inp);switch(inp)case 1:if(n=0)printf("nt已到達首頁nt按任意鍵重新選擇");input=getchar();elsen=n-1;break;case 2:if(n=i-2)printf("nt已到達最末頁nt按任意鍵重新選擇");input=getchar();elsen=n+1;break;case 3:adm_servelist();break;default:printf("nt沒有這項服務(wù)nt按任意鍵重新選擇");input=getchar();while(inp!=3

17、);( 5) 圖書信息修改與刪除功能模塊修改:voidchange(intx)intinp,i=0,j;voidbook_search();FILE*fp,*fp1;charinput;structbookinfbooks,book_taxis20;do?n");printf("nnnt注意:您確定要修改該記錄嗎printf("nt1.是t2.否n");printf("nt請輸入:");scanf("%d",&inp);if(inp!=1&&inp!=2)printf("nt對不起

18、沒有這項服務(wù)n");printf("t按任意鍵重新選擇nt");input=getchar();while(inp!=1&&inp!=2);if(inp=2)book_search();if(inp=1)printf("nnnt-請輸入圖書信息-nn");printf("t登錄號:");scanf("%d",&books.num);printf("nt書名:");scanf("%s",books.bname);printf("nt作

19、者名:");scanf("%s",books.wname);printf("nt分類號:");scanf("%s",books.clanum);printf("nt出版單位:");scanf("%s",books.pubcom);printf("nt出版時間:");scanf("%s",books.pubtime);printf("nt價格:");scanf("%f",&books.price);i

20、f(fp1=fopen("book.txt","r")!=NULL)dofread(&book_taxisi,sizeof(structbookinf),1,fp1);i=i+1;while(!feof(fp1);fclose(fp1);for(j=0;j<x;j+)if(books.num=book_taxisj.num)printf("nnnt對不起,這個編號已經(jīng)使用過了n");printf("t按任意鍵返回管理菜單");printf("0");input=getchar();

21、book_search();break;for(j=x+1;j<i-2;j+)if(books.num=book_taxisj.num)printf("nnnt對不起,這個編號已經(jīng)使用過了n");printf("1");printf("t按任意鍵返回管理菜單");input=getchar();book_search();break;book_taxisx=books;fp=fopen("book.txt","w");for(j=0;j<i-1;j+)fwrite(&book

22、_taxisj,sizeof(structbookinf),1,fp);fclose(fp);printf("nnt信息修改完成!按任意鍵返回");input=getchar();book_search();S刪除:voiddel(inty)charinput;FILE*fp;intinp,i=0,j;structbookinfbook_taxis20;voidbook_search();voidadm_servelist();doprintf("nnnt注意:您確定要刪除該記錄嗎?n");printf("nt1.是t2.否n");p

23、rintf("nt請輸入:");scanf("%d",&inp);if(inp!=1&&inp!=2)printf("nt對不起沒有這項服務(wù)n");printf("t按任意鍵重新選擇nt");input=getchar();while(inp!=1&&inp!=2);if(inp=2)book_search();if(inp=1)if(fp=fopen("book.txt","r")!=NULL)dofread(&book_ta

24、xisi,sizeof(structbookinf),1,fp);i=i+1;while(!feof(fp);fclose(fp);if(i>2)fp=fopen("book.txt","w");for(j=0;j<y;j+)fwrite(&book_taxisj,sizeof(structbookinf),1,fp);fclose(fp);fp=fopen("book.txt","a");for(j=y+1;j<i-1;j+)fwrite(&book_taxisj,sizeof(

25、structbookinf),1,fp);fclose(fp);elseremove("book.txt");printf("nnt記錄已刪除!nnt按任意鍵返回nt");input=getchar();adm_servelist();( 6) 圖書信息查詢功能模塊voidbook_search()voidadm_servelist();voidid_search();voidwr_search();voidbn_search();charinput;FILE*fp;intinp;if(fp=fopen("book.txt",&quo

26、t;r")=NULL)n");printf("nnnt數(shù)據(jù)尚未初始化nnt請在管理菜單中增加圖書信息printf("nt<按任意鍵返回管理菜單>nt");input=getchar();adm_servelist();elsedoprintf("nnnt1.按圖書登錄號查詢n");printf("nt2.按圖書作者查詢n");printf("nt3.按圖書名查詢n");printf("nt4.回到主菜單n");printf("nnt請選擇查詢類別:”);scanf("%d”,&inp)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論