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

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

?? pshow.c

?? 這是一個使用了 cursor 編程技術實現的車站自動售票系統的源代碼
?? C
字號:
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<fcntl.h>#include<signal.h>#include<curses.h>#include<malloc.h>#include<time.h>#include<unistd.h>#define	BEGINYEAR	1970#define	DSEC	86400#define	HSEC	3600#define	MSEC	60#define	ROWS	15#define	ROW	5#define	INROW	22#define	MSGROW	23#define	NITEM	8struct	time{	int	second;		/* 0--59	*/	int	minute;		/* 0--59	*/	int	hour;		/* 0--23	*/	int	mday;		/* 1--31	*/	int	month;		/* 1--12	*/	int	year;		/* 1970--	*/	int	wday;		/* 0--6(0=Sunday)*/	int	yday;		/* 1--365(366)	*/	long	tseconds;	/* seconds from 1970.1.1,0:0:0	*/};struct	plans{	int	bus;	int	state;	int	time;	int	nseat;	int	lseat;	int	gate;	int	model;	int	laststa;	char	tab[60];}*pln;int	npln;int	*order;int	col[NITEM]={4,12,20,28,36,44,52,66};struct	model{	int	no;	char	name[50];}*mod;int	nmod;struct	station{	int	no;	char	code[5];	char	name[10];	unsigned int	howfar;}*sta;int	nsta;char	*tab[]={	"***** 計 劃 信 息 *****",	"----------------------------------------"	"---------------------------------------",	"Q-退出  D-日期  S-停班  U-恢復  M-改發車時間  B-班序  T-時序  P-打印"};char	*title[]={"班次","狀態","時間","座數","余座","檢口","車型","終點"};enum	Key{	NONE,Up,Down,Right,Left,Center,End,PgDn,Home,	PgUp,Ins,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12};char	*RP;char	refreshflag=0;char	orderflag=0;main(int argc,char *argv[]){	char	c;	int	flag=0;	int	quit=0;	int	spln,ppln;	int	n,date,dd;	long	tn;	struct	time	t;	void	timeint();	RP=getenv("ROOTPATH");	if(RP==NULL)		return	-1;	init();	tn=time(0);	gettime(tn,&t);	date=t.year*10000+t.month*100+t.mday;	if((nmod=readmod())==-1)		nmod=0;	if((nsta=readsta())==-1)		nsta=0;	if((npln=readpln(date))==-1)		npln=0;	spln=0;	ppln=0;	while(quit==0)	{		show(spln,ppln);		move(ROW+ROWS+1,41+strlen(tab[2])/2);		refresh();		sigset(SIGALRM,timeint);		alarm(1);			c=getkey();		sigignore(SIGALRM);		clrin();		clrmsg();		if(c>='A'&&c<='Z')			c=c-'A'+'a';		switch(c)		{			case	-1:				tn=time(0);				gettime(tn,&t);				/*dd=t.year*10000+t.month*100+t.mday;*/				if(t.second%10==0)				{					npln=readpln(date);					if(npln==-1)					{						npln=0;						spln=0;						ppln=0;					}					refreshflag=1;				}				break;			case	Down:				if(ppln<npln-1)					ppln++;				if(ppln-spln>=ROWS)					spln++;				break;			case	Up:				if(ppln>0)					ppln--;				if(ppln<spln&&spln>0)					spln--;				break;			case	PgUp:				if(spln>=ROWS)					spln-=ROWS;				else					spln=0;				if(ppln>=ROWS)					ppln-=ROWS;				else					ppln=0;				break;			case	PgDn:				if(spln<npln-ROWS)					spln+=ROWS;				if(ppln<npln-ROWS)					ppln+=ROWS;				else					ppln=npln-1;				break;			case	Home:				spln=0;				ppln=0;				break;			case	End:				spln=npln-npln%ROWS;				ppln=npln-1;				break;			case	'd':				n=indate(date);				if(n!=-1)					if(checkdate(n)==0)					{						date=n;						npln=readpln(date);						if(npln==-1)							npln=0;						spln=0;						ppln=0;					}					else						showmsg("error date!");				break;			case	's':				stop(date,ppln);				break;			case	'u':				unstop(date,ppln);				break;			case	'b':				orderflag=0;				sortbybus(npln);				break;			case	't':				orderflag=1;				sortbytime(npln);				break;			case	'm':				modifytime(date,spln,ppln);				break;			case	'n':				n=appoint(npln,ppln);				if(n!=-1)				{					spln=n;					ppln=n;				}				break;			case	'p':				print();				break;			case	'q':				quit=1;				break;			default:				printf("\07");				break;		}	}	sigignore(SIGALRM);	erase();	refresh();	endwin();}init(){	int	i;/*	void	timeint();*/	signal(SIGINT,SIG_IGN);/*	sigset(SIGALRM,timeint);*/	initscr();	raw();	nonl();	noecho();	erase();	mvaddstr(ROW-4,40-strlen(tab[0])/2,tab[0]);	for(i=0;i<NITEM;i++)		mvaddstr(ROW-2,col[i],title[i]);	mvaddstr(ROW-1,0,tab[1]);	mvaddstr(ROW+ROWS,0,tab[1]);	mvaddstr(ROW+ROWS+1,40-strlen(tab[2])/2,tab[2]);	refresh();}int	readmod(){	char	fn[80];	char	errs[128];	int	fd;	long	size;	sprintf(fn,"%s/bas/model.dat",RP);	fd=open(fn,O_RDONLY);	if(fd==-1)	{		sprintf(errs,"文件%s打開失敗!",fn);		showmsg(errs);		return	fd;	}	size=lseek(fd,0L,2);	mod=(struct model *)malloc(size);	if(mod==NULL)	{		showmsg("為車型數據分配內存出錯!");		return	-1;	}	else	{		lseek(fd,0L,0);		read(fd,(char *)mod,size);		close(fd);		return	size/sizeof(struct model);	}}int	readsta(){	char	fn[80];	char	errs[128];	int	fd;	long	size;	sprintf(fn,"%s/bas/stas.dat",RP);	fd=open(fn,O_RDONLY);	if(fd==-1)	{		sprintf(errs,"文件%s打開失敗!",fn);		showmsg(errs);		return	fd;	}	size=lseek(fd,0L,2);	sta=(struct station *)malloc(size);	if(sta==NULL)	{		showmsg("為站點數據分配內存出錯!");		return	-1;	}	else	{		lseek(fd,0L,0);		read(fd,(char *)sta,size);		close(fd);		return	size/sizeof(struct station);	}}int	readpln(int date){	char	fn[80];	char	errs[128];	int	fd;	long	size;	int	i,npln;	sprintf(fn,"%s/data/ticlib/%d",RP,date);	fd=open(fn,O_RDONLY);	if(fd==-1)	{		sprintf(errs,"文件%s打開失敗!",fn);		showmsg(errs);		return	fd;	}	size=lseek(fd,0L,2);	pln=(struct plans *)malloc(size);	order=(int *)malloc(size/sizeof(struct plans)*sizeof(int));	if(pln==NULL)	{			showmsg("為計劃數據分配內存出錯!");		return	-1;	}	else	{		lseek(fd,0L,0);		read(fd,(char *)pln,size);		close(fd);		npln=size/sizeof(struct plans);		for(i=0;i<npln;i++)			order[i]=i;		if(orderflag==0)			sortbybus(npln);		else			sortbytime(npln);		return	npln;	}}stop(int date,int ppln){	int	n;	char	fn[80];	int	fd;	n=order[ppln];	if(pln[n].state==1)		return;	pln[n].state=1;	sprintf(fn,"%s/data/ticlib/%d",RP,date);	fd=open(fn,O_RDWR);	if(fd==-1)	{		showmsg("無法寫入車次狀態數據, 請排除故障后再試!");		return;	}	lseek(fd,(long)(n*sizeof(struct plans)),0);	lockf(fd,F_LOCK,sizeof(struct plans));	write(fd,(char *)(pln+n),sizeof(struct plans));	close(fd);}unstop(int date,int ppln){	int	n;	char	fn[80];	int	fd;	n=order[ppln];	if(pln[n].state==0)		return;	pln[n].state=0;	sprintf(fn,"%s/data/ticlib/%d",RP,date);	fd=open(fn,O_RDWR);	if(fd==-1)	{		showmsg("無法寫入車次狀態數據, 請排除故障后再試!");		return;	}	lseek(fd,(long)(n*sizeof(struct plans)),0);	lockf(fd,F_LOCK,sizeof(struct plans));	write(fd,(char *)(pln+n),sizeof(struct plans));	close(fd);}modifytime(int date,int spln,int ppln){	int	n;	char	fn[80];	int	fd;	int	time;	n=order[ppln];	time=pln[n].time;	while(1)	{		if(get_n(ROW+ppln-spln,col[2],"",&time,6)==-1)			return;		if(time>=0&&time<2400)			break;		else			showmsg("錯誤的時間!");	}	pln[n].time=time;	sprintf(fn,"%s/data/ticlib/%d",RP,date);	fd=open(fn,O_RDWR);	if(fd==-1)	{		showmsg("無法寫入車次狀態數據, 請排除故障后再試!");		return;	}	lseek(fd,(long)(n*sizeof(struct plans)),0);	lockf(fd,F_LOCK,sizeof(struct plans));	write(fd,(char *)(pln+n),sizeof(struct plans));	close(fd);}sortbybus(int npln){	int	i,j,k,n;	k=npln/2;	while(k>0)	{		for(j=k;j<npln;j++)		{			n=order[j];			i=j-k;			while(i>=0&&pln[order[i]].bus>pln[n].bus)			{				order[i+k]=order[i];				i-=k;			}			order[i+k]=n;		}		k/=2;	}}sortbytime(int npln){	int	i,j,k,n;	k=npln/2;	while(k>0)	{		for(j=k;j<npln;j++)		{			n=order[j];			i=j-k;			while(i>=0&&pln[order[i]].time>pln[n].time)			{				order[i+k]=order[i];				i-=k;			}			order[i+k]=n;		}		k/=2;	}}int	print(){	int	i,j,n,start,end;	char	states[10],models[14],stas[10];		start=0;	while(1)	{		clrin();		if(get_n(INROW,30,"起始序號: ",&start,10)==-1)			return	-1;		if(start>=0&&start<npln)			break;	}	end=npln-1;	while(1)	{		clrin();		if(get_n(INROW,30,"結束序號: ",&end,10)==-1)			return	-1;		if(end>=start&&end<npln)			break;	}/*	if(orderflag==0)		sortbybus(npln);*/	printf("%c{",0x1b);	/* print initialize string */	printf("%30s\n%-8s%-6s%-7s%-6s%-6s%-6s%-14s%s\n%s\n",		tab[0],title[0],title[1],title[2],title[3],title[4],		title[5],title[6],title[7],tab[1]);	for(i=start;i<=end;i++)	{		n=order[i];		if(pln[n].state==0)			strcpy(states,"正常");		else			strcpy(states,"撤銷");		for(j=0;j<nmod&&pln[n].model!=mod[j].no;j++)			;		if(j<nmod)			strcpy(models,mod[j].name);		else			strcpy(models,"(無)");		for(j=0;j<nsta&&pln[n].laststa!=sta[j].no;j++)			;		if(j<nsta)			strcpy(stas,sta[j].name);		else			strcpy(stas,"(無)");/*		if(i>0&&pln[n].time!=pln[order[i-1]].time)			printf("\n");		*/		printf("%-8d%-6s%2d:%02d  %-6d%-6d%-6d%-14s%s\n",			pln[n].bus,states,pln[n].time/100,pln[n].time%100,			pln[n].nseat,pln[n].lseat,pln[n].gate,			models,stas);	}	printf("%c}",0x1b);	/* print end string *//*	if(orderflag==0)		sortbybus(npln);*/	return	0;}int	get_n(int y,int x,char *prompt,int *n,int b){	char	c,s[80],ss[80];	int	i;	sprintf(s,"%d",*n);	for(i=0;i<b-1;i++)		ss[i]=' ';	ss[b-1]='\0';	mvaddstr(y,x,prompt);	x+=strlen(prompt);	mvaddstr(y,x,ss);	mvaddstr(y,x,s);	refresh();	i=0;	while(1)	{		move(y,x+i);		refresh();		if(i>=b-1)			c=0x0d;		else			c=getkey();		switch(c)		{			case	-1:				continue;			case 	0x1b:		/* <ESC> pressed */				return	-1;			case	0x0d:		/* <ENTER> pressed */				if(i)				{					ss[i]='\0';					*n=atoi(ss);				}				return	0;			case	0x08:		/* <BS> pressed */				if(i<=0)					continue;				else				{					ss[--i]=' ';					ss[i]='\0';				}				break;			case	'0':			case	'1':			case	'2':			case	'3':			case	'4':			case	'5':			case	'6':			case	'7':			case	'8':			case	'9':				ss[i++]=c;				break;			default:				printf("\7\7");				break;		}		mvaddstr(y,x,ss);		refresh();	}}getkey(){	char	c,key;	char	keys[]={Up,Down,Right,Left,NONE,End,PgDn,Home,		PgUp,NONE,NONE,Ins};	void	timeint();	key=getch();	refresh();	if(key==0x1b)	{		sigset(SIGALRM,timeint);		alarm(1);		if(getch()!=-1)		{			c=getch();			refresh();			key=keys[c-'A'];		}		sigignore(SIGALRM);	}	return	key;}void	timeint(){	long	tn;	struct	time	t;	tn=time(0);	gettime(tn,&t);	mvprintw(0,0,"%4d年%02d月%02d日%2d時%02d分%02d秒",t.year,t.month,		t.mday,t.hour,t.minute,t.second);	refresh();}show(int spln,int ppln){	static	int	n=-1;	static	int	s=-1;	static	int	p=-1;	static	int	o[ROWS];	int	i;	void	timeint();	move(2,70);	clrtoeol();	if(npln<=0)	{		n=npln;		mvprintw(2,70,"0/0");		clrscr();		refresh();		return;	}	else		mvprintw(2,70,"%d/%d",ppln+1,npln);	sigignore(SIGALRM);	mvaddch(p-s+ROW,col[0]-1,' ');	if(p!=ppln)		p=ppln;	if(s==spln)		for(i=0;i<ROWS&&s+i<npln&&o[i]==order[s+i];i++)			;	if(n!=npln||s!=spln||(i<ROWS&&s+i<npln)||refreshflag==1)	{		n=npln;		s=spln;		for(i=0;i<ROWS&&(s+i)<npln;i++)		{			o[i]=order[s+i];			showone(ROW+i,o[i]);		}		for(;i<ROWS;i++)			move(ROW+i,0),	clrtoeol();		refreshflag=0;	}	else		showone(ROW+p-s,order[ppln]);	mvaddch(p-s+ROW,col[0]-1,'>');	refresh();	sigset(SIGALRM,timeint);}showone(int row,int n){	int	i,j,k,l;	move(row,0),	clrtoeol();	mvprintw(row,col[0],"%d",pln[n].bus);	if(pln[n].state==0)		mvaddstr(row,col[1],"正常");	else		mvaddstr(row,col[1],"撤銷");	mvprintw(row,col[2],"%2d:%02d",pln[n].time/100,pln[n].time%100);	mvprintw(row,col[3],"%d",pln[n].nseat);	mvprintw(row,col[4],"%d",pln[n].lseat);	mvprintw(row,col[5],"%d",pln[n].gate);	for(i=0;i<nmod&&pln[n].model!=mod[i].no;i++)		;	if(i>=nmod)		mvaddstr(row,col[6],"(none)");	else		mvaddstr(row,col[6],mod[i].name);	j=0;	k=nsta-1;	while(j<=k)	{		l=(j+k)/2;		if(pln[n].laststa<sta[l].no)			k=l-1;		else			if(pln[n].laststa>sta[l].no)				j=l+1;			else				break;	}	if(j>k)		mvaddstr(row,col[7],"");	else		mvaddstr(row,col[7],sta[l].name);	refresh();}int	appoint(int npln,int ppln){	int	n;	n=ppln+1;	if(get_n(INROW,30,"請輸入序號: ",&n,6)==-1)		return	-1;	if(n>0&&n<=npln)		return	n-1;	else		return	-1;}clrscr(){	int	i;	for(i=0;i<ROWS;i++)	{		move(ROW+i,0);		clrtoeol();		}	refresh();}showmsg(char s[]){	move(MSGROW,0);	clrtoeol();	mvaddstr(MSGROW,(80-strlen(s))/2,s);	refresh();	printf("\7\7");}clrmsg(){	move(MSGROW,0);	clrtoeol();	refresh();}clrin(){	move(INROW,0);	clrtoeol();	refresh();}int	indate(int date){	int	d=date;	if(get_n(INROW,30,"請輸入日期: ",&d,10)==-1)		return	-1;	else		return	d;}int	gettime(long tn,struct time *t){	int	days,ydays;	int	TZ;	char	*tzs;	int	mdays[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,			      31,29,31,30,31,30,31,31,30,31,30,31};	int	i;	tzs=(char *)getenv("TZ");	if(tzs==NULL)		TZ=0;	else	{		for(;*tzs!='\0'&&*tzs!='+'&&*tzs!='-'&&(*tzs<'0'||*tzs>'9');tzs++)			;		TZ=atoi(tzs);		TZ=-TZ;	}	tn+=TZ*HSEC;	days=tn/DSEC;	t->tseconds=tn;	t->wday=(days+4)%7;	ydays=365;	for(t->year=BEGINYEAR;days>=ydays;t->year++)	{		if(t->year%4==0)			ydays=366;		else			ydays=365;		days-=ydays;	}	t->yday=days;	t->month=1;	if(t->year%4==0)		for(i=0;days>=mdays[1][i];i++)		{			days-=mdays[1][i];			t->month++;		}	else		for(i=0;days>=mdays[0][i];i++)		{			days-=mdays[0][i];			t->month++;		}	t->mday=days+1;	t->hour=tn%DSEC/HSEC;	t->minute=tn%HSEC/MSEC;	t->second=tn%MSEC;	return	0;}int	checkdate(int date){	int	year,month,day;	int	mdays[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,			      31,29,31,30,31,30,31,31,30,31,30,31};	long	tn;	struct	time	t;	year=date/10000;	month=date%10000/100;	day=date%100;	tn=time(0);	gettime(tn,&t);	if(year<t.year||year>t.year+1)		return	-1;	if(month<1||month>12)		return	-1;	if(year%4==0)	{		if(day<1||day>mdays[1][month-1])			return	-1;	}	else		if(day<1||day>mdays[0][month-1])			return	-1;	return	0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩毛片高清在线播放| 日日夜夜免费精品| 日日骚欧美日韩| 波多野结衣精品在线| 欧美一区二区日韩一区二区| 国产精品天美传媒| 国产一区欧美二区| 欧美精品一二三| 尤物av一区二区| 北条麻妃国产九九精品视频| 26uuu久久综合| 日韩和欧美一区二区三区| 色网综合在线观看| 国产精品青草久久| 粉嫩av一区二区三区| 日韩欧美中文字幕精品| 亚洲高清视频的网址| 一本一本久久a久久精品综合麻豆| 国产午夜精品福利| 国产一区二区三区在线观看免费视频| 欧美日韩国产在线播放网站| 亚洲女与黑人做爰| 成人av网站在线观看免费| 久久久久国产成人精品亚洲午夜| 丝袜脚交一区二区| 欧美视频在线播放| 亚洲bt欧美bt精品| 欧美日韩不卡一区| 午夜精品久久久久影视| 欧美日韩黄色一区二区| 日韩和欧美一区二区| 欧美日产在线观看| 日欧美一区二区| 91精品国产免费| 美国三级日本三级久久99| 日韩一级二级三级精品视频| 美国欧美日韩国产在线播放 | 美腿丝袜亚洲三区| 日韩欧美一级在线播放| 精一区二区三区| 久久亚洲一区二区三区明星换脸| 国产一区二区三区蝌蚪| 国产精品热久久久久夜色精品三区| 粉嫩久久99精品久久久久久夜| 国产精品美女www爽爽爽| jlzzjlzz欧美大全| 亚洲一区在线观看视频| 51精品久久久久久久蜜臀| 免费人成网站在线观看欧美高清| 日韩欧美国产一区在线观看| 国产精品一区二区不卡| 亚洲国产精品激情在线观看| 一本大道av伊人久久综合| 婷婷综合在线观看| 欧美精品一区二区三区四区| 成人手机在线视频| 亚洲v中文字幕| 久久色在线视频| 色欧美日韩亚洲| 免费观看在线综合| 国产精品福利影院| 欧美一区二区三区在线视频| 国产激情偷乱视频一区二区三区| 欧美国产成人精品| 欧美精品99久久久**| 国产激情精品久久久第一区二区| 最新日韩在线视频| 精品久久久久久久久久久久久久久| 丁香六月综合激情| 日韩高清一区在线| 中文字幕一区三区| 日韩精品一区在线| 日本精品视频一区二区三区| 激情伊人五月天久久综合| 亚洲精品欧美二区三区中文字幕| 欧美成人精品二区三区99精品| 97精品久久久午夜一区二区三区 | 日韩欧美在线网站| 一本一道波多野结衣一区二区| 久久精品国产精品亚洲红杏| 日韩理论片一区二区| 日韩精品中文字幕在线一区| 日本精品免费观看高清观看| 国产福利91精品一区| 日本sm残虐另类| 亚洲欧洲www| 国产欧美中文在线| 日韩欧美视频在线| 欧美专区日韩专区| 成人亚洲一区二区一| 美女网站一区二区| 日韩精品高清不卡| 亚洲曰韩产成在线| 亚洲男同1069视频| 国产精品视频一区二区三区不卡| 精品精品欲导航| 制服丝袜成人动漫| 欧美日韩一区二区三区在线| 成人动漫av在线| 国产成人av电影| 国产一区二区精品久久| 久久不见久久见免费视频1 | 亚洲欧美区自拍先锋| 国产日韩欧美一区二区三区乱码| 欧美变态tickling挠脚心| 8x8x8国产精品| 精品视频全国免费看| 91成人在线免费观看| 一本一道波多野结衣一区二区| 99久久精品免费| 99麻豆久久久国产精品免费优播| 国产激情精品久久久第一区二区| 狠狠色综合日日| 国产乱码字幕精品高清av| 加勒比av一区二区| 国产一区美女在线| 粉嫩高潮美女一区二区三区| 国产成人亚洲综合色影视| 国产老肥熟一区二区三区| 国产不卡在线播放| 大美女一区二区三区| 成人丝袜高跟foot| 91久久一区二区| 欧美日韩一区二区欧美激情| 欧美视频一区在线| 日韩视频在线你懂得| 久久综合九色综合97婷婷| 久久久久国产精品麻豆| 中文一区在线播放| 尤物av一区二区| 日本不卡免费在线视频| 韩国三级电影一区二区| 国v精品久久久网| 色综合久久99| 欧美一区二区三区四区久久| 精品美女被调教视频大全网站| 国产日韩欧美精品在线| 最好看的中文字幕久久| 爽好久久久欧美精品| 精品一区二区av| 99久久99久久免费精品蜜臀| 欧美在线色视频| 久久综合一区二区| 亚洲欧美日韩国产另类专区| 日本特黄久久久高潮| 成人激情黄色小说| 欧美精品 国产精品| 久久久久亚洲蜜桃| 亚洲一区av在线| 国模一区二区三区白浆| 在线免费观看一区| 久久综合九色综合97_久久久| 亚洲日本欧美天堂| 国模无码大尺度一区二区三区| 97久久精品人人做人人爽50路| 欧美一级一区二区| 亚洲精品videosex极品| 久久精品国产精品亚洲综合| a亚洲天堂av| 欧美大肚乱孕交hd孕妇| 一区二区三区加勒比av| 国产一区二区看久久| 欧美日韩精品二区第二页| 中文字幕第一区二区| 丝袜诱惑制服诱惑色一区在线观看| 韩国av一区二区三区| 欧美日免费三级在线| 国产日韩欧美不卡在线| 日本成人在线看| 色av一区二区| 国产精品无圣光一区二区| 免费在线观看日韩欧美| 欧美性猛交xxxxxxxx| 中文字幕+乱码+中文字幕一区| 蜜臀av性久久久久蜜臀aⅴ流畅| 91色.com| 日韩美女视频一区二区| 国产成人精品免费在线| 精品播放一区二区| 美女视频网站黄色亚洲| 欧美日韩aaaaa| 亚洲高清免费视频| 色婷婷亚洲一区二区三区| 中文字幕一区二区三区在线观看| 国产一区二区三区在线观看精品| 日韩一区二区精品| 日韩在线一二三区| 欧美日免费三级在线| 亚洲一区二三区| 欧美在线免费观看亚洲| 一区二区三区在线视频观看58| 成人精品高清在线| 欧美激情中文字幕| 国产激情一区二区三区| 国产免费观看久久| 国产精品18久久久久| 久久久久久99久久久精品网站| 韩国av一区二区三区在线观看| 26uuu国产日韩综合| 国产一区二区成人久久免费影院|