版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年第二階段課程設(shè)計(jì)成果報(bào)告實(shí)訓(xùn)工程:程序設(shè)計(jì)技術(shù)課程設(shè)計(jì)學(xué)號(hào):姓名:專業(yè):實(shí)訓(xùn)日期:2021年6月27日至20指導(dǎo)教師:實(shí)訓(xùn)成績(jī):江西財(cái)經(jīng)大學(xué)信息管理學(xué)院?jiǎn)栴}概述通過我們所學(xué)到的C語(yǔ)言根底知識(shí),編寫一個(gè)程序?qū)崿F(xiàn)圖書館管理信息系統(tǒng)。并通過這次實(shí)訓(xùn),提高我們對(duì)C語(yǔ)言在實(shí)際應(yīng)用的了解。主要實(shí)現(xiàn)的功能有對(duì)圖書信息的處理、查找圖書、借書、還書和統(tǒng)計(jì)等。利用計(jì)算機(jī),讓讀者和圖書館管理人員都得到便利。系統(tǒng)目標(biāo)通過C語(yǔ)言程序設(shè)計(jì)編寫代碼,實(shí)現(xiàn)對(duì)圖書館的信息處理。主要功能為:添加圖書、刪除圖書、修改圖書信息、在顯示屏上顯示圖書信息、將圖書信息顯示在txt文檔中、按圖書編號(hào)查找圖書、按圖書名查找圖書、按圖書作者查找圖書、借書、還書、統(tǒng)計(jì)超期圖書數(shù)量、統(tǒng)計(jì)按期歸還率等。設(shè)計(jì)的過程及步驟1、需求分析隨著計(jì)算機(jī)的不斷普及,各個(gè)領(lǐng)域在不同程度上都利用計(jì)算機(jī)使工作更加高效的運(yùn)作,當(dāng)然圖書館也不例外!運(yùn)用計(jì)算機(jī)管理圖書館的信息,能更加高效便捷的完成圖書館的工作,不管是對(duì)讀者還是圖書館管理者都是非常有用的!圖書館的圖書信息非常龐大,人工的操作費(fèi)時(shí)又費(fèi)力。計(jì)算機(jī)的出現(xiàn)成功的解決了這一問題。圖書館管理人員只要將圖書信息輸入計(jì)算機(jī)中,并通過圖書館管理系統(tǒng)進(jìn)行有效的操作,讓計(jì)算機(jī)幫助我們完成更多的工作。2、設(shè)計(jì)文件結(jié)構(gòu)圖書信息文件〔book.red〕,主要存儲(chǔ)圖書的信息。圖書借還信息文件〔sircula.red〕,主要存儲(chǔ)讀者借書和還書的信息。索引是直接對(duì)圖書信息文件盒圖書借還信息文件進(jìn)行操作,實(shí)現(xiàn)索引的功能。3、設(shè)計(jì)系統(tǒng)功能圖〔根據(jù)需求分析結(jié)果和文件結(jié)構(gòu),應(yīng)用結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)設(shè)計(jì)功能結(jié)構(gòu)圖,如下列圖所示〕圖書管理信息系統(tǒng)創(chuàng)立文件信息圖書管理信息系統(tǒng)創(chuàng)立文件信息根本信息管理圖書流通管理圖書統(tǒng)計(jì)借書管理還書管理本月借出統(tǒng)計(jì)超期未還統(tǒng)計(jì)統(tǒng)計(jì)按期歸還率按圖書類別查詢按書名查詢按作者名查詢圖書查詢圖書管理信息系統(tǒng)圖書輸入與追加刪除圖書記錄修改圖書記錄顯示圖書信息借書統(tǒng)計(jì)報(bào)表4、函數(shù)設(shè)計(jì)〔詳細(xì)分析每一個(gè)子模塊的子功能,定義主要的子函數(shù)原型,并對(duì)每一個(gè)函數(shù)的功能加以說明〕voidchabook();//按圖書編號(hào)查找書voidscan();//輸入圖書圖書信息voidreadrec();//在顯示屏顯示圖書所有信息voidreadtxt();//打印報(bào)表,生成txt文檔顯示所有圖書信息voidaddbook();//增加圖書voiddeletebook();//刪除圖書voidchange();//修改圖書信息voidchabookm();//按圖書名查找圖書voidchabookw();//按圖書作者查找圖書voidchabookl();//按圖書類型查找圖書voidborrowbook();//借書voidbackbook();//還書voidchaoqi();//統(tǒng)計(jì)超期的圖書數(shù)量voidanqi();//統(tǒng)計(jì)按期歸還率實(shí)訓(xùn)成果主要的操作界面如下:1、系統(tǒng)主界面:2、查找圖書界面:3、圖書信息處理界面:4、借書還書和統(tǒng)計(jì):5、成功查找圖書:6、在顯示屏上輸出圖書信息:7、將圖書信息打印成txt文檔:8、借書:9、成功借書:10、還書:11、統(tǒng)計(jì)超期圖書冊(cè)數(shù):實(shí)訓(xùn)心得與體會(huì)在這短短的十天中,第一天完全不知道怎么開始,不知道一個(gè)比擬完整的程序應(yīng)該要包含什么要素。在老師和同學(xué)的幫助下才把一行行的代碼寫了出來。在我們編寫程序的過程中,把我們平時(shí)所學(xué)的知識(shí)都運(yùn)用到了!使我們對(duì)平時(shí)所學(xué)的知識(shí)得到了進(jìn)一步的穩(wěn)固,這是一次很好的鍛煉。分組可以讓我們遇到不懂的問題的時(shí)候能夠互相幫助,有利于我們學(xué)會(huì)團(tuán)結(jié)合作,相互學(xué)習(xí)。在編程的過程中,經(jīng)常會(huì)因?yàn)橐粋€(gè)小小的問題需要調(diào)試很久,有的問題是技術(shù)問題,這是我們的能力所限制的,但是有的問題是因?yàn)椴患?xì)心,沒有良好的編程習(xí)慣所導(dǎo)致的問題!所以在學(xué)習(xí)編程的過程中,不僅要學(xué)會(huì)怎么編程,更需要養(yǎng)成良好的編程習(xí)慣!在調(diào)試的過程中要細(xì)心和耐心的查找錯(cuò)誤!雖然大局部的功能都實(shí)現(xiàn)了,但是還是不能運(yùn)用到實(shí)際當(dāng)中,因?yàn)檫@個(gè)程序還不是很完善,不是一個(gè)非常健壯的程序,只有按正確的步驟才能完成操作!對(duì)于不熟悉此系統(tǒng)的人,就很難操作,但是我們的要求是為了在實(shí)際中使用!功能也不是很全面,還有待提高!當(dāng)最后終于把大局部功能都實(shí)現(xiàn)的時(shí)候,我們每一個(gè)人都很快樂!剛開始聽說要編寫這么大的一個(gè)程序的時(shí)候,覺得這是不可思議的,我們?cè)趺茨軐懗鰜砟?!但是?jīng)過將近十天的努力,我們還是做到了!通過十天左右的實(shí)訓(xùn),我們的收獲很多,要想成功的編寫一個(gè)程序,我們需要學(xué)習(xí)的東西還有很多。只有不斷增加我們的知識(shí),我們才能不斷的提高!附錄〔程序源代碼:程序要求符合格式標(biāo)準(zhǔn)。為了便于閱讀和理解,要求加上適當(dāng)?shù)淖⑨屨f明?!?include<stdio.h>#include<stdlib.h>#include<string.h>voidstart();voidmenu();voidpanduan();voidchabook();//按圖書編號(hào)查找書voidscan();//輸入圖書圖書信息voidreadrec();//在顯示屏顯示圖書所有信息voidreadtxt();//在txt文檔顯示所有圖書信息voidaddbook();//添加圖書信息voidchabookm();//按圖書名查找圖書voidchabookw();//按圖書作者查找圖書voidchabookl();//按圖書類型查找圖書voiddeletebook();//刪除圖書voidchange();//修改圖書信息voidborrowbook();//借書voidbackbook();//還書voidchaoqi();//統(tǒng)計(jì)超期的圖書數(shù)量voidanqi();//統(tǒng)計(jì)按期歸還率struct{ longbooknum;//圖書編號(hào) charbookname[100];//圖書名 charbooktype[100];//圖書類型 charwriter[100];//作者 charpublish[100];//出版社 intnumber;//圖書總冊(cè)數(shù) intyushu;//圖書余數(shù) intbiaoji; //標(biāo)記,作為判斷是否讀取的數(shù)據(jù)的標(biāo)志。為"1"那么讀取,為"0"那么不讀取。}book;struct{ longshuhao;//圖書書號(hào) charlenddate[10];//借書時(shí)間 charbackdate[10];//還書時(shí)間 charlimitdate[10];//應(yīng)還時(shí)間 charstudnum[8];//讀者學(xué)號(hào) charname[20];//讀者姓名 intchaoqi;//是否超期("0"表示不超期,"1"表示超期) intbiaoji;//標(biāo)記,作為判斷是否還書的標(biāo)志,為"1"那么表示沒有還書,為"0"表示此書已經(jīng)還了并刪除了記錄。}borrow;/*========================================================================================================================*/voidmain(){intj; printf("\n\n\n\n┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅\n"); printf("┇歡送進(jìn)入圖書管理信息系統(tǒng)┇\n"); printf("┇┇\n"); printf("┇對(duì)圖書信息進(jìn)行初始化請(qǐng)輸入1┇\n"); printf("┇┇\n"); printf("┇不對(duì)圖書信息進(jìn)行初始化請(qǐng)輸入0┇\n"); printf("┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅"); printf("\n請(qǐng)選擇:"); scanf("%d",&j); if(j==1) {scan();}start();menu();/*調(diào)用主菜單*/}/*===========================================================================================================================*/voidmenu()/*主菜單*/{ for(;;) { inta,b,c,d;printf("\n\n================================================================\n");printf("|☆請(qǐng)選擇所需要的操作:☆|\n"); printf("|☆☆|\n");printf("|☆\t0-----退出系統(tǒng)☆|\n");printf("|☆☆|\n"); printf("|☆\t1-----查找圖書☆|\n");printf("|☆☆|\n"); printf("|☆\t2-----對(duì)圖書信息進(jìn)行處理☆|\n");printf("|☆☆|\n"); printf("|☆\t3-----借書還書和統(tǒng)計(jì)☆|\n"); printf("================================================================\n");printf("\n請(qǐng)選擇:"); printf("\t"); scanf("%d",&a); if(a==0) { system("cls"); printf("\n\n\n\n\n\n☆☆☆☆--------歡送下次使用本系統(tǒng)!!!!--------☆☆☆☆\n\n\n\n\n\n");getchar();exit(0); } if(a==1) { system("cls");printf("\n\n================================================================\n");printf("|☆請(qǐng)選擇所需要的操作:☆|\n");printf("|☆☆|\n"); printf("|☆\t0-----退出系統(tǒng)☆|\n");printf("|☆☆|\n"); printf("|☆\t1-----按圖書編號(hào)查找書籍☆|\n");printf("|☆☆|\n");printf("|☆\t2-----按圖書名查找圖書☆|\n");printf("|☆☆|\n");printf("|☆\t3-----按圖書作者查☆|\n"); printf("================================================================\n");printf("\n請(qǐng)選擇:"); printf("\t"); scanf("%d",&b); switch(b)/*功能選擇*/ {case0:system("cls"); printf("\n\n\n\n\n\n☆☆☆☆--------歡送下次使用本系統(tǒng)!!!!--------☆☆☆☆\n\n\n\n\n\n");getchar();exit(0);case1:chabook();panduan();continue;case2:chabookm();panduan();continue;case3:chabookw();panduan();continue;default:printf("\n錯(cuò)誤!");exit(0); } } if(a==2) { system("cls");printf("\n\n================================================================\n");printf("|☆請(qǐng)選擇所需要的操作:☆|\n");printf("|☆☆|\n");printf("|☆\t0-----退出系統(tǒng)☆|\n");printf("|☆☆|\n"); printf("|☆\t1-----添加圖書☆|\n");printf("|☆☆|\n"); printf("|☆\t2-----刪除圖書記錄☆|\n"); printf("|☆☆|\n"); printf("|☆\t3-----修改圖書信息☆|\n");printf("|☆☆|\n"); printf("|☆\t4-----在顯示屏輸出圖書的信息☆|\n");printf("|☆☆|\n"); printf("|☆\t5-----將圖書信息輸出在txt文件中☆|\n"); printf("================================================================\n");printf("\n請(qǐng)選擇:"); printf("\t"); scanf("%d",&c);switch(c)/*功能選擇*/ { case0:system("cls"); printf("\n\n\n\n\n\n☆☆☆☆--------歡送下次使用本系統(tǒng)!!!!--------☆☆☆☆\n\n\n\n\n\n");getchar();exit(0);case1:addbook();panduan();continue;case2:deletebook();panduan();continue;case3:change();panduan();continue;case4:readrec();panduan();continue;case5:readtxt();panduan();continue;default:printf("\n錯(cuò)誤!");exit(0); } } if(a==3) {system("cls");printf("\n\n================================================================\n");printf("|☆請(qǐng)選擇所需要的操作:☆|\n");printf("|☆☆|\n"); printf("|☆\t0-----退出系統(tǒng)☆|\n");printf("|☆☆|\n"); printf("|☆\t1-----借書☆|\n");printf("|☆☆|\n"); printf("|☆\t2-----還書☆|\n"); printf("|☆☆|\n"); printf("|☆\t3-----統(tǒng)計(jì)超期圖書數(shù)量☆|\n"); printf("|☆☆|\n"); printf("|☆\t4-----統(tǒng)計(jì)按期歸還率☆|\n");printf("================================================================\n");printf("\n請(qǐng)選擇:"); printf("\t"); scanf("%d",&d);switch(d)/*功能選擇*/ {case0:system("cls"); printf("\n\n\n\n\n\n☆☆☆☆--------歡送下次使用本系統(tǒng)!!!!--------☆☆☆☆\n\n\n\n\n\n");getchar();exit(0); case1:borrowbook();panduan();continue; case2:backbook();panduan();continue; case3:chaoqi();panduan();continue; case4:anqi();panduan();continue;default:printf("\n錯(cuò)誤!");exit(0); } }if(a<0||a>3) { printf("\n錯(cuò)誤!請(qǐng)重新輸入:");exit(0); } }}/*=========================================================================================================*/voidstart()//系統(tǒng)首頁(yè){system("cls");printf("\n\n\n\n歡送使用圖書管理系統(tǒng)\n");printf("\n\n\n\n按enter鍵進(jìn)入系統(tǒng)...");getchar();system("cls");}voidpanduan(){ charch; for(;;) { printf("是否繼續(xù)進(jìn)行操作〔y/n〕:"); scanf("%c",&ch); if(ch=='n') {system("cls"); printf("\n\n\n\n\n\n☆☆☆☆--------歡送下次使用本系統(tǒng)!!!!--------☆☆☆☆\n\n\n\n\n\n"); getchar(); exit(0); } if(ch=='y') { system("cls"); break; } }}/*===============================================================================================================*/voidscan()//輸入圖書信息 {inti=1;struct{ longbooknum; charbookname[100]; charbooktype[100]; charwriter[100]; charpublish[100]; intnumber; intyushu; intbiaoji; }book[1000];FILE*fp; charnumchr[80],ch='y'; if((fp=fopen("book.rec","wb"))==NULL) { printf("cannotopenbook.rec.\n"); exit(0); } system("cls"); while(ch=='y'||ch=='Y') { printf("請(qǐng)輸入圖書名編號(hào)(注意:圖書編號(hào)為除1000的四位數(shù),首位不能為0):"); scanf("%ld",&book[i].booknum); printf("請(qǐng)輸入圖書名:"); scanf("%s",book[i].bookname); printf("請(qǐng)輸入類型:"); scanf("%s",book[i].booktype); printf("請(qǐng)輸入作者:"); scanf("%s",book[i].writer); printf("請(qǐng)輸入出版社:"); scanf("%s",book[i].publish); printf("請(qǐng)輸入總冊(cè)數(shù):"); scanf("%d",&book[i].number); printf("請(qǐng)輸入余數(shù):"); scanf("%d",&book[i].yushu); book[i].biaoji=1;fwrite(&book[i],sizeof(book[i]),1,fp); do { printf("Haveanotherbooks(y/n)?"); gets(numchr);ch=numchr[0]; } while(!(ch=='y'||ch=='n'||ch=='Y'||ch=='N')); }fclose(fp);}/*===============================================================================================================*/voidchabook()//按書籍編號(hào)查找書籍{ inti,j=1;FILE*fp; intbooknum; system("cls"); if((fp=fopen("book.rec","rb"))==NULL) {printf("cannotopenbook.tec.\n"); exit(0); } printf("\n\n\n請(qǐng)輸入圖書編號(hào):"); scanf("%ld",&booknum); for(i=1;j!=0;i++) {fread(&book,sizeof(book),1,fp); if(book.biaoji==0)continue; if(booknum==book.booknum) { printf("查找的圖書信息為:\n"); printf("┌───┬─────┬─────┬─────┬─────┬───┬───┐\n"); printf("│編號(hào)│圖書名│圖書類型│作者│出版社│總冊(cè)數(shù)│余數(shù)│\n"); printf("├───┼─────┼─────┼─────┼─────┼───┼───┤\n"); printf("│%6ld│%10s│%10s│%10s│%10s│%6d│%6d│\n",book.booknum,book.bookname,book.booktype,book.writer,book.publish,book.number,book.yushu);printf("└───┴─────┴─────┴─────┴─────┴───┴───┘\n\n"); j=0; } if(feof(fp)!=0) { printf("\n\n\n☆☆☆☆---------沒有找到所要查找的書籍!!--------☆☆☆☆\n\n\n\n\n"); break; } } fclose(fp);}/*===============================================================================================================*/voidreadrec()//輸出所有圖書的信息{FILE*fp; system("cls"); if((fp=fopen("book.rec","rb"))==NULL) {printf("cannotopenbook.rec.\n"); exit(0); } printf("\n\n圖書信息為:\n"); printf("┌───┬─────┬─────┬─────┬─────┬───┬───┐\n"); printf("│編號(hào)│圖書名│圖書類型│作者│出版社│總冊(cè)數(shù)│余數(shù)│\n"); while(fread(&book,sizeof(book),1,fp)==1) { if(book.biaoji==0)continue; printf("├───┼─────┼─────┼─────┼─────┼───┼───┤\n"); printf("│%6ld│%10s│%10s│%10s│%10s│%6d│%6d│\n",book.booknum,book.bookname,book.booktype,book.writer,book.publish,book.number,book.yushu); }printf("└───┴─────┴─────┴─────┴─────┴───┴───┘\n"); printf("\n"); fclose(fp);}/*===============================================================================================================*/voidaddbook()//輸入添加的圖書信息/ { FILE*fp; charnumchr[80],ch='y'; system("cls"); if((fp=fopen("book.rec","a"))==NULL) { printf("cannotopenbook.rec.\n"); exit(0); } while(ch=='y'||ch=='Y') { printf("請(qǐng)輸入圖書名編號(hào):"); scanf("%ld",&book.booknum); printf("請(qǐng)輸入圖書名:"); scanf("%s",book.bookname); printf("請(qǐng)輸入類型:"); scanf("%s",book.booktype); printf("請(qǐng)輸入作者:"); scanf("%s",book.writer); printf("請(qǐng)輸入出版社:"); scanf("%s",book.publish); printf("請(qǐng)輸入總冊(cè)數(shù):"); scanf("%d",&book.number); printf("請(qǐng)輸入余數(shù):"); scanf("%d",&book.yushu); book.biaoji=1; fwrite(&book,sizeof(book),1,fp); do { printf("Haveanotherbooks(y/n)?"); gets(numchr);ch=numchr[0]; } while(!(ch=='y'||ch=='n'||ch=='Y'||ch=='N')); }fclose(fp);}/*===============================================================================================================*/voidchabookm()//按書名查找書籍{FILE*fp; charname[100]; intj=1; system("cls"); if((fp=fopen("book.rec","r"))==NULL) {printf("cannotopenbook.rec.\n"); exit(0); } printf("請(qǐng)輸入圖書名:\n"); scanf("%s",name); while(fread(&book,sizeof(book),1,fp)==1) { if(book.biaoji==0) continue; if(strcmp(name,book.bookname)==0) { printf("┌───┬─────┬─────┬─────┬─────┬───┬───┐\n"); printf("│編號(hào)│圖書名│圖書類型│作者│出版社│總冊(cè)數(shù)│余數(shù)│\n"); printf("├───┼─────┼─────┼─────┼─────┼───┼───┤\n"); printf("│%6ld│%10s│%10s│%10s│%10s│%6d│%6d│\n",book.booknum,book.bookname,book.booktype,book.writer,book.publish,book.number,book.yushu);printf("└───┴─────┴─────┴─────┴─────┴───┴───┘\n\n"); j=0; } } if(j==1) printf("\n\n******沒有找到所要查找的書籍!!******\n\n\n\n\n"); fclose(fp); }/*===============================================================================================================*/voiddeletebook()//刪除圖書記錄{ intnum,i,j=1,t;FILE*fp; system("cls"); printf("請(qǐng)輸入要?jiǎng)h除圖書記錄的圖書編號(hào):");scanf("%ld",&num); if((fp=fopen("book.rec","r+b"))==NULL) {printf("打不開圖書信息文件!\n");exit(0); }for(i=1;j!=0;i++){fread(&book,sizeof(book),1,fp); if(book.biaoji==0) continue;if(num==book.booknum){ system("cls"); printf("\n\n\n\n\n═════════════════════════\n"); printf("║║\n"); printf("║確定刪除請(qǐng)輸入1║\n"); printf("║║\n"); printf("║取消刪除請(qǐng)輸入0║\n"); printf("║║\n"); printf("═════════════════════════\n"); printf("\n請(qǐng)輸入:"); scanf("%d",&t); if(t==1){ book.biaoji=0; fseek(fp,-(long)sizeof(book),1); fwrite(&book,sizeof(book),1,fp);system("cls"); printf("\n\n\n\n*********成功刪除!!!!*********\n\n\n\n\n"); j=0; } if(t==0) { system("cls"); printf("\n\n\n\n*********圖書沒有刪除!!返回主菜單!!********\n\n\n\n\n\n\n"); j=0; }} if(feof(fp)!=0) { printf("\n\n\n\n\n\n********沒有找到所要?jiǎng)h除的書籍!!返回主菜單!!********\n\n\n\n\n"); j=0; }} fclose(fp);}/*===============================================================================================================*/voidchange()//修改圖書信息{ intbianhao; FILE*fp; system("cls");if((fp=fopen("book.rec","r+b"))==NULL) {printf("cannotopenbook.rec.\n"); exit(0); } printf("請(qǐng)輸入所要修改的圖書編號(hào):");scanf("%d",&bianhao); for(;;) {fread(&book,sizeof(book),1,fp); if(book.biaoji==0)continue; if(bianhao==book.booknum) {fseek(fp,-(long)sizeof(book),1); printf("請(qǐng)輸入修改后的圖書信息:\n\n\n"); printf("請(qǐng)輸入圖書名編號(hào):"); scanf("%ld",&book.booknum); printf("請(qǐng)輸入圖書名:"); scanf("%s",book.bookname); printf("請(qǐng)輸入類型:"); scanf("%s",book.booktype); printf("請(qǐng)輸入作者:"); scanf("%s",book.writer); printf("請(qǐng)輸入出版社:"); scanf("%s",book.publish); printf("請(qǐng)輸入總冊(cè)數(shù):"); scanf("%d",&book.number); printf("請(qǐng)輸入余數(shù):"); scanf("%d",&book.yushu); book.biaoji=1;fwrite(&book,sizeof(book),1,fp); printf("\n修改成功!\n\n"); break; } if(feof(fp)!=0) {printf("沒有找到所要修改的書籍!!\n\n"); break; } } fclose(fp); }/*===============================================================================================================*/voidborrowbook()//借書系統(tǒng){FILE*fp1,*fp2;intt;longbianhao,shuhao; system("cls");if((fp1=fopen("borrow.rec","a+b"))==NULL) {printf("cannotopenborrow.rec"); exit(0); } printf("請(qǐng)輸入書號(hào)(注意:書號(hào)為七位數(shù),后四位為編號(hào)。):"); scanf("%ld",&shuhao); if((fp2=fopen("book.rec","r+b"))==NULL) {printf("cannotopenbook.rec"); exit(0); } bianhao=shuhao%10000; for(;;) { fread(&book,sizeof(book),1,fp2);if(book.biaoji==0) continue; if(bianhao==book.booknum) { printf("所借書的信息為:"); printf("\n圖書編號(hào)為:"); printf("%ld",book.booknum); printf("\n圖書名:"); puts(book.bookname);printf("\n類型:"); puts(book.booktype); printf("\n作者:");puts(book.writer); printf("\n出版社:"); puts(book.publish); printf("\n總冊(cè)數(shù):"); printf("%d",book.number); printf("\n\n余數(shù)為:"); printf("%d\n",book.yushu); printf("\n\n\n確定------1取消------0\n\n\n"); printf("請(qǐng)輸入:"); scanf("%d",&t); if(t==1)//判斷是否借書 {system("cls"); borrow.shuhao=shuhao; printf("請(qǐng)輸入借書時(shí)間(xxxx-xx-xx):"); scanf("%s",borrow.lenddate); printf("請(qǐng)輸入應(yīng)該還書的時(shí)間(xxxx-xx-xx):"); scanf("%s",borrow.limitdate); printf("請(qǐng)輸入讀者學(xué)號(hào):"); scanf("%s",borrow.studnum); printf("請(qǐng)輸入讀者姓名:"); scanf("%s",); borrow.chaoqi=0; borrow.biaoji=1; fwrite(&borrow,sizeof(borrow),1,fp1);book.yushu=book.yushu-1; fseek(fp2,-(long)sizeof(book),1); fwrite(&book,sizeof(book),1,fp2); printf("\n\n*****借書成功!*****\n\n"); break; } if(t!=1) { printf("\n\n\n\n\n\n\n******************返回主菜單!!!******************\n\n\n\n\n\n\n\n"); break; } } if(feof(fp2)!=0) { printf("\n\n*************書號(hào)錯(cuò)誤,沒有找到這本書,返回主菜單!!***************\n\n\n\n"); break; } } fclose(fp1); fclose(fp2);}/*===============================================================================================================*/voidbackbook()//還書系統(tǒng){ FILE*fp1,*fp2;longshuhao,bianhao; system("cls"); printf("請(qǐng)輸入所要還書的書號(hào)(注意:書號(hào)為七位數(shù),后四位為圖書編號(hào)):"); scanf("%ld",&shuhao);if((fp1=fopen("borrow.rec","r+b"))==NULL) { printf("cannotopenborrow.rec"); exit(0); } for(;;) {fread(&borrow,sizeof(borrow),1,fp1);if(borrow.biaoji==0) continue; if(shuhao==borrow.shuhao) { printf("請(qǐng)輸入還書時(shí)間〔xxxx-xx-xx〕:"); scanf("%s",borrow.backdate); borrow.biaoji=0; if(strcmp(borrow.backdate,borrow.limitdate)>0) borrow.chaoqi=1; else borrow.chaoqi=0; fseek(fp1,-(long)sizeof(borrow),1); fwrite(&borrow,sizeof(borrow),1,fp1); bianhao=shuhao%10000; if((fp2=fopen("book.rec","r+b"))==NULL) { printf("cannotopenbook.rec"); exit(0); } for(;;) { fread(&book,sizeof(book),1,fp2); if(bianhao==book.booknum) { book.yushu=book.yushu+1; fseek(fp2,-(long)sizeof(book),1); fwrite(&book,sizeof(book),1,fp2); printf("\n\n\n***********還書成功!!!**********\n\n\n\n\n"); fclose(fp2); break; } if(feof(fp2)!=0) { printf("\n\n****輸入錯(cuò)誤!!返回主菜單從新選擇需要的操作****\n\n"); break; } } break; } if(feof(fp1)!=0) { printf("\n\n***********書號(hào)錯(cuò)誤,沒有找到要還的書!!返回主菜單從新選擇需要的操作!!************\n\n\n\n\n\n"); break; } } fclose(fp1); }/*===============================================================================================================*/voidchaoqi(){ FILE*fp; intchao=0; if((fp=fopen("borrow.rec","r"))==NULL) { printf("cannotopenborrow.rec"); exit(0); } while(fread(&borrow,sizeof(borrow),1,fp)) {if(strcmp(borrow.backdate,borrow.limitdate)>0) chao=chao+1; } printf("\n\n\n超期的圖書冊(cè)數(shù)為:%d\n\n\n\n\n",chao); fclose(fp);}/*===============================================================================================================*/voidreadtxt()//輸出所有圖書的信息{FILE*fp1,*fp2; system("cls"); if((fp1=fopen("book.rec","rb"))==NULL) {printf("cannotopenbook.rec.\n"); exit(0); } if((fp2=fopen("biaoge.txt","w"))==NULL) {printf("cannotopenbiaoge.txt.\n"); exit(0); } fputs("\n\n圖書信息為:\n",fp2); fputs("┌────┬──────┬──────┬──────┬──────┬────┬────┐",fp2); fputs("\n",fp2); fputs("│圖書編號(hào)│圖書名│圖書類型│作者│出版社│總冊(cè)數(shù)│余數(shù)│",fp2); fputs("\n",fp2); while(fread(&book,sizeof(book),1,fp1)==1) { if(book.biaoji==0) continue; fputs("├────┼──────┼──────┼──────┼──────┼────┼────┤",fp2);fputs("\n",fp2); fputs("│",fp2); fprintf(fp2,"%8ld",book.booknum); fputs("│",fp2); fprintf(fp2,"%12s",book.bookname); fputs("│",fp2); fprintf(fp2,"%12s",book.booktype); fputs("│",fp2); fprintf(fp2,"%12s",book.writer); fpu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024資料員之資料員基礎(chǔ)知識(shí)高分題庫(kù)完整附答案詳解
- 2025年法院書記員考試試題及答案
- 安全員A證考試題庫(kù)檢測(cè)試題打印附答案詳解【基礎(chǔ)題】
- 燃?xì)獍踩O(jiān)測(cè)技術(shù)方案
- 2025年咨詢工程師試題預(yù)測(cè)試卷附參考答案詳解(典型題)
- 安全員A證考試過關(guān)檢測(cè)附參考答案詳解(b卷)
- 服務(wù)有限公司招聘39人考前自測(cè)高頻考點(diǎn)模擬試題參考答案詳解
- 2025法考必背卡片題庫(kù)及答案
- 安全員A證考試考前沖刺練習(xí)題庫(kù)提供答案解析及答案詳解參考
- 安全員A證考試考前沖刺試卷含答案詳解【b卷】
- 2026年春蘇教版新教材小學(xué)科學(xué)二年級(jí)下冊(cè)(全冊(cè))教學(xué)設(shè)計(jì)(附教材目錄P97)
- 2026年基因測(cè)序技術(shù)臨床應(yīng)用報(bào)告及未來五至十年生物科技報(bào)告
- 服裝銷售年底總結(jié)
- 文物安全保護(hù)責(zé)任書范本
- 2025公文寫作考試真題及答案
- DB64∕T 1279-2025 鹽堿地綜合改良技術(shù)規(guī)程
- 五金件外觀檢驗(yàn)標(biāo)準(zhǔn)
- 香精概論第四章-芳香療法課件
- 車輛考核制度6篇
- JJF 1487-2014超聲波探傷試塊校準(zhǔn)規(guī)范
- GB/T 39253-2020增材制造金屬材料定向能量沉積工藝規(guī)范
評(píng)論
0/150
提交評(píng)論