圖書(shū)管理系統(tǒng)程序代碼_第1頁(yè)
圖書(shū)管理系統(tǒng)程序代碼_第2頁(yè)
圖書(shū)管理系統(tǒng)程序代碼_第3頁(yè)
圖書(shū)管理系統(tǒng)程序代碼_第4頁(yè)
圖書(shū)管理系統(tǒng)程序代碼_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1/43#include<stdio.h>#include<string.h>#include<stdlib.h>#defineSIZE(structbooklist*)malloc(sizeof(structbooklist))//建立已借閱圖書(shū)信息結(jié)構(gòu)體structborrow{charborbook_num[10];charborbook_name[22];charreturn_time[15];charstu_num[15];charstu_name[15];structborrow*next;//建立預(yù)借圖書(shū)信息結(jié)構(gòu)體structprebor_stu{charprebook_num[10];charprestu_num[15];structprebor_stu*next;//建立圖書(shū)結(jié)構(gòu)體structbooklist{charnum[10];charname[22];charzuozhe[15];charleibie[10];charpub_time[10];charprice[10];charcondition[10];structbooklist*next;structbooklist*create(void);/*創(chuàng)建圖書(shū)信息鏈表*/structborrow*borrow_creat(structbooklist*head);//創(chuàng)建已借閱圖書(shū)信息鏈表stulisttxt2/43structprebor_stu*prebor_creat(void);//創(chuàng)建預(yù)借閱圖書(shū)信息鏈表voidprintf1_(structbooklist*);//輸出單個(gè)基本圖書(shū)的數(shù)據(jù)voidstore(structbooklist*head);/*保存鏈表中的圖書(shū)信息到文件booklist.txt*/voidprintfb1_(structborrow*);//輸出單個(gè)借出圖書(shū)的部分?jǐn)?shù)據(jù)voidprintfb_(structborrow*p);//輸出單個(gè)借出圖書(shū)的數(shù)據(jù)voidprintfp1_(structprebor_stu*);//輸出單個(gè)被預(yù)借出圖書(shū)的部分?jǐn)?shù)據(jù)voidprintfp_(structprebor_stu*);//輸出單個(gè)被預(yù)借出圖書(shū)的數(shù)據(jù)voidprintf_(structbooklist*,structborrow*,structprebor_stu*);/*2---輸出鏈表中的圖書(shū)信structbooklist*load(void);//5---從文件讀入圖書(shū)信息structbooklist*num_paixu(structbooklist*);structbooklist*price_paixu(structbooklist*);4---按編號(hào)排序//3---按價(jià)格順序排序intkcnum(structbooklist*head);//6---統(tǒng)計(jì)庫(kù)存數(shù)voidchaxun1_(structbooklist*,structborrow*,structprebor_stu*);//7---查詢(xún)圖書(shū)的編號(hào)圖書(shū)的信息,并輸出voidchaxun2_(structbooklist*,structprebor_stu*,structborrow*);//7---按作者查詢(xún)信息并輸出voidchaxun3_(structbooklist*,structprebor_stu*,structborrow*);//7---查詢(xún)某類(lèi)別圖書(shū)信息并自動(dòng)輸出voidchaxun4_(structborrow*,prebor_stu*,structbooklist*);//7---按學(xué)號(hào)查詢(xún)借閱信息structbooklist*shanchu(structbooklist*,structborrow*,structprebor_stu*);//9---刪除數(shù)據(jù)structborrow*shanchu2_(structborrow*,structborrow*);//刪除一個(gè)structborrow結(jié)構(gòu)體的數(shù)據(jù)structprebor_stu*shanchu3_(structprebor_stu*,structprebor_stu*);//刪除一個(gè)structprebor_stu結(jié)構(gòu)體的數(shù)據(jù)3/43voidxiugai(structbooklist*,structborrow*,structprebor_stu*);//10---修改數(shù)據(jù)voidborstore(structborrow*borrow_head);//保存已借閱圖書(shū)信息到文件borrowlist.txt//重新保存修改后的預(yù)借閱信息到文件prebor_stulist.txt(全部覆蓋)voidprestore(structprebor_stu*pre_head);structborrow*borload(void);//從文件提取信息創(chuàng)建已借閱圖書(shū)源信息鏈表structbooklist*charu(structbooklist*head,structborrow*borrow_head);//8---將圖書(shū)的數(shù)據(jù)到順序排放的鏈表中,且插入后也是順序排放的structbooklist*scanf1_(void);//輸入單個(gè)圖書(shū)源數(shù)據(jù)voidexchange(structbooklist*,structbooklist*);//交換兩個(gè)結(jié)構(gòu)體內(nèi)的內(nèi)容structborrow*tianjia1_(structborrow*borrow_head,structbooklist*p);//添加一個(gè)structborrow結(jié)構(gòu)體的數(shù)據(jù)intmain(void){intn,n1,x,k=0,flag,flag1,x1;charch;structbooklist*head=NULL;//圖書(shū)信息鏈表頭指針structborrow*borrow_head=NULL;//已借閱圖書(shū)信息鏈表頭指針structprebor_stu*pre_head=NULL;//預(yù)借圖書(shū)信息鏈表頭指針flag1=0;x=x1=1;while(x){systemcls");printf("*************************************************************************printf("*>>>>>>>>>>>>>歡迎使用君寧圖書(shū)管理系統(tǒng)<<<<<<<<<<<<<<<4/43能據(jù)printf("*0---退出系統(tǒng)能據(jù)入數(shù)據(jù)*\n");存數(shù)fntfntf1---錄入數(shù)據(jù)2---輸出信息3---按價(jià)格排序4---按編號(hào)排序10---修改數(shù)據(jù)6---統(tǒng)計(jì)庫(kù)7---查詢(xún)功8---增加數(shù)9---刪除數(shù)據(jù)printf("**************************************************************************\n");printf("請(qǐng)選擇功能:");scanf("%d",&n);getchar();switch(n){case0---退出系統(tǒng){x=0;printf("*******謝謝使用君寧圖書(shū)管理系統(tǒng)!******\n");printf("******歡迎下次使用!******\n");}case1://1---錄入數(shù)據(jù){while(x1){systemcls);printf("*******歡迎使用君寧圖書(shū)信息錄入系統(tǒng)*******\n");ntftftf0---放棄錄入1---錄入圖書(shū)源信息2---錄入借出圖書(shū)信息3---錄入預(yù)借圖書(shū)信息printf("********祝您使用愉快printf("請(qǐng)選擇功能:");scanf("%d",&n1);**\n");********\n");5/43getchar();switch(n1){case:{x1=0;}case1:{head=create();/*創(chuàng)建圖書(shū)信息鏈表*/printf保存到文件booklist.txt!...(Y/N):");ch=getchar();if(ch=='y'||ch=='Y')toreheadgetchar();}case{if(head==NULL){printf("請(qǐng)先錄入圖書(shū)源信息!\n");getchar();}{borrow_head=borrow_creat(head);//創(chuàng)建已借閱圖書(shū)信息鏈表printf("是否將源圖書(shū)信息保存到文件borrowlisttxt!...(Y/N):");ch=getchar();if(ch=='y'||ch=='Y')borstoreborrowheadgetchar();}}case6/43{if(head==NULL){printf("請(qǐng)先錄入圖書(shū)源信息!\n");getchar();}{flag=pre_creat(head);if(flag==1)printf("沒(méi)有錄入預(yù)借圖書(shū)信息!\n\n");if(flag==2)pre_head=prebor_creat();getchar();}}default:{printf("輸入錯(cuò)誤指示!\n\n");//創(chuàng)建預(yù)借閱圖書(shū)信}}}}case//2---輸出信息{if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}{printf_(head,borrow_head,pre_head);}}case3://3---按價(jià)格排序{7/43if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}{head=price_paixu(head);printf("是否將排序后的源圖書(shū)信息保存到文件booklist.txt!...(Y/N):");ch=getchar();if(ch=='y'||ch=='Y')eheadgetchar();}}case//4---按編號(hào)排序{if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}ehead=num_paixu(head);printf("是否將排序后的源圖書(shū)信息保存到文件booklist.txt!...(Y/N):");ch=getchar();if(ch=='y'||ch=='Y')eheadgetchar();}}case5://11---從文件讀取數(shù)據(jù){headload);if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();8/43}{borrow_head=borload();鏈表pre_head=prebor_creat();getchar();}//從文件提取信息創(chuàng)建已借閱圖書(shū)源信息//創(chuàng)建預(yù)借閱圖書(shū)信息鏈表}case//6---統(tǒng)計(jì)庫(kù)存數(shù){if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}{k=kcnum(head);printf("總共有%3d本圖書(shū)!\n\n",k);getchar();}}case7://7---查詢(xún)信息{if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}{while(x1){ystemclsprintf("*******歡迎使用君寧圖書(shū)信息查詢(xún)系統(tǒng)*******\n");printf"******0---退出查詢(xún)*****\n");printf*****---按編號(hào)*\n");printf*2---按作者nprintf*****3---按類(lèi)別*\n");printf("******4---按學(xué)號(hào)******\n");printf("********祝您使用愉快********\n");printf("******************\n");printf("********************\n");printf("請(qǐng)選擇功能:");scanf("%d",&n1);getchar();switchn1){se{x1=0;}case1:{chaxun1_(head,borrow_head,pre_head);getchar();}case{chaxun2_(head,pre_head,borrow_head);getchar();}case{chaxun3_(head,pre_head,borrow_head);getchar;}9/4310/43e{chaxun4_(borrow_head,pre_head,head);getchar;}default:{printf("輸入指示有誤!\n\n");}}}}x1=1;}case:{if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}{head=charu(head,borrow_head);printf圖書(shū)信息保存到文件booklist.txt!...(Y/N):");ch=getchar();if(ch=='y'||ch=='Y')toreheadgetchar();}}case9://9---刪除數(shù)據(jù){if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}{head=shanchu(head,borrow_head,pre_head);borrow_head=borload();pre_head=prebor_creat();}}case10://10---修改數(shù)據(jù){if(head==NULL){printf("請(qǐng)先錄入圖書(shū)信息!\n");getchar();}{xiugai(head,borrow_head,pre_head);borrow_head=borload();getchar();}}default:{printf("輸入錯(cuò)誤指示,請(qǐng)重新輸入!");getchar();}}}}11/4312/43/*創(chuàng)建圖書(shū)源信息信息鏈表*/structbooklist*create(void){structbooklist*head,*tail,*p;charnum[10],name[22],zuozhe[15],leibie[10],pub_time[10],price[10],condition[10];head=tail=p=NULL;printf("當(dāng)輸入圖書(shū)編號(hào)為0時(shí)結(jié)束信息輸入\n");printf("請(qǐng)輸入圖書(shū)編號(hào):");gets(num);while(strcmp(num,"0")!=0){Eprintf("請(qǐng)輸入書(shū)名:");gets(name);printf("請(qǐng)輸入作者:");gets(zuozhe);printf("請(qǐng)輸入類(lèi)別:");gets(leibie);printf("請(qǐng)輸入出版時(shí)間:");gets(pub_time);printf("請(qǐng)輸入價(jià)格:");gets(price);printf("請(qǐng)輸入借閱情況:");gets(condition);printfn);strcpy(p->num,num);strcpy(p->name,name);strcpy(p->zuozhe,zuozhe);strcpy(p->leibie,leibie);strcpy(p->pub_time,pub_time);strcpy(p->price,price);strcpy(p->condition,condition);p->next=NULL;if(head==NULL)headptail->next=p;tail=p;printf("請(qǐng)輸入圖書(shū)編號(hào):");gets(num);}printf("圖書(shū)源信息已建立鏈條!\n");ead}//創(chuàng)建已借閱圖書(shū)源信息鏈表structborrow*borrow_creat(structbooklist*head){structbooklist*p;structborrow*borrow_head,*p1,*tail;borrow_head=p1=tail=NULL;for(p=head;p!=NULL;p=p->next){p1=(structborrow*)malloc(sizeof(structborrow));if(strcmp(p->condition,"借出")==0){printf("創(chuàng)建借出信息:\n");strcpy(p1->borbook_num,p->num);strcpy(p1->borbook_name,p->name);getchar();printf("借閱編號(hào)為%s的圖書(shū)的借閱信息:\n",p->num);printf("請(qǐng)輸入應(yīng)歸還時(shí)間:");gets(p1->return_time);printf("請(qǐng)輸入學(xué)生學(xué)號(hào):");gets(p1->stu_num);printf("請(qǐng)輸入學(xué)生姓名:");gets(p1->stu_name);13/4314/43printfn");p1->next=NULL;if(borrow_head==NULL)borrow_head=p1;tail->next=p1;tail=p1;}}printf("成功創(chuàng)建已借出信息鏈表!\n\n");getchar();returnborrow_head;}//保存已借閱圖書(shū)信息到文件borrowlist.txtvoidborstore(structborrow*borrow_head){pstructborrow*p;if((fp=fopen("borrowlist.txt","w"))==NULL){printf("error!\n");it}p=borrow_head;while(p!=NULL){fprintf(fp,"%16s%26s%16s%16s%16s\n",p->borbook_num,p->borbook_name,p->ntimep->stu_num,p->stu_name);pp->next;}fclose(fp);printf("文件成功保存到borrowlist.txt中!\n");getchar();}//從文件提取信息創(chuàng)建已借閱圖書(shū)源信息鏈表15/43structborrow*borload(void){structborrow*p,*tail,*head;phead=p=tail=NULL;if((fp=fopen("borrowlist.txt","r"))==NULL){printf("文件borrowlist.txt打開(kāi)失敗!\n");getchar();it}while(!feof(fp)){p=(structborrow*)malloc(sizeof(structborrow));fscanf(fp,"%16s%26s%16s%16s%16s\n",p->borbook_num,p->borbook_name,p->ntimep->stu_num,p->stu_name);if(head==NULL)headptail->next=p;tail=p;}tail->next=NULL;fclose(fp);printf("已成功從文件borrowlist.txt提取信息創(chuàng)建已借閱圖書(shū)源信息!\n");ead}//錄入預(yù)借圖書(shū)信息并將信息存入文件prebor_stulist.txtintpre_creat(structbooklist*head){structbooklist*b;structprebor_stu*p;chara[10],c[15];intn,x=1,flag=1;pp=(structprebor_stu*)malloc(sizeof(structprebor_stu));getchar();while(x){printf("請(qǐng)輸入要預(yù)借閱的圖書(shū)編號(hào):");gets(a);while((strcmp(b->num,a)!=0)&&b->next!=NULL){b=b->next;}if(strcmp(b->num,a)!=0){printf("沒(méi)有找到編號(hào)為%s的圖書(shū)!\n",a);printf("輸入--0結(jié)束錄入!(輸入其他數(shù)字繼續(xù)錄入...)\n\n");printf("請(qǐng)選擇功能:");scanf("%d",&n);getchar();if(n==0){x=0;}getchar();}{printf("請(qǐng)輸入學(xué)號(hào):");getscstrcpy(p->prebook_num,a);strcpy(p->prestu_num,c);if((fp=fopen("prebor_stulist.txt","a+"))==NULL){printf("error!\n");16/43xit}fprintf(fp,"%16s%16s\n",p->prebook_num,p->prestu_num);fclose(fp);flag=2;printf("輸入--0結(jié)束錄入!(輸入其他數(shù)字繼續(xù)錄入...)\n\n");printf("請(qǐng)選擇功能:");scanf("%d",&n);getchar();if(n==0){x=0;getchar();}}}lag}//重新保存修改后的預(yù)借閱信息到文件prebor_stulist.txt(全部覆蓋)voidprestore(structprebor_stu*pre_head){structprebor_stu*p;pppre_head;if((fp=fopen("prebor_stulist.txt","w"))==NULL){printf("error!\n");it}while(p!=NULL){fprintf(fp,"%16s%16s\n",p->prebook_num,p->prestu_num);pp->next;}fclose(fp);17/43printf("文件成功保存到prebor_stulist.txt中!\n");getchar();}//從文件prebor_stulist.txt創(chuàng)建預(yù)借閱圖書(shū)信息鏈表structprebor_stu*prebor_creat(void){structprebor_stu*p,*tail,*head;phead=p=tail=NULL;if((fp=fopen("prebor_stulist.txt","r"))==NULL){printf("文件prebor_stulist.txt打開(kāi)失敗!\n");getchar();}while(!feof(fp)){p=(structprebor_stu*)malloc(sizeof(structprebor_stu));fscanf(fp,"%16s%16s\n",p->prebook_num,p->prestu_num);if(head==NULL)headptail->next=p;tail=p;}tail->next=NULL;fclose(fp);printf("已從文件prebor_stulist.txt成功讀取并建立預(yù)借閱圖書(shū)信息!\n");getchar();ead}/*2---保存鏈表中的圖書(shū)信息到文件booklist.txt*/18/4319/43voidstore(structbooklist*head){pstructbooklist*p;if((fp=fopen("booklist.txt","w"))==NULL){printf("error!\n");it}while(p!=NULL){fprintf(fp,"%16s%26s%16s%16s%16s%16s%16s\n",p->num,p->name,p->zuozhe,p->leibie,p->pub_time,p->price,p->condition);pp->next;}fclose(fp);printf("文件成功保存到booklist.txt中!\n");getchar();}//輸入單個(gè)圖書(shū)源數(shù)據(jù)structbooklist*scanf1_(void){structbooklist*p;Eprintf("請(qǐng)輸入圖書(shū)編號(hào):");gets(p->num);printf("請(qǐng)輸入書(shū)名:");gets(p->name);printf("請(qǐng)輸入作者:");gets(p->zuozhe);printf("請(qǐng)輸入類(lèi)別:");gets(p->leibie);printf("請(qǐng)輸入出版時(shí)間:");gets(p->pub_time);printf("請(qǐng)輸入價(jià)格:");gets(p->price);printf("請(qǐng)輸入借閱情況:");20/43gets(p->condition);rnp}//輸出單個(gè)圖書(shū)的數(shù)據(jù)voidprintf1_(structbooklist*p){printf("編號(hào):");puts(p->num);printf("書(shū)名:");puts(p->name);printf作者:");puts(p->zuozhe);printf("類(lèi)別:");puts(p->leibie);printf("出版時(shí)間:");puts(p->pub_time);printf("價(jià)格:");puts(p->price);printf("借閱情況:");puts(p->condition);}//輸出單個(gè)借出圖書(shū)的部分?jǐn)?shù)據(jù)voidprintfb1_(structborrow*p){printf("應(yīng)歸還時(shí)間:");puts(p->return_time);printf("借閱學(xué)生學(xué)號(hào):");puts(p->stu_num);printf("借閱學(xué)生姓名:");puts(p->stu_name);}//輸出單個(gè)借出圖書(shū)的數(shù)據(jù)voidprintfb_(structborrow*p){printf("圖書(shū)編號(hào):");21/43puts(p->borbook_num);printf("書(shū)名:");puts(p->borbook_name);printf("應(yīng)歸還時(shí)間:");puts(p->return_time);printf("借閱學(xué)生學(xué)號(hào):");puts(p->stu_num);printf("借閱學(xué)生姓名:");puts(p->stu_name);}//輸出單個(gè)被預(yù)借出圖書(shū)的部分?jǐn)?shù)據(jù)voidprintfp1_(structprebor_stu*p){printf("預(yù)借圖書(shū)的學(xué)生學(xué)號(hào):");puts(p->prestu_num);}//輸出單個(gè)被預(yù)借出圖書(shū)的數(shù)據(jù)voidprintfp_(structprebor_stu*p){printf("圖書(shū)編號(hào):");puts(p->prebook_num);printf("預(yù)借閱圖書(shū)的學(xué)生學(xué)號(hào):");puts(p->prestu_num);}/*3---輸出鏈表中的圖書(shū)信息*/voidprintf_(structbooklist*head,structborrow*borrow_head,structprebor_stu*pre_head){structbooklist*p;structborrow*b;structprebor_stu*pre;intx=1,n;p=head;b=borrow_head;pre=pre_head;while(x==1){systemcls");printf("*******歡迎使用君寧圖書(shū)信息輸出系統(tǒng)*******\n");0---退出1---輸出圖書(shū)源信息2---輸出借出圖書(shū)信息3---輸出預(yù)借借圖書(shū)信息printf("********祝您使用愉快********\n");printf("請(qǐng)選擇功能:");scanf("%d",&n);getchar();switchn{se{x=0;}case1:{if(head!=NULL){printf("圖書(shū)源信息如下:\n");printfpprintfnn);p=p->next;}while(p!=NULL);}getchar();}case{if(borrow_head==NULL)22/4323/43{getchar();}{printf("借出圖書(shū)信息如下:\n");printfbbprintfnn);b=b->next;}while(b!=NULL);}getchar();}case{if(pre_head==NULL){getchar();getchar();}{printf("預(yù)借借圖書(shū)信息如下:\n");printfppre);printf\n\n");pre=pre->next;}while(pre!=NULL);24/43}getchar();}default:{getchar();}}}}//11---從文件讀入圖書(shū)信息structbooklist*load(void){structbooklist*p,*tail,*head;phead=p=tail=NULL;if((fp=fopen("booklist.txt","r"))==NULL){printf("文件booklist.txt打開(kāi)失敗!\n");getchar();it}while(!feof(fp)){Efscanf(fp,"%16s%26s%16s%16s%16s%16s%16s\n",p->num,p->name,p->zuozhe,p->leibie,p->pub_time,p->price,p->condition);if(head==NULL)headptail->next=p;tail=p;}tail->next=NULL;fclose(fp);printf("已成功讀取文件booklist.txt,建立源圖書(shū)信息鏈表!\n");ead}//4---按編號(hào)排序并輸出structbooklist*num_paixu(structbooklist*head){structbooklist*p,*p1,*tail;pNULL;tail=SIZE;for(p=head;p->next!=NULL;p=p->next){for(p1=p->next;p1!=NULL;p1=p1->next){if(strcmp(p->num,p1->num)>0){exchange(tail,p1);exchange(p1,p);exchangep,tail);}}}printf("圖書(shū)已按編號(hào)排序成功,具體信息如下:\n");for(p=head;p!=NULL;p=p->next){printf(p);printfn);}ead}//3---按價(jià)格排序structbooklist*price_paixu(structbooklist*head){structbooklist*p,*p1,*tail;25/4326/43pNULL;tail=SIZE;for(p=head;p->next!=NULL;p=p->next){for(p1=p->next;p1!=NULL;p1=p1->next){if(strcmp(p->price,p1->price)>0){exchange(tail,p1);exchange(p1,p);exchangep,tail);}}}printf("圖書(shū)已按價(jià)格排序成功,具體信息如下:\n");for(p=head;p!=NULL;p=p->next){printf(p);printfn);}ead}---統(tǒng)計(jì)庫(kù)存數(shù)intkcnum(structbooklist*head){structbooklist*p;for(p=head;p!=NULL;p=p->next)urni}//7---按編號(hào)查詢(xún)信息并輸出voidchaxun1_(structbooklist*head,structborrow*borrow_head,structprebor_stuead{27/43chara[10];structbooklist*p;structborrow*b;structprebor_stu*p1;intxx;p=head;x1=x2=0;printf("請(qǐng)輸入要查詢(xún)的圖書(shū)編號(hào):");gets(a);while((strcmp(p->num,a)!=0)&&p->next!=NULL){p=p->next;}if(strcmp(p->num,a)!=0)printf("沒(méi)有找到編號(hào)為%s的圖書(shū)!\n",a);{for(b=borrow_head;b!=NULL;b=b->next){if(strcmp(b->borbook_num,a)==0){x1=1;printf("您要查詢(xún)的書(shū)已借出,其具體信息如下:\n");printfb1_(b);//輸出單個(gè)借出圖書(shū)的數(shù)據(jù)printf(p);}}for(p1=pre_head;p1!=NULL;p1=p1->next){if(strcmp(p1->prebook_num,a)==0){}}x2=1;printf("您要查詢(xún)的書(shū)已預(yù)借,其具體信息如下:\n");printfp1_(p1);//輸出單個(gè)被預(yù)借出圖書(shū)的數(shù)據(jù)printf(p);if(x1==0&&x2==0){printf("此書(shū)未被預(yù)借!\n\n");printf("您要查詢(xún)的圖書(shū)信息如下:\n");28/43printf_(p);}}}//7---按作者查詢(xún)信息voidchaxun2_(structbooklist*head,structprebor_stu*pre_head,structborrowrrowhead{chara[10];structbooklist*p;structborrow*b;structprebor_stu*pre;intflag=1,x1;printf("請(qǐng)輸入要查詢(xún)的圖書(shū)的作者:");gets(a);for(p=head;p!=NULL;p=p->next){if(strcmp(p->zuozhe,a)==0){if(flag==1){printf("您查詢(xún)的%s的所有圖書(shū)信息如下:\n\n",a);flag=-1;}printf_(p);for(b=borrow_head;b!=NULL;b=b->next){if(strcmp(b->borbook_num,p->num)==0){printfb1_(b);}}x1=0;for(pre=pre_head;pre!=NULL;pre=pre->next){29/43if(strcmp(pre->prebook_num,p->num)==0){printf("此書(shū)已被%s學(xué)號(hào)的學(xué)生預(yù)借!\n",pre->prestu_num);x1=1;}}if(x1==0){printf("此書(shū)未被預(yù)借!\n");x1=1;}printf("\n\n");}}if(flag==1)printf("沒(méi)有找到您要查詢(xún)的的圖書(shū)信息!\n\n");}//7---查詢(xún)某類(lèi)別圖書(shū)信息并自動(dòng)輸出voidchaxun3_(structbooklist*head,structprebor_stu*pre_head,structborrowrrowhead{chara[10];structbooklist*p;structprebor_stu*pre;structborrow*b;intflag=1,x1;printf("請(qǐng)輸入要查詢(xún)的圖書(shū)的類(lèi)別:");gets(a);for(p=head;p!=NULL;p=p->next){if(strcmp(p->leibie,a)==0){if(flag==1){printf("您查詢(xún)的%s的所有圖書(shū)信息如下:\n\n",a);30/43flag=-1;}printf_(p);for(b=borrow_head;b!=NULL;b=b->next){if(strcmp(b->borbook_num,p->num)==0){printfb1_(b);}}x1=0;for(pre=pre_head;pre!=NULL;pre=pre->next){if(strcmp(pre->prebook_num,p->num)==0){printf("此書(shū)已被%s學(xué)號(hào)的學(xué)生預(yù)借!\n",pre->prestu_num);x1=1;}}if(x1==0){printf("此書(shū)未被預(yù)借!\n");x1=1;}printf("\n\n");}}if(flag==1)printf("沒(méi)有找到您要查詢(xún)的的圖書(shū)信息!\n\n");}//7---按學(xué)號(hào)查詢(xún)圖書(shū)借閱信息并自動(dòng)輸出voidchaxun4_(structborrow*borrow_head,structprebor_stu*pre_head,structbooklist*head){//建立圖書(shū)編號(hào)結(jié)構(gòu)體structbook_num{charbooknum[10];structbook_num*next;structprebor_stu*p;structborrow*b;structbooklist*p2;chara[15];ij=0;structbook_num*bnumhead1,*bnumhead2,*tail,*p1;bnumhead1=bnumhead2=tail=p1=NULL;printf("請(qǐng)輸入學(xué)生學(xué)號(hào):");gets(a);for(p=pre_head;p!=NULL;p=p->next){if(strcmp(p->prestu_num,a)==0){p1=(structbook_num*)malloc(sizeof(structbook_num));strcpy(p1->booknum,p->prebook_num);if(bnumhead1==NULL)bnumhead1=p1;tail->next=p1;tail=p1;p1->next=NULL;}}for(b=borrow_head;b!=NULL;b=b->next){if(strcmp(b->stu_num,a)==0){j++;p1=(structbook_num*)malloc(sizeof(structbook_num));31/4332/43strcpy(p1->booknum,b->borbook_num);if(bnumhead2==NULL)bnumhead2=p1;tail->next=p1;tail=p1;p1->next=NULL;}}if(i==0&&j==0)printf("沒(méi)有您要查詢(xún)學(xué)生的借閱信息!");{ifj!=0){printf("該生一共借了%d本書(shū),其借閱書(shū)的信息如下:\n",j);for(p1=bnumhead2;p1!=NULL;p1=p1->next){for(p2=head;p2!=NULL;p2=p2->next){if(strcmp(p1->booknum,p2->num)==0){printf(p2);if(strcmp(p2->condition,"借出")==0){for(b=borrow_head;b!=NULL;b=b->next)if(strcmp(b->borbook_num,p2->num)==0)printfb1_(b);}rintfn}}}}ifi!=0){printf("該生一共預(yù)借借了%d本書(shū),其借閱書(shū)的信息如下:\n",i);for(p1=bnumhead1;p1!=NULL;p1=p1->next){33/43for(p2=head;p2!=NULL;p2=p2->next){if(strcmp(p1->booknum,p2->num)==0){printf(p2);if(strcmp(p2->condition,"借出")==0){for(b=borrow_head;b!=NULL;b=b->next)if(strcmp(b->borbook_num,p2->num)==0)printfb1_(b);}rintfn}}}}}}---刪除數(shù)據(jù)structbooklist*shanchu(structbooklist*head,structborrow*borrow_head,structprebor_stud{structbooklist*p1,*p2;structborrow*b;structprebor_stu*p;chara[10];p1=p2=head;printf("請(qǐng)輸入要?jiǎng)h除的圖書(shū)編號(hào):");gets(a);while((strcmp(p1->num,a)!=0)&&p1->next!=NULL){pp;p1=p1->next;}if(strcmp(p1->num,a)!=0)printf("沒(méi)有找到要?jiǎng)h除的圖書(shū)信息!\n");elseif(p1==head){head=p1->next;printf("刪除成功!\n");eheadfor(b=borrow_head;b!=NULL;b=b->next){if(strcmp(b->borbook_num,a)==0)borrow_head=shanchu2_(borrow_head,b);}for(p=pre_head;p!=NULL;p=p->next){if(strcmp(p->prebook_num,a)==0)pre_head=shanchu3_(pre_head,p);}}{p2->next=p1->next;printf("刪除成功!\n");eheadfor(b=borrow_head;b!=NULL;b=b->next){if(strcmp(b->borbook_num,a)==0)borrow_head=shanchu2_(borrow_head,b);}for(p=pre_head;p!=NULL;p=p->next){if(strcmp(p->prebook_num,a)==0)pre_head=shanchu3_(pre_head,p);}}ead}//刪除一個(gè)structborrow結(jié)構(gòu)體的數(shù)據(jù)structborrow*shanchu2_(structborrow*borrow_head,structborrow*p){structborrow*p1,*p2;p1=p2=borrow_head;while(strcmp(p1->borbook_num,p->borbook_num)!=0){34/43pp;p1=p1->next;}if(p1==borrow_head){borrow_head=p1->next;borstoreborrowhead}{p2->next=p1->next;storeborrowhead}getchar();returnborrow_head;}//添加一個(gè)structborrow結(jié)構(gòu)體的數(shù)據(jù)structborrow*tianjia1_(structborrow*borrow_head,structbooklist*p){structborrow*p1,*p2;p1=borrow_head;p2=(structborrow*)malloc(sizeof(structborrow));while(p1->next!=NULL){p1=p1->next;}strcpy(p2->borbook_num,p->num);strcpy(p2->borbook_name,p->name);printf("借閱編號(hào)為%s的圖書(shū)的借閱信息:\n",p->num);printf("請(qǐng)輸入應(yīng)歸還時(shí)間:");gets(p2->return_time);\printf("請(qǐng)輸入學(xué)生學(xué)號(hào):");gets(p2->stu_num);printf("請(qǐng)輸入學(xué)生姓名:");gets(p2->stu_name);p1->next=p2;35/4336/43p2->next=NULL;borstore(borrow_head);returnborrow_head;}//刪除一個(gè)structprebor_stu結(jié)構(gòu)體的數(shù)據(jù)structprebor_stu*shanchu3_(structprebor_stu*pre_head,structprebor_stu*p){structprebor_stu*p1,*p2;p1=p2=pre_head;while(strcmp(p1->prebook_num,p->prebook_num)!=0){pp;p1=p1->next;}if(p1==pre_head){pre_head=p1->next;rehead}{p2->next=p1->next;rehead}getchar();urnprehead}//10---修改數(shù)據(jù)voidxiugai(structbooklist*head,structborrow*borrow_head,structprebor_stu*pre_head){chara[10];intk,n,x=1;structbooklist*p;structborrow*b;structprebor_stu*pre;while(x){systemcls");printf("請(qǐng)輸入要修改的圖書(shū)的編號(hào):");getsa;while((strcmp(p->num,a)!=0)&&p->next!=NULL){p=p->next;}if(strcmp(p->num,a)!=0){printf("沒(méi)有找到要?jiǎng)h除的圖書(shū)信息!\n");}{printf("*******歡迎使用君寧圖書(shū)修改系統(tǒng)*****\n");printf("********printf("*******printf("******printf("*****printf****printf("********printf("********printf("********printf("********0---放棄修改1---修改編號(hào)2---修改書(shū)名3---修改作者4---修改類(lèi)別5---修改出版時(shí)間6---修改價(jià)格7---修改借閱狀態(tài)8---修改全部********\n");******\n");**\n");***\n");n");******\n");******\n");******\n");******\n");printf("************祝您使用愉快************\n");printf("請(qǐng)選擇功能:");scanf("%d",&k);getchar();switch(k){case0:{37/4338/43x=0;}case1:{printf("請(qǐng)輸入新編號(hào):");gets(p->num);printf("修改成功!\n");if(strcmp(p->condition,"借出")==0){for(b=borrow_head;b!=NULL;b=b->next)if(strcmp(b->borbook_num,a)==0){strcpy(b->borbook_num,p->num);borstoreborrowhead}}for(pre=pre_head;pre!=NULL;pre=pre->next){if(strcmp(pre->prebook_num,a)==0){strcpy(pre->prebook_num,p->num);reprehead}}getchar();}case2:{printf("請(qǐng)輸入新書(shū)名:");gets(p->name);printf("修改成功!\n");getchar();}case3:{printf("請(qǐng)輸入新作者:");gets(p->zuozhe);39/43printf("修改成功!\n");getchar();}case{getchar();printf("請(qǐng)輸入新類(lèi)別:");gets(p->leibie)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論