亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 圖書管理系統.c

?? 計算機數據結構課程設計
?? C
字號:

//***********************
//圖書館管理系統
//***********************
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#define null 0
#define max 65536
static int n;

//*********************
// 圖書結構體
//*********************
typedef struct
{
	char num[10];               //書號
	char name[9];               //書名
	char addr[31];              //作者            
	int Nowcounter;             //現存量
	int Allcounter;             //總庫存量
}datatype;
datatype *x[max];              //定義兩個指針數組
datatype *p;


//*****************************
//圖書功能函數列表
//*****************************
void redo();                              //主遞歸函數
void creatlist(datatype *x[]);      //圖書建立函數        
int menu_select();                        //功能菜單函數
void  find(datatype *x[],int n);          //查找函數
void delnode(datatype *x[]);              //插入函數
void printlist(datatype *x[]);            //顯示函數
void jieyue(datatype *x[],int n);         //借閱函數
void guihuan(datatype *x[],int n);        //歸還函數
//*****************************
//主遞歸函數程序
//*****************************
void redo()
{ 
	int i=0,j,n1,k=0,flage;
	for( ; ;)
	{
	switch( menu_select())
		{
		case 1:                                  //選項1的實現
			printf("***********************\n");
			printf("*     圖書的建立   *\n");              
			printf("***********************\n");
			creatlist(x);
	        break;
		case 2:                                  //選項2的實現
			printf("***********************\n");
			printf("*   新圖書信息的添加  *\n");         
			printf("***********************\n");
            printf(" 插入的個數:");              
			scanf("%d",&n1);                      //輸入插入新圖書的個數
			for(i=0;i<n1;i++)
			{
				flage=0;
	            p=(datatype *)malloc(sizeof(datatype));   //分配一個節點空間
			    printf(" 書名: ");
			    scanf("%s",p->name);                      //輸入插入書的書名
				if(flage==0)                  
				{
				   for(j=0;j<n;j++)
				   {
                      if(strcmp(x[j]->name,p->name) == 0 )//調用比較函數查看書名是否已知
					  {
				         x[j]->Allcounter++;               
						 x[j]->Nowcounter++;
					     flage=1;
					  }
		            
				   }
				 
				  if(flage==0)                             
				  {
					  n++;
                      printf(" 第 %d 個圖書數據:\n",n);     //插入新的圖書
	                  p=(datatype *)malloc(sizeof(datatype));  
		              x[n-1]=p;
					  printf(" 書名:");                       
		              scanf("%s",x[n-1]->name);            //輸入書名
                      printf(" 編號:");
		              scanf(" %s",x[n-1]->num);            //輸入書號
		              printf(" 作者:");
		              scanf(" %s",x[n-1]->addr);           // 輸入作者名
		              printf(" 總庫存量: ");
		              scanf("%d",&x[n-1]->Allcounter);     //輸入總庫存量
		              x[n-1]->Nowcounter=x[n-1]->Allcounter;
				    }
				  }
			}
			break;
		case 3:
			printf("***********************\n");
			printf("*   圖書信息的查詢    *\n");       
			printf("***********************\n");
			find(x,n);
			break;
		case 4:
			printf("************************\n");
			printf("*    圖書信息的刪除    *\n");
			printf("************************\n");
			delnode(x);
			break;
		case 5:
			printf("************************\n");
			printf("*     圖書信息的顯示   *\n"); 
			printf("************************\n");
			printlist(x);
			break;
		case 6:
	     	printf("************************\n");
			printf("       圖書的借閱\n");
            printf("************************\n");
			jieyue(x,n);
			break;
		case 7:
	     	printf("************************\n");
			printf("       圖書的歸還\n");
	     	printf("************************\n");
		    guihuan(x,n);
			break;
		case 0:
			printf("\t  謝謝使用,再見! \n");
			return;
		}
	}
}

//*************************
//主函數程序                              
//*************************

void main ()
{
	redo();                                     //調用主遞歸函數
}

//*************************
//功能菜單函數                             
//*************************
int menu_select()
{
	int i;
	printf("   歡迎進入圖書管理系統!\n");
	printf("===========================\n");
	printf("   1. 圖書信息的采集\n");
	printf("   2. 新圖書的插入\n");
	printf("   3. 圖書信息的查詢\n");
	printf("   4. 圖書的刪除\n");
	printf("   5. 圖書的顯示\n");
    printf("   6. 圖書的借閱\n");
	printf("   7. 圖書的歸還\n");
	printf("   0. 退出管理系統\n");
	printf("===========================\n");
	printf("   請選擇0-7: ");
	scanf("%d",&i);
	while(i<0||i>7)
	{
		printf("\n\t輸入出錯,重選0-7: ");
		scanf("%d",&i);
	}
     return i;
}

//********************************
// 建立鏈表 圖書建造函數                            
//********************************
void  creatlist(datatype *x[])
{
	int i;
    printf(" 請輸入要建立圖書的個數:");
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		  printf(" 第 %d 個圖書數據:\n",i+1);
	      p=(datatype *)malloc(sizeof(datatype));   //分配一個節點空間
		  x[i]=p;
          printf(" 書名:");                          //輸入圖書各項內容
		  scanf("%s",x[i]->name);
          printf(" 編號:");
		  scanf(" %s",x[i]->num);
		  printf(" 作者:");
		  scanf(" %s",x[i]->addr);
		  printf(" 總庫存量: ");
		  scanf("%d",&x[i]->Allcounter);
		  x[i]->Nowcounter=x[i]->Allcounter;
	}

}



//**********************************
// 查找函數程序                                  
//*********************************
void  find(datatype *x[],int n)
{
	
	char num[10];
	char name[9];
	int t,i;
	printf("=================\n");                //輸出查找方式
	printf("  1.按編號查詢  \n");
	printf("  2.按書名查詢  \n");
	printf("=================\n");
	printf("  請選擇 : ");
    scanf("%d",&t);                              //輸入選擇信息
    if(t==1)                                     
	{
		printf(" 請輸入要查找者的編號: ");
		scanf("%s",num);                         //輸入書號                           
		for(i=0;i<n;i++)
		{
            if(strcmp(x[i]->num,num)==0)           //調用strcmp函數
			{                 
				printf(" 編號      書名      作者   現庫存量    總庫存量\n");             //輸出要查詢書的信息
				printf(" %-10s%-10s%-10s%-10d%-10d\n",x[i]->num,x[i]->name,x[i]->addr,x[i]->Nowcounter,x[i]->Allcounter);
			}
			else
				continue;
		}
	}
	else
	{
		printf("  請輸入要查詢的書名: ");
		scanf("%s",name);                      // 輸入書名
        for(i=0;i<n;i++)
			{
               if(strcmp(x[i]->name,name)==0)
			   {
	               printf("編號      書名      作者      現庫存量   總庫存量\n");                      //輸出要查詢書的信息
				   printf("  %-10s%-10s%-10s%-10d%-10d\n",x[i]->num,x[i]->name,x[i]->addr,x[i]->Nowcounter,x[i]->Allcounter);
			   }
			   else 
				   continue;
			 }
	} 
}

//******************************
//刪除函數程序
//******************************
void delnode(datatype *x[])
{
    char num1[10],name1[10];                //定義兩個字符數組
	int i,j,m=1,p;
	printf(" 1.按編號刪除\n");              //輸出選擇方式
	printf(" 2.按書名刪除\n");
	printf(" 3.返回\n");
	printf(" 請選擇:\n");
	scanf("%d",&p);                         //輸入選擇信息
	if(p>3||p<1)
	{
		printf(" 您的輸入有誤,請重新輸入!\n");
		scanf("%d",&p);                             //重新輸入選擇信息
	}
	switch(p)                                 //實現刪除程序
	{
	   case 1:
	       printf("  輸入要刪除書的編號:\n");
	       scanf(" %s",num1);
	       for(i=0;i<n;i++)
		   {

		       if(strcmp(x[i]->num,num1)==0)               //調用strcmp函數
			   {  
			        m=0;
			        n--;
		        	for(j=i;j<n;j++)
				       x[j]=x[j+1];                       //將該書信息刪除
	                printf(" 該書已刪除!\n");
			   }
		   }
	       if(m==1) 
	          printf(" 沒有這樣的的圖書\n");
	       break;
	   case 2:
		   printf("  輸入要刪除書的名字:\n");
		   scanf("%s",&name1);
		   for(i=0;i<n;i++)
		   {
			   if(strcmp(x[i]->name,name1)==0)             //調用strcmp函數
			   {
				   m=0;
				   n--;
				   for(j=i;j<n;j++)                         //將該書信息刪除
					   x[j]=x[j+1];
				   printf(" 該書已刪除!\n");
			   }
		   }
		   if(m==1)
			   printf(" 沒有這樣的的圖書\n");
	       break;
	   case 3:
		   break;
	   
	}
}
//////////////////////////
////借閱函數程序
/////////////////////////

void jieyue(datatype *x[],int n)
{
	int i,m=1,p;
	char name1[10],num1[10];                    //定義兩個字符數組
	printf(" 1.按名字查詢\n");                   //輸出選擇方式
	printf(" 2.按編號查詢\n");
	printf(" 3.返回\n");
	printf("  請選擇\n");
	scanf("%d",&p);                             //輸入選擇信息
	if(p>3||p<1)
	{
		printf(" 您的輸入有誤!\n");
		scanf("%d",&p);                            //重新輸入選擇信息
	}
	switch(p)                                        //實現查詢程序
	{
	case 1:
		printf(" 請輸入你要的書的名字!\n");
	    scanf("%s",&name1);                                     // 輸入書名           
	    for(i=0;i<n;i++)
		{
			if(strcmp(x[i]->name,name1)==0)                //調用strcmp函數
			{
				m=0;
			    if(x[i]->Nowcounter!=0)
					x[i]->Nowcounter--;
			    printf("  借書成功!\n");
	            if(x[i]->Nowcounter==0)
			    printf("  這本書已經沒有了 \n");
			}
		}
	    if(m==1)
			printf("  您要的書不存在!\n");
		break;
	case 2:
		printf("  請輸入你要的書的編號!\n");
	    scanf("%s",&num1);                                   // 輸入書號 
	    for(i=0;i<n;i++)
		{
			if(strcmp(x[i]->num,num1)==0)                //調用strcmp函數
			{
				m=0;
			    if(x[i]->Nowcounter!=0)
					x[i]->Nowcounter--;                    //現存書數量減1
			    printf(" 借書成功!\n");
	            if(x[i]->Nowcounter==0)
			    printf(" 這本書已經沒有了 \n");
			}
		}
	    if(m==1)
			printf(" 您要的書不存在!\n");
		break;
	case 3:
		break;
	}
}
///////////////////////
/////歸還程序
//////////////////////
void guihuan(datatype *x[],int n)
{
	int i,q,m=1;
	char name1[10],num1[10];                    //定義兩個字符數組 
	printf(" 1.按書名歸還\n");                   //輸出可選擇方式
    printf(" 2.按書號歸還\n");
	printf(" 3.返回\n");
	printf("  請選擇\n");
	scanf("%d",&q);                              //輸入選擇信息
	if(q>3||q<1)
	{
		printf("  您的輸入有誤!\n");
		scanf("%d",&q);                         //重新輸入選擇信息
	}
	switch(q)                                     //實現歸還程序
    {
	case 1:
	    printf(" 輸入歸還書的書名: ");
	    scanf("%s",&name1);                              // 輸入書名 
	    for(i=0;i<n;i++)
		{ 
		 if(strcmp(x[i]->name,name1)==0)
		 { 
			m=0;
			x[i]->Nowcounter++;
		 	printf("此書歸還成功!\n");
    	    printf("此書的存儲情況\n");
            printf("編號      書名      作者      現存量    總存量\n");
	        printf("===============================================\n");
		    printf(" %-10s%-10s%-10s%-10d%-10d\n",x[i]->num,x[i]->name,x[i]->addr,x[i]->Nowcounter,x[i]->Allcounter);
		    printf("===============================================\n");
		 }
		 if(strcmp(x[i]->name,name1)!=0)
			continue;
		}
	    if(m==1)
		  printf("此書不是圖書館的!\n");
		break;
	case 2:
		printf("輸入歸還書的書號\n");
        scanf("%s",&num1);                                       // 輸入書號
	    for(i=0;i<n;i++)
		{ 
		 if(strcmp(x[i]->num,num1)==0)
		 { 
			m=0;
			x[i]->Nowcounter++;                               //顯存書增加1
		 	printf("此書歸還成功!\n");
    	    printf("此書的存儲情況\n");
            printf("編號      書名      作者      現存量    總存量\n");
	        printf("==============================================\n");
		    printf(" %-10s%-10s%-10s%-10d%-10d\n",x[i]->num,x[i]->name,x[i]->addr,x[i]->Nowcounter,x[i]->Allcounter);
		    printf("==============================================\n");
		 }
		 if(strcmp(x[i]->num,num1)!=0)                           //調用strcmp函數                      
			continue;
		}
	    if(m==1)
		  printf("此書不是圖書館的!\n");
		break;
	case 3:
		break;
	}
}

//**************************************
// 輸出程序
//**************************************
void printlist(datatype *x[])
{
	int i;
    printf("編號      書名      作者      現存量      總存量\n");               //輸出圖書各項信息
	for(i=0;i<n;i++)
	{
		printf("  %-10s%-10s%-10s%-10d%-10d\n",x[i]->num,x[i]->name,x[i]->addr,x[i]->Nowcounter,x[i]->Allcounter);
	}
	printf("===============================================\n");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品网| 日本不卡一二三| 国产亚洲欧美在线| 欧美va亚洲va香蕉在线| 欧美日本高清视频在线观看| 欧美在线你懂得| 欧美精品在线一区二区三区| 91精品国产91热久久久做人人| 欧美一区二区在线观看| 日韩欧美一二三| 国产三级久久久| 国产精品久久久久久久午夜片| 亚洲人成伊人成综合网小说| 亚洲精品午夜久久久| 香蕉加勒比综合久久| 麻豆成人在线观看| 成人免费观看男女羞羞视频| 91丨porny丨国产入口| 欧美日韩不卡在线| 日韩精品在线看片z| 国产精品护士白丝一区av| 亚洲一区二区在线免费观看视频| 日本少妇一区二区| 粉嫩绯色av一区二区在线观看| 波多野结衣欧美| 欧美日韩国产另类一区| 精品国产伦一区二区三区免费| 中文av一区二区| 天堂一区二区在线免费观看| 国产精品一色哟哟哟| 91国偷自产一区二区开放时间| 欧美福利一区二区| 欧美国产成人精品| 三级亚洲高清视频| 国产成人精品免费视频网站| 欧美日韩在线播放三区四区| 久久久www免费人成精品| 亚洲激情在线播放| 国模大尺度一区二区三区| 欧美中文字幕亚洲一区二区va在线| 日韩午夜激情av| 夜夜嗨av一区二区三区网页| 国产精品一区二区免费不卡| 欧美日韩高清不卡| 日韩毛片在线免费观看| 国精产品一区一区三区mba视频| 欧美三级日韩在线| 国产精品视频观看| 韩国一区二区三区| 5566中文字幕一区二区电影| 亚洲三级在线免费| 国产传媒日韩欧美成人| 欧美一区在线视频| 香蕉加勒比综合久久| 91视频精品在这里| 国产精品免费久久| 国产高清不卡一区二区| 日韩欧美久久久| 天堂在线一区二区| 欧美日韩大陆在线| 亚洲高清不卡在线观看| 91黄色激情网站| 亚洲精品videosex极品| 色噜噜狠狠一区二区三区果冻| 国产精品欧美一级免费| 国产91精品露脸国语对白| 2021中文字幕一区亚洲| 国内外成人在线| 久久综合色8888| 国产麻豆欧美日韩一区| 日韩免费高清av| 美国三级日本三级久久99| 日韩免费一区二区| 天天免费综合色| 欧美福利电影网| 蜜臀va亚洲va欧美va天堂 | 国产亚洲一区二区三区在线观看| 一区二区三区四区不卡视频 | 又紧又大又爽精品一区二区| 国产成人精品午夜视频免费| 国产精品网站导航| 成人福利视频网站| 中文字幕日本不卡| 欧美自拍偷拍一区| 亚瑟在线精品视频| 精品国产髙清在线看国产毛片| 日韩和欧美一区二区三区| 欧美一区二区精品在线| 国产毛片精品一区| 成人欧美一区二区三区在线播放| 99久久精品国产毛片| 亚洲永久免费视频| 7777女厕盗摄久久久| 久久99最新地址| 中文成人综合网| 欧美在线|欧美| 美女在线视频一区| 国产亚洲欧洲997久久综合| 在线观看亚洲a| 欧美一级片在线观看| 久久精品视频网| 久久精品久久久精品美女| 欧美精品一区二区三区四区| 国产91高潮流白浆在线麻豆| 亚洲人成小说网站色在线 | 日本韩国一区二区三区| 舔着乳尖日韩一区| 国产婷婷一区二区| 欧美三级视频在线播放| 国产不卡免费视频| 亚洲国产美女搞黄色| 欧美成人高清电影在线| 91浏览器打开| 国产一区二区按摩在线观看| 亚洲美女视频在线| 精品国产髙清在线看国产毛片| 色综合天天综合网天天看片| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品毛片久久久久久| 日韩一二三四区| 日本韩国欧美一区| 国产精品一区二区在线观看不卡| 亚洲一级二级三级在线免费观看| 色综合 综合色| 成人性生交大片免费看中文| 久久精品国产一区二区三区免费看 | 午夜欧美电影在线观看| 日韩一区中文字幕| 久久蜜桃av一区二区天堂| 欧美日韩一区成人| 色琪琪一区二区三区亚洲区| 国产盗摄一区二区三区| 青娱乐精品视频在线| 午夜精品123| 亚洲自拍欧美精品| 综合色天天鬼久久鬼色| 国产人成亚洲第一网站在线播放| 91精品在线观看入口| 欧美日韩一区二区在线观看视频| 91在线一区二区| 成人精品视频一区二区三区| 国产精品一区二区黑丝| 蜜臀av一区二区在线观看| 日本美女一区二区三区| 亚洲成a人v欧美综合天堂 | 国产一区二区主播在线| 男女男精品网站| 日韩国产精品91| 午夜视频一区在线观看| 视频一区在线播放| 日韩av一二三| 久久精品99国产国产精| 久久成人免费日本黄色| 久久超级碰视频| 国产福利一区在线观看| 国产黄人亚洲片| 成人自拍视频在线观看| 不卡电影免费在线播放一区| 成人黄页在线观看| 色综合视频一区二区三区高清| 91欧美一区二区| 欧美视频一区二区三区| 欧美一区二区三区在线观看| 欧美一级欧美三级| 久久久久久久久99精品| 国产欧美一区二区三区在线看蜜臀| 久久精品人人做人人综合 | 国产校园另类小说区| 国产区在线观看成人精品 | 日韩欧美一区二区在线视频| 欧美不卡一区二区三区| 久久久av毛片精品| 中文字幕亚洲电影| 亚洲视频你懂的| 日韩激情视频在线观看| 国产精品中文有码| 日本韩国欧美在线| 日韩亚洲欧美一区| ㊣最新国产の精品bt伙计久久| 一区二区三区国产| 国产一区视频网站| 91丨porny丨蝌蚪视频| 欧美乱熟臀69xxxxxx| 欧美国产成人精品| 婷婷国产在线综合| 成人av手机在线观看| 欧美视频一区二区三区| 久久久亚洲精品一区二区三区| 亚洲欧洲在线观看av| 奇米精品一区二区三区在线观看| 国产aⅴ综合色| 欧美伦理电影网| 中文字幕一区二区三区乱码在线| 三级一区在线视频先锋| av电影天堂一区二区在线| 欧美本精品男人aⅴ天堂| 亚洲欧美日韩在线| 国产一区二三区好的| 91精品国产综合久久久久 | 欧美日韩一区二区在线观看视频 |