版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
年4月19日c語言程序設(shè)計報告圖書管理系統(tǒng)文檔僅供參考中國地質(zhì)大學本科生課程論文封面課程名稱c語言課程設(shè)計教師姓名樊媛媛本科生姓名本科生學本科生專業(yè)所在院系類別:日期:課程設(shè)計評語對課程論文的評語:平時成績:課程論文成績:總成績:評閱人簽名:注:1、無評閱人簽名成績無效;2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;3、如有平時成績,必須在上面評分表中標出,并計算入總成績。目錄課程設(shè)計評語 2目錄 31.課程論文題目 42.程序設(shè)計思路 43.功能模塊圖 54.數(shù)據(jù)結(jié)構(gòu)設(shè)計 55.算法設(shè)計 66.程序代碼 137.程序運行結(jié)果 228.編程中遇到的困難及解決方法 259.總結(jié)心得及良好建議 2610.致謝 261.課程論文題目圖書管理系統(tǒng)2.程序設(shè)計思路根據(jù)要求,圖書管理系統(tǒng)以文本文件存放在文件中,故需要提供文件的輸入、輸出等操作;還需要保持記錄以進行刪除,查詢,借書,還書,退出,添加等等操作;另外還有鍵盤式旋轉(zhuǎn)菜單以實現(xiàn)功能選擇模塊。3.功能模塊圖圖書管理系統(tǒng)圖書管理系統(tǒng)數(shù)據(jù)輸入查詢數(shù)據(jù)添加刪除還書借書系統(tǒng)功能模塊圖4.數(shù)據(jù)結(jié)構(gòu)設(shè)計先寫主函數(shù)main(),然后設(shè)計個功能選項,用switch選擇,然后進入不同模塊,進行不同選擇,實現(xiàn)不同功能。每個圖書信息設(shè)置一個結(jié)構(gòu)體,將輸入信息存入文件,提供查詢功能,還有刪除功能以及借書還書功能。每運行一功能后都返回主界面,方便再次選擇,還有設(shè)置退出模塊,方便退出。5.算法設(shè)計刪除main()刪除main()sr()sc()cx()js()jsh()hs()先定義結(jié)構(gòu)體數(shù)組structbooks,然后設(shè)置主界面,主界面出現(xiàn)6個功能選項,分別是輸入sr()、借書js()、還書hs()、刪除sc()、退出tc()、查詢cx().各模塊設(shè)計如下:輸入模塊sr(),先調(diào)用文件eup,對其進行讀取,然后增加,再對其進行保存和調(diào)用。其中結(jié)構(gòu)體只輸入tsmc圖書名稱,tsbh圖書編號,dj單價,zz作者,然后自動生成,czzt存在狀態(tài),姓名xm,學號xh,性別xb.查詢模塊cx(),有選項圖書編號和圖書名稱,然后選擇,用if選擇,然后用for循環(huán)查找,當輸入名稱與文件中的名稱相同時,便顯示此信息。刪除模塊就是在查找功能的圖書后,選擇刪除,將strcpy將s[i+1]的值賦給s[i]。借出模塊也是在查詢的基礎(chǔ)上,若s[i]的存在狀態(tài)為已借出,則顯示已借出,無法再借,若未借出,則將s[i]的存在狀態(tài)czzt變?yōu)橐呀璩?,然后輸入姓名,學號,性別,最后顯示出已借出。還書模塊就是在查詢的基礎(chǔ)上,若s[i]的存在狀態(tài)為未借出,則無法歸還,若借出,則將存在狀態(tài)變?yōu)槲唇璩?,然后自動將姓名,學號,性別變?yōu)槌跏贾?。退出模塊使flag=1,而在main就有boolflag且main中已令main=0.這樣就實現(xiàn)了退出功能。其中若輸入超過選項值后,都會顯示輸入錯誤,請重新輸入。若字符錯誤,程序就直接出現(xiàn)錯誤了。6.程序代碼#include<stdio.h>#include<windows.h>#include<string.h>#include<conio.h>#defineM100structbooks{ chartsmc[12]; inttsbh; floatdj; charzz[12]; charczzt[12]; charxm[12]; charxb[12]; intxh;}s[M];intN;boolflag;intmain(){ intsele; flag=0; sele=1; voidsr(); voidcx(); voidsc(); voidjs(); voidhs(); voidtc(); voidjsh(); //system("tsgl"); printf("\n\n"); printf("************************\n"); printf("1:輸入2:查詢3:刪除\n"); printf("4:借書5:還書0:退出\n"); printf("************************\n"); while(1) { printf("\n\n請輸入功能序號:"); scanf("%d",&sele); if(sele>=0&&sele<=5) { switch(sele) { case1:sr();break; case2:cx();break; case3:sc();break; case4:js();break; case5:hs();break; case0:jsh();break; } if(flag) break; printf("\n\n"); printf("************************\n"); printf("1:輸入2:查詢3:刪除\n"); printf("4:借書5:還書0:退出\n"); printf("************************\n"); } else { printf("輸入錯誤請再次輸入|\n\n"); printf("\n\n"); printf("************************\n"); printf("1:輸入2:查詢3:刪除\n"); printf("4:借書5:還書0:退出\n"); printf("************************\n"); } printf("\n\n讓任意鍵繼續(xù)\n"); }//wr_file();}/******主函數(shù)***//*********輸入*********/voidsr(){intn,i;N=0; printf("可輸入的書本數(shù):"); scanf("%d",&n); N=n+N; printf("請輸入相關(guān)信息:\n"); for(i=1;i<=n;i++) { printf("圖書名稱:"); scanf("%s",s[N-n-1+i].tsmc); printf("圖書編號:"); scanf("%d",&s[N-n-1+i].tsbh); printf("單價:"); scanf("%f",&s[N-n-1+i].dj); printf("作者:"); scanf("%s",&s[N-n-1+i].zz); strcpy(s[N-n-1+i].czzt,"未借出"); strcpy(s[N-n-1+i].xm,"無"); }}/********查詢**********/voidcx(){ inti,j[100]={-1},d,k,t=0; charm[20]; printf("查詢:"); printf("1:圖書名稱2:圖書編號"); printf("\n\n請輸入查詢選項:"); scanf("%d",&k); if(k==1) { printf("請輸入圖書名稱:"); scanf("%s",m); for(i=0;i<N;i++) if(strcmp(m,s[i].tsmc)==0) { j[t]=i; t=t+1; } } elseif(k==2) { printf("請輸入圖書編號:"); scanf("%d",&d); for(i=0;i<N;i++) if(d==s[i].tsbh) { j[t]=i; t++; } } if(j[0]==-1&&t==0) printf("沒有找到!\n"); if(j[0]!=-1&&t!=0) { printf("\t圖書名稱\t圖書編號\t單價\t作者\t存在狀態(tài)\t借書人姓名\t性別\t學號\n"); for(i=0;i<t;i++) printf("\t%s\t%d\t%f\t%s\t%s\t%s\t%s\t%d", s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh); }}/********刪除模塊*********/voidsc(){ inti,d,k,t=0; charms[20]; intja=-1; printf("查詢:"); printf("1:圖書名稱2:圖書編號"); printf("\n\n請輸入查詢選項:"); scanf("%d",&k); if(k==1) { printf("請輸入圖書名稱:"); scanf("%s",ms); for(i=0;i<N;i++) if(strcmp(ms,s[i].tsmc)==0) { ja=i; break; } } elseif(k==2) { printf("請輸入圖書編號:"); scanf("%d",&d); for(i=0;i<N;i++) if(d==s[i].tsbh) { ja=i; break; } } printf("確定刪除該圖書嗎?1表示Yes,其它No"); intp; scanf("%d",&p); if(p==1) printf("Congratulations,刪除成功||\n"); if(ja!=-1&&p) { N=N-1; for(i=ja;i<N;i++) { strcpy(s[i].tsmc,s[i+1].tsmc); s[i].tsbh=s[i+1].tsbh; s[i].dj=s[i+1].dj; strcpy(s[i].zz,s[i+1].zz); strcpy(s[i].czzt,s[i+1].czzt); strcpy(s[i].xm,s[i+1].xm); strcpy(s[i].xb,s[i+1].xb); s[i].xh=s[i+1].xh; } } elseif(ja==-1) printf("沒有找到!\n");}/**********借書模塊***********/voidjs(){ inti,j[100]={-1},d,k,t=0; charm[20]; printf("查詢:"); printf("1:圖書名稱2:圖書編號"); printf("\n\n請輸入查詢選項:"); scanf("%d",&k); if(k==1) { printf("請輸入圖書名稱:"); scanf("%s",&m); for(i=0;i<N;i++) if(strcmp(m,s[i].tsmc)==0) { j[t]=i; t=t+1; } } elseif(k==2) { printf("請輸入圖書編號:"); scanf("%d",&d); for(i=0;i<N;i++) if(d==s[i].tsbh) { j[t]=i; t++; } } if(j[0]==-1&&t==0) printf("沒有找到!\n"); strcpy(s[j[i]].czzt,"已借出"); printf("此書已借出\n"); if(j[0]!=-1&&t!=0&&s[j[i]].czzt=="未借出") { printf("%s%d%f%s%s%s%s%d", s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh); } printf("1:確定借閱2:退出\n"); scanf("%d",&k); switch(k) { case1:printf("請輸入學號:\n"); scanf("%d",&s[j[i]].xh); printf("請輸入姓名:\n"); scanf("%s",&s[j[i]].xm); printf("請輸入性別:\n"); scanf("%s",&s[j[i]].xb); strcpy(s[j[i]].czzt,"已借出");printf("已借出,按任意鍵繼續(xù)\n"); //getch(); case2:break; }}/*************還書模塊***************/voidhs(){ inti,j[100]={-1},d,k,t=0; charm[20]; printf("查詢:"); printf("1:圖書名稱2:圖書編號"); printf("\n\n請輸入查詢選項:"); scanf("%d",&k); if(k==1) { printf("請輸入圖書名稱:"); scanf("%s",&m); for(i=0;i<N;i++) if(strcmp(m,s[i].tsmc)==0) { j[t]=i; t++; break; } } elseif(k==2) { printf("請輸入圖書編號:"); scanf("%d",&d); for(i=0;i<N;i++) if(d==s[i].tsbh) { j[t]=i; t++; break; } } if(t==0) printf("沒有找到!\n"); else { printf("%s%f%s%s%s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能化窗戶安裝與維護安全協(xié)議書4篇
- 2025年度災(zāi)害預防慈善捐贈執(zhí)行合同范本4篇
- 二零二五版旅行社環(huán)保旅游推廣合作框架協(xié)議3篇
- 二零二五年度櫥柜安裝及家居安全檢測合同4篇
- 工業(yè)互聯(lián)網(wǎng)平臺核心技術(shù)與創(chuàng)新發(fā)展方案
- 2025年度個人綠色消費貸款展期服務(wù)合同4篇
- 小學數(shù)學課堂中的合作學習與互動實踐
- 職場安全教育如何保護老年員工的財產(chǎn)安全
- 二零二五年度房地產(chǎn)項目采購人員廉潔行為規(guī)范3篇
- 2025年度個人吊車租賃合同爭議解決及仲裁協(xié)議2篇
- 三年級下冊口算天天100題
- 國家中英文名稱及代碼縮寫(三位)
- 湖北十堰燃氣爆炸事故案例
- 人員密集場所消防安全培訓
- 液晶高壓芯片去保護方法
- 使用AVF血液透析患者的護理查房
- 拜太歲科儀文檔
- 2021年高考山東卷化學試題(含答案解析)
- 2020新譯林版高中英語選擇性必修一重點短語歸納小結(jié)
- GB/T 19668.7-2022信息技術(shù)服務(wù)監(jiān)理第7部分:監(jiān)理工作量度量要求
- 品管圈活動提高氧氣霧化吸入注意事項知曉率
評論
0/150
提交評論