




版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度城市安全設(shè)施拆遷補償合同
- 2025年度離婚協(xié)議書:離婚協(xié)議書中的共同債務(wù)處理及擔保責任
- 二零二五年度購房借款合同(含房產(chǎn)維修責任)
- 二零二五年度農(nóng)村田畝租賃與農(nóng)業(yè)品牌建設(shè)合同
- 2025年中國水解酪蛋白粉市場調(diào)查研究報告
- 二零二五年度主播與健身機構(gòu)合作合同
- 2025年度股東向公司提供無息借款及數(shù)字化轉(zhuǎn)型合作協(xié)議
- 酒店餐飲部服務(wù)員二零二五年度勞動權(quán)益保障合同
- 標準個人抵押借款合同(2025年度)智能家居貸款合同范本
- 2025年度餐廳消費積分兌換服務(wù)合同
- 2025年幼兒園膳食工作計劃
- 《基于二維激光SLAM的AGV導(dǎo)航系統(tǒng)設(shè)計》
- 藥劑學(xué)第9版課件:第一章-緒論
- 《下載-綜合布線》課件
- 電化學(xué)儲能系統(tǒng)測試操作方法
- (高清版)DB43∕T 1588.28-2019 小吃湘菜 第28部分:武岡空餅
- 第六單元 共同面對的全球性問題 知識清單
- 老年病科重點??平ㄔO(shè)
- 工程投標文件范本完整版
- 小學(xué)二年級開學(xué)家長會課件2024-2025學(xué)年
- 語文跨學(xué)科合作:語文與數(shù)學(xué)的融合
評論
0/150
提交評論