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

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

?? 圖書管理系統.c

?? 進制轉換可以進行2-36大小不等的轉換 歡迎廣大讀者使用!!!!
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

#define N 10
#define OK 1
#define ERROR 0
#define OVERFLLOW -2

typedef int status;

typedef struct
{
	int num;
	char name[20];
	//char borrowname[20];
	int borrownum;
	int btime[3];
	int ltime[3];
}reader;

typedef struct 
{
	int num;
	char name[20];
	char writer[20];
	int curremain;
	int sumremain;
}book;

typedef struct bookNode
{
	book bk;
	int length;
	struct bookNode *next;
}bookNode,*bookList;

typedef struct yonghuNode
{
	reader rd;
	int length;
	struct yonghuNode *next;
}yonghuNode,*yonghuList;

bookList bl;
yonghuList yl;


yonghuList InitListYonghu()  //初始化用戶
{
	yl=(yonghuNode *)malloc(sizeof(yonghuNode));
	if(!yl)
		exit(OVERFLLOW);
	yl->next=NULL;
	return yl;
}

bookList InitListBook()  // 初始化圖書
{
	bl=(bookNode *)malloc(sizeof(bookNode));
	if(!bl)
		exit(OVERFLLOW);
	bl->next=NULL;
	return bl;
}

status InsertbookList(bookList L,int i,book e)  // 加入圖書函數
{
	bookList p,s;
	int j=0;
	p=L;
    while(p&&j<i-1)
	{	
		p=p->next;
        ++j;
	}
    if(!p||j>i-1)
	{
		printf("出現錯誤!\n");
		return ERROR;
	}
    s=(bookNode *)malloc(sizeof(bookNode));
	s->bk.num=e.num;
	strcpy(s->bk.name,e.name);
	strcpy(s->bk.writer,e.writer);
	s->bk.curremain=e.curremain;
	s->bk.sumremain=e.sumremain;
	//s->bk=e;
	s->next=p->next;
	p->next=s;
	return OK;
}

status InsertyonghuList(yonghuList yl,int i,reader e)  // 加入用戶函數
{
	yonghuList p,s;
	int j=0;
	p=yl;
    while(p&&j<i-1)
	{	
		p=p->next;
        ++j;
	}
    if(!p||j>i-1)
	{
		printf("出現錯誤!\n");
		return ERROR;
	}
    s=(yonghuNode *)malloc(sizeof(yonghuNode));
	s->rd=e;
	s->next=p->next;
	p->next=s;
	return OK;
}

status Exitbook(int m)  // 判斷圖書是否存在
{
    bookList p;
	int flag=0;
	p=bl->next;
	while(p)
	{
		if(p->bk.num == m)
		{
			flag=1;
			return OK;
			break;
		}
		else
			p=p->next;
	} 
	if(!flag)
		return ERROR;
}

status AddBook(bookList L,book bk)  // 添加圖書
{
	bookList p;
	int j=1;
	p=L->next;
	while(p && j<=L->length)
	{
		if(p->bk.num<bk.num )
		{
			j++;
			p=p->next;
		}
		else
			break;
	} 
	if( j<=L->length )
	{
		if(!p)
		{
			printf("出現錯誤!\n");
			return ERROR;
		}
		if(p->bk.num==bk.num)
		{
			p->bk.curremain+=bk.curremain;
			p->bk.sumremain+=bk.sumremain;
		}
		else
		{
			InsertbookList(bl,j,bk);
			L->length++;
		}
	}
	else
	{
		InsertbookList(bl,j,bk);
		L->length++;
	}
	return OK;
}

status DeleteBook(int i)  // 刪除圖書
{
	bookList p,q;
	int j=0;
	p=bl;
	while(p && j<i-1)
	{
		p=p->next;
        j++;
    }
	if(!p || j>i-1)
	{
		printf("出現錯誤!\n");
		return ERROR;
	}
	q=p->next;
	p->next=q->next;
	free(q);
    return OK;
}

status ModifyBook(int i)  // 修改圖書
{
	bookList p;
	int m,n,a,b,flag=0;
	char str1[20],str2[20];
	p=bl->next;
	while(p)
	{
		if(p->bk.num==i)
		{
			flag=1;
			break;
		}
		else
			p=p->next;
    }
	if(flag)
	{
		printf("\n以下是這本圖書的信息:\n");
		printf("圖書編號    名稱    作者    現存量    庫存量\n");
		printf(" %5d %8s %8s %8d %8d\n",p->bk.num,p->bk.name,p->bk.writer,p->bk.curremain,p->bk.sumremain);
		printf("<1.>修改圖書編號\n");
		printf("<2.>修改圖書名稱\n");
		printf("<3.>修改圖書作者\n");
		printf("<4.>修改圖書現存量\n");
		printf("<5.>修改圖書庫存量\n");
		scanf("%d",&n);
		switch(n)
		{
		case 1:
			printf("請輸入新的圖書編號:");
			scanf("%d",&m);
			if(Exitbook(m))
				printf("此圖書編號已經存在!\n");
			else
			{
				p->bk.num=m;
				return OK;
			}break;
		case 2:
			printf("請輸入新的圖書名稱:");
			scanf("%s",str1);
			strcpy(p->bk.name,str1);return OK;break;
		case 3:
			printf("請輸入新的圖書作者:");
			scanf("%s",str2);
			strcpy(p->bk.writer,str2);return OK;break;
		case 4:
			printf("請輸入新的圖書現存量:");
			scanf("%d",&a);
			p->bk.curremain=a;return OK;break;
		case 5:
			printf("請輸入新的圖書庫存量:");
			scanf("%d",&b);
			p->bk.sumremain=b;return OK;break;
		}	
	}
	else
	{
		printf("此圖書編號不存在!\n");
		return ERROR;
	}
}

status Deleteyonghu(int i)  // 刪除用戶
{
	yonghuList p,q;
	int j=0;
	p=yl;
	while(p && j<i-1)
	{
		p=p->next;
        j++;
    }
	if(!p|| j>i-1)
	{
		printf("出現錯誤!\n");
		return ERROR;
	}
	q=p->next;
	p->next=q->next;
	free(q);
    return OK;
}

status Exityonghu(int m)  // 判斷用戶是否存在
{
    yonghuList p;
	int flag=0;
	p=yl->next;
	while(p)
	{
		if(p->rd.num == m)
		{
			flag=1;
			return OK;
			break;
		}
		else
			p=p->next;
	} 
	if(!flag)
		return ERROR;
}

status mimacheck(int d,char c[])
{
	yonghuList p;
	int flag=0;
	p=yl->next;
	while(p)
	{
		if(strcmp(p->rd.name,c)==0 && p->rd.num==d)
		{
			flag=1;
			return OK;
			break;
		}
		else
			p=p->next;
	} 
	if(!flag)
		return ERROR;
}

status Modifyyonghu(int i)  // 修改用戶
{
	yonghuList p;
	int flag=0,m,n;
	char str[20];
	p=yl->next;
	while(p)
	{
		if(p->rd.num==i)
		{
			flag=1;
			break;
		}
		else
			p=p->next;
    }
	if(flag)
	{
		printf("\n以下是這位用戶信息:\n");
		printf("用戶編號    名稱     借書編號    借書時間     還書時間\n");
		printf(" %5d %8s  %10d    %4d%3d%3d    %4d%3d%3d\n",p->rd.num,p->rd.name,p->rd.borrownum,
			p->rd.btime[0],p->rd.btime[1],p->rd.btime[2],p->rd.ltime[0],p->rd.ltime[1],p->rd.ltime[2]);
		printf("<1.>修改用戶編號\n");
		printf("<2.>修改用戶名稱\n");
		scanf("%d",&n);
		switch(n)
		{
		case 1:
			printf("請輸入新的用戶編號:");
			scanf("%d",&m);
			if(Exityonghu(m))
			{
				printf("此用戶編號已經存在!\n");
				return ERROR;
			}
			else
			{
				p->rd.num=m;
				return OK;
			}break;
		case 2:
			printf("請輸入新的用戶名稱:");
			scanf("%s",&str);
			strcpy(p->rd.name,str);return OK;break;
		}
		return OK;
	}
	else
	{
		printf("此用戶編號不存在!\n");
		return ERROR;
	}
}

void Printbook(bookList L)
{
	bookList p;
	p=L->next;
	printf("\n以下 %d 本圖書信息分別為:\n",L->length);
	printf("圖書編號    名稱    作者    現存量    庫存量\n");
	while(p!=NULL)
	{
		printf(" %5d %8s %8s %8d %8d\n",p->bk.num,p->bk.name,p->bk.writer,p->bk.curremain,p->bk
			.sumremain);
		p=p->next;
    }  
}

status CreateBookList()  // 創建圖書函數
{
	int i,n;
	book bk;
	bl=InitListBook();
	printf("請輸入圖書的種類:");
	scanf("%d",&n);
	bl->length=0;
	for(i=1;i<=n;i++)
	{
		printf("\n請輸入第 %d 的圖書信息:\n",i);
		printf("請輸入該圖書編號:");
		scanf("%d",&bk.num);
		printf("請輸入該圖書名稱:");
		scanf("%s",bk.name);
		printf("請輸入該圖書作者:");
		scanf("%s",bk.writer);
		printf("請輸入該圖書的現存量:");
		scanf("%d",&bk.curremain);
		printf("請輸入該圖書的庫存量:");
		scanf("%d",&bk.sumremain);
		InsertbookList(bl,i,bk);
		bl->length++;	
	}
	return OK;      
}

status Createyonghulist()  // 創建用戶函數
{
	int i,n;
	reader rd;
	yl=InitListYonghu();
	printf("請輸入用戶的人數:");
	scanf("%d",&n);
	yl->length=0;
	for(i=1;i<=n;i++)
	{
		printf("\n請輸入第 %d 的用戶信息:\n",i);
		printf("請輸入該用戶編號:");
		scanf("%d",&rd.num);
		printf("請輸入該用戶名稱:");
		scanf("%s",rd.name);
		//strcpy(rd.borrowname,"0");
		rd.borrownum=0;
		rd.btime[0]=0;
		rd.btime[1]=0;
		rd.btime[2]=0;
		rd.ltime[0]=0;
		rd.ltime[1]=0;
		rd.ltime[2]=0;
		InsertyonghuList(yl,i,rd);
		yl->length++;	
	}
	return OK;      
}


status Addyonghu(yonghuList L,reader rd)  //添加用戶
{
    yonghuList p;
	int j=1;
	p=L->next;
	while(p && j<=L->length)
	{
		if(p->rd.num < rd.num)
		{
			j++;
			p=p->next;
		}
		else
			break;
	} 
	if(j <= L->length)
	{
		if(!p)
		{
			printf("出現錯誤!\n");
			return ERROR;
		}
		if(p->rd.num == rd.num)
		{
			printf("該用戶存在!\n");
			return ERROR;
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久精品免费网站| 欧美成人一区二区三区片免费 | 欧美三区免费完整视频在线观看| 国产一区二区免费视频| 精品一区二区综合| 国内不卡的二区三区中文字幕 | 国产成人免费在线观看| 狠狠色狠狠色综合日日91app| 蜜桃av一区二区三区电影| 日韩av不卡一区二区| 秋霞午夜av一区二区三区| 午夜精品福利一区二区三区蜜桃| 午夜国产不卡在线观看视频| 蜜臀av一区二区| 国产精品一区二区不卡| 在线观看三级视频欧美| 欧美日韩另类一区| 精品伦理精品一区| 中文字幕巨乱亚洲| 亚洲综合小说图片| 亚洲午夜视频在线| 久久爱www久久做| 成人精品小蝌蚪| 欧美日韩一区视频| 精品成人在线观看| 综合激情网...| 日本欧美一区二区三区乱码| 国产麻豆精品一区二区| 91丨porny丨最新| 在线播放中文一区| 国产日韩三级在线| 一区二区欧美精品| 国产主播一区二区| 欧美主播一区二区三区美女| 日韩美女一区二区三区| 日韩美女精品在线| 九九视频精品免费| 在线观看亚洲精品视频| 久久久久国产精品厨房| 亚洲亚洲人成综合网络| 久久99久久精品| 色偷偷成人一区二区三区91| 欧美成人精精品一区二区频| 亚洲欧美日韩综合aⅴ视频| 丝袜美腿成人在线| 丁香天五香天堂综合| 这里只有精品电影| 亚洲欧美激情在线| 国产成人综合自拍| 日韩欧美资源站| 一区二区三区不卡视频| 国产一区二区在线看| 日本乱人伦一区| 中文字幕国产一区| 日本一区中文字幕| 欧美主播一区二区三区| 亚洲日本韩国一区| 国产精品乡下勾搭老头1| 欧美三级视频在线| 中文字幕中文字幕一区| 国产精选一区二区三区| 日韩一级二级三级精品视频| 亚洲高清不卡在线观看| 91网页版在线| 国产精品丝袜久久久久久app| 精品一区二区三区不卡| 欧美一区二区三区免费大片| 洋洋av久久久久久久一区| 成人av电影在线观看| 国产午夜一区二区三区| 国产一区二区美女诱惑| 日韩精品一区二| 久久国产精品色婷婷| 欧美一区二区三区成人| 日韩黄色免费电影| 717成人午夜免费福利电影| 三级久久三级久久| 91精品久久久久久久99蜜桃| 日韩不卡一区二区| 日韩欧美一区二区三区在线| 美日韩一区二区| 欧美大尺度电影在线| 毛片av中文字幕一区二区| 91麻豆精品国产自产在线观看一区| 亚洲成人自拍网| 日韩一级片网站| 国产专区欧美精品| 国产精品美女久久久久久| 99久久婷婷国产综合精品| 一区二区三区日韩欧美精品| 欧美在线你懂的| 日本不卡免费在线视频| 精品1区2区在线观看| 成人性生交大合| 亚洲麻豆国产自偷在线| 欧美乱熟臀69xxxxxx| 日本不卡中文字幕| 久久精品一区八戒影视| 99久久精品免费| 婷婷六月综合网| 精品少妇一区二区三区免费观看 | 国产亚洲成aⅴ人片在线观看| 成人在线视频一区| 亚洲国产欧美一区二区三区丁香婷| 欧美一区二区在线不卡| 国产成人免费av在线| 亚洲日本丝袜连裤袜办公室| 91精品国产综合久久小美女 | 久久久国产综合精品女国产盗摄| 国产成人av电影免费在线观看| 一区二区三区自拍| 日韩一区二区电影在线| 99精品视频一区二区| 日本人妖一区二区| 国产精品伦一区| 日韩一区二区精品在线观看| 成人三级在线视频| 日韩av一区二区三区四区| 国产精品蜜臀在线观看| 日韩一区二区在线观看| 99久久久无码国产精品| 青娱乐精品视频| 亚洲天天做日日做天天谢日日欢| 欧美电视剧在线观看完整版| 色视频欧美一区二区三区| 国产一区二区在线看| 亚洲丰满少妇videoshd| 中文字幕一区在线观看视频| 日韩欧美国产一区二区在线播放 | 国产99久久久精品| 日日嗨av一区二区三区四区| 欧美国产综合色视频| 欧美大片一区二区| 欧美欧美欧美欧美| 日本乱码高清不卡字幕| 成人黄色软件下载| 国产九色sp调教91| 看国产成人h片视频| 日本伊人色综合网| 天堂av在线一区| 亚洲一区在线视频| 一区二区三区久久| 亚洲欧美韩国综合色| 国产精品电影院| 国产精品成人一区二区艾草| 国产日韩精品视频一区| 久久先锋影音av鲁色资源网| 精品欧美久久久| 欧美成人三级在线| 精品国产91久久久久久久妲己 | 99久久婷婷国产综合精品| 国产91精品免费| 国产不卡视频在线播放| 国产suv精品一区二区三区| 国产一区二区日韩精品| 国产永久精品大片wwwapp| 亚洲精品乱码久久久久久久久 | 久久99国产精品免费| 日韩一区二区在线播放| 国产拍欧美日韩视频二区| 亚洲三级理论片| 久久99国产精品免费| 日本高清不卡一区| 久久婷婷国产综合精品青草| 亚洲一区二区在线播放相泽| 国产一区在线精品| 欧美喷水一区二区| 中文一区在线播放| 美日韩一区二区| 欧美色综合网站| 中文字幕在线不卡一区| 久草中文综合在线| 欧美日韩亚洲综合在线| 国产精品入口麻豆九色| 日本精品免费观看高清观看| 日韩欧美国产成人一区二区| 亚洲乱码国产乱码精品精98午夜 | 日日夜夜免费精品| 97aⅴ精品视频一二三区| 久久精品视频一区| 久久不见久久见免费视频7 | 99久久国产免费看| 国产午夜精品一区二区三区四区| 三级久久三级久久| 欧美日韩一区久久| 一区二区在线看| 一本一道久久a久久精品| 久久久亚洲综合| 九九在线精品视频| 日韩精品一区二区在线| 日韩黄色小视频| 91精品午夜视频| 丝袜美腿亚洲综合| 欧美亚洲丝袜传媒另类| 亚洲人成在线观看一区二区| 成人免费av在线| 国产精品久久久久久户外露出| 国产盗摄一区二区| 中文字幕免费不卡在线| 国产精品一区二区视频|