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

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

?? telsrc_main.c

?? 東軟嵌入式高級C培訓(2007))
?? C
?? 第 1 頁 / 共 2 頁
字號:
/********************************************************************


	挊嶌尃強桳幰		丗	WangHongjun@neusoft.com

	僜乕僗僼傽僀儖柤	丗	telsrc_main.c

	撪梕				丗	揹榖斣崋専嶕儊僀儞IF娭悢掕媊

	嶌惉擔丒幰			丗	2005.07.08		Wang Hongjun


	廋惓擔丒幰			丗




*********************************************************************/

/*------------------------------------------------------------------*/
/*																	*/
/*	僀儞僋儖乕僪僼傽僀儖晹暘										*/
/*																	*/
/*------------------------------------------------------------------*/
#include "telsrc.h"

/*------------------------------------------------------------------*/
/*																	*/
/*	娭悢掕媊晹暘													*/
/*																	*/
/*------------------------------------------------------------------*/

/********************************************************************/
/*	TelSrc_Main娭悢													*/
/*	----------------------------------------------------------------*/
/*	Input:															*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Output:															*/
/*		RETURN				:	乮惓忢乯RET_SUCCESS					*/
/*								乮堎忢乯RET_FAILED					*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Outline:														*/
/*		Tel No. search main funciton.								*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Others:															*/
/*																	*/
/********************************************************************/
int TelSrc_Main()
{
	int				iRet		= RET_SUCCESS;
							 		/* Return value					*/
	int				iDataSource	= TELSRC_DATASRC_FILE;	
									/* Data Source					*/
	int				iReadRslt	= 0;
					/* Result of read from key buffer				*/
	int				iMaxDataNum = 0;/* Number of data for search	*/
	H_TELSRC		hTelSrc	 = NULL;/* Tel search handle			*/
	S_TELSRC_COND	stTelSrcCond;	/* Tel search conditon struct	*/

	/* Welcome information											*/
	printf( "\n************************************************\n" );
	printf( "*This is a Tel No. register and search program!*\n" );
	printf( "************************************************\n" );

	/* Initialization												*/
	memset( &stTelSrcCond, 0, (WORD)sizeof(stTelSrcCond) );

	/* Prompt user to input the number of data for searching		*/
	printf( "\nHow many Tel No. can be saved!\n" );
	iReadRslt = scanf( "%8d", iMaxDataNum );
	while( ( 0 >= iMaxDataNum ) || ( 0 >= iReadRslt ) )
	{
		if( 0 >= iReadRslt )
		{
			while( 10 != getchar() )
			{
				continue;
			}
		}
		
		printf( "Invalid number, please input the correct one." );
		printf( "\nHow many Tel No. can be saved!\n" );
		iReadRslt = scanf( "%8d", &iMaxDataNum );		
	}

	/* Key buffer clear				*/
	while( 10 != getchar() )
	{
		continue;
	}

	/* Max Data num limited (1000)									*/
	if( TELSRC_MAXDATANUM < iMaxDataNum )
	{
		iMaxDataNum = TELSRC_MAXDATANUM;
	}

	/* Prompt user to select the type of set data					*/
	printf( "Please select the Type of data saved!\n" );
	printf( "(0	: File;	1	: Memory)!\n" );
	iReadRslt = scanf( "%8d", &iDataSource );
	while( ( ( TELSRC_DATASRC_FILE != iDataSource ) && 
		     ( TELSRC_DATASRC_MEM != iDataSource ) ) || 
		   ( 0 >= iReadRslt ) )
	{
		/* In the case that string is input, clear the key buffer	*/
		if( 0 >= iReadRslt )
		{
			while( 10 != getchar() )
			{
				continue;
			}
		}
		
		/* Prompt the user to select the correct type				*/
		printf( "Invalid type, please input the correct one.\n" );
		iReadRslt = scanf( "%8d", &iDataSource );		
	}

	/* Key buffer clear				*/
	while( 10 != getchar() )
	{
		continue;
	}

	/* Tel No. search condition set									*/
	stTelSrcCond.iMaxDataNum	= iMaxDataNum;
	stTelSrcCond.iDataSource	= iDataSource;

	/* Handle create												*/
	hTelSrc = TelSrc_CreHandle( &stTelSrcCond );
	if( NULL == hTelSrc )
	{
		printf( "\nHandle create failed!!\n" );
		return RET_FAILED;
	}

	/* Execute different operation by the type user specified		*/
	iRet = TelSrc_UserSel( hTelSrc );

	/* Handle free				*/
	iRet = TelSrc_FreeHandle( hTelSrc );
	
	return iRet;			
}

/********************************************************************/
/*	TelSrc_UserSel													*/
/*	----------------------------------------------------------------*/
/*	Input:															*/
/*		int					:	Tel No. search class handle[IN]		*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Output:															*/
/*		RETURN				:	乮惓忢乯RET_SUCCESS					*/
/*								乮堎忢乯RET_FAILED					*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Outline:														*/
/*		Excute the different program by user select.				*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Others:															*/
/*																	*/
/********************************************************************/
int TelSrc_UserSel(
	H_TELSRC		hTelSrc			/* Tel No. search class handle	*/
	)
{
	char			cQuitConf		= 'Y';
									/* Confirm to exit or not		*/
	char			cDelConf		= 'N';
									/* Confirm to delete or not		*/
	int				iRet			= RET_SUCCESS;
							 		/* Return value					*/
	int				iGetChrNum		= 0;
									/* Number of char  from Key Buf */
	int				iOperFlg		= TELSRC_INIT;
									/* User operation type			*/
	S_TELSRC*		pstTelSrc		= NULL;
									/* Telsearch struct				*/
	S_TELSRC_COND*	pstTelSrcCond	= NULL;
									/* Tel search conditon struct	*/

	/* Exception prevention											*/
	if( NULL == hTelSrc )
	{
		return RET_FAILED;
	}

	/* Data area get				*/
	pstTelSrc		= (S_TELSRC*)hTelSrc;
	pstTelSrcCond	= &pstTelSrc->stTelSrcCond;

	/* Execute different operation by the type user specified		*/
	while( (TELSRC_INIT  <= iOperFlg) && (TELSRC_DATADEL  >= iOperFlg) )
	{
		iOperFlg = TELSRC_INIT;

		printf( "\nPlease select your operation!\n" );
		printf( "( 1		: Tel No. Regist.)\n" );
		printf( "( 2		: Tel No. Search.)\n" );
		printf( "( 3		: Tel No. Delete.)\n" );
		printf( "( Other	: Exit. )\n" );

		/* Read user's selection									*/
		iGetChrNum = scanf( "%8d", &iOperFlg );
		if( 0 >= iGetChrNum )
		{
			scanf( "%8s", &iOperFlg );
		}

		/* Key buffer clear				*/
		while( 10 != getchar() )
		{
			continue;
		}

		switch( iOperFlg )
		{
		case TELSRC_DATAREG:	/* New data register				*/
			if( pstTelSrc->iDataNum >= pstTelSrcCond->iMaxDataNum )
			{
				printf( "\nIt cannt be registerd any more.\n" );
				printf( "Delete part of the data?\n" );				
				printf( "Y(y): Delete;	N(n): Select another\n" );
				scanf( "%1s", &cDelConf );
				if( ( 'Y' == cDelConf ) || ( 'y' == cDelConf ) )
				{
					iRet = TelSrc_DataDel( hTelSrc );
				}

				/* Key buffer clear				*/
				while( 10 != getchar() )
				{
					continue;
				}
			}
			else
			{
				iRet = TelSrc_DataReg( hTelSrc );
			}
			break;

		case TELSRC_DATASRC:	/* Tel No. search					*/
			iRet = TelSrc_DataSrc( hTelSrc );
			break;

		case TELSRC_DATADEL:	/* Delete an item					*/
			iRet = TelSrc_DataDel( hTelSrc );
			break;

		default:				/* Quit								*/
			printf( "\nAre you sure that you want to quit the program?\n" );
			printf( "\n(Y(y)/N(n))\n" );
			scanf( "%1s", &cQuitConf );
			if( ( 'Y' == cQuitConf ) || ( 'y' == cQuitConf ) )
			{
				iOperFlg = TELSRC_QUIT;
			}
			else
			{
				iOperFlg = TELSRC_INIT;
			}

			/* Key buffer clear				*/
			while( 10 != getchar() )
			{
				continue;
			}
		}

	}

	return iRet;			
}

/********************************************************************/
/*	TelSrc_CreHandle娭悢											*/
/*	----------------------------------------------------------------*/
/*	Input:															*/
/*		int					:	Search condition[IN]				*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Output:															*/
/*		RETURN				:	乮惓忢乯Telphone search handle		*/
/*								乮堎忢乯NULL						*/
/*																	*/
/*	----------------------------------------------------------------*/
/*	Outline:														*/
/*		Create telphone search handle.								*/
/*	----------------------------------------------------------------*/
/*	Others:															*/
/*																	*/
/********************************************************************/
H_TELSRC TelSrc_CreHandle(
	S_TELSRC_COND*	pstTelSrcCond
					/* I/ Search condition							*/
	)
{
	H_TELSRC		hTelSrc			= NULL;
					/* Telsearch class handle						*/


	/* Exception prevention											*/
	if( NULL == pstTelSrcCond )
	{
		return (H_TELSRC)NULL;
	}

	/* Create TelSrc handle by conditons user specified				*/
	if( TELSRC_DATASRC_FILE == (pstTelSrcCond->iDataSource) )
	{
		hTelSrc = telsrc_crehandle_file( pstTelSrcCond );
	}
	else
	{
		hTelSrc = telsrc_crehandle_mem( pstTelSrcCond );
	}
	
	return hTelSrc;
}

/********************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费精品视频最新在线| 麻豆精品视频在线| 日韩欧美国产三级电影视频| 成人一区二区三区视频在线观看 | 99久久久精品| 亚洲大尺度视频在线观看| www国产成人| 欧洲生活片亚洲生活在线观看| 蜜桃av噜噜一区二区三区小说| 亚洲视频一区在线| 久久众筹精品私拍模特| 欧美日韩在线一区二区| 国产91精品精华液一区二区三区| 一区二区三区免费观看| 国产欧美日韩不卡| 精品久久久影院| 91精品在线免费| 一本色道a无线码一区v| 处破女av一区二区| 国产一区二区三区在线观看免费| 亚洲国产欧美在线人成| **欧美大码日韩| 国产欧美一二三区| 精品免费99久久| 欧美精品一卡二卡| 欧美三级视频在线播放| 色婷婷久久久久swag精品| 不卡在线视频中文字幕| 国产一区在线观看麻豆| 久久精品国产久精国产爱| 天天操天天干天天综合网| 一区二区三区资源| 亚洲欧美另类图片小说| 中文字幕五月欧美| 国产精品免费视频一区| 久久精品欧美一区二区三区不卡| 日韩三级高清在线| 日韩欧美在线影院| 日韩视频免费观看高清完整版| 91精品国产色综合久久久蜜香臀| 精品视频色一区| 欧美丰满一区二区免费视频| 精品视频一区三区九区| 欧美日韩另类一区| 欧美高清视频www夜色资源网| 91福利在线免费观看| 91丝袜国产在线播放| 99久久伊人网影院| www.欧美亚洲| 色视频一区二区| 一本到三区不卡视频| 色八戒一区二区三区| 欧美在线|欧美| 欧美日韩成人一区| 欧美一区二区三区系列电影| 欧美一级理论片| 欧美精品一区二区高清在线观看| 精品91自产拍在线观看一区| 国产校园另类小说区| 国产精品第五页| 亚洲一区在线播放| 卡一卡二国产精品| 粉嫩一区二区三区性色av| 成人av动漫网站| 欧美亚洲日本国产| 日韩限制级电影在线观看| 亚洲精品在线一区二区| 国产精品视频观看| 亚洲永久免费av| 蜜臀av性久久久久蜜臀aⅴ| 国产精品一区二区免费不卡 | 久久99国产精品尤物| 国产精品一二三区在线| 91亚洲大成网污www| 欧美日韩一区二区欧美激情| 精品捆绑美女sm三区| 国产精品久久综合| 性做久久久久久免费观看欧美| 麻豆视频一区二区| av成人动漫在线观看| 欧美美女视频在线观看| 精品粉嫩aⅴ一区二区三区四区 | 天堂午夜影视日韩欧美一区二区| 青青草91视频| aa级大片欧美| 精品久久国产老人久久综合| 国产精品乱子久久久久| 午夜久久福利影院| 成人夜色视频网站在线观看| 欧美四级电影在线观看| 久久综合av免费| 亚洲va欧美va人人爽| 国产乱码精品一品二品| 在线观看不卡视频| 国产色爱av资源综合区| 亚洲综合区在线| 国产风韵犹存在线视精品| 色老汉一区二区三区| 久久先锋影音av| 亚洲电影你懂得| 成人久久18免费网站麻豆| 欧美日韩国产小视频在线观看| 国产三级精品在线| 午夜视频一区二区| 91美女蜜桃在线| 久久―日本道色综合久久| 亚洲成av人综合在线观看| 成人免费视频视频| 欧美电影免费观看高清完整版在线 | 91久久精品国产91性色tv| 2020日本不卡一区二区视频| 视频在线在亚洲| 色吊一区二区三区| 中文字幕在线免费不卡| 激情图区综合网| 91精品国产综合久久精品| 亚洲激情图片小说视频| 成人黄色片在线观看| 精品av综合导航| 久久精品国产77777蜜臀| 一本久久综合亚洲鲁鲁五月天 | 欧美大胆一级视频| 亚洲mv在线观看| 91丝袜国产在线播放| 久久久久国产精品免费免费搜索| 日韩成人dvd| 欧美日本乱大交xxxxx| 亚洲国产日韩a在线播放性色| 91原创在线视频| 亚洲人123区| 色综合久久六月婷婷中文字幕| 欧美激情一区不卡| 国产精品99久久久| 久久午夜国产精品| 国产成人在线视频网址| 久久免费国产精品| 韩国欧美国产1区| 国产清纯白嫩初高生在线观看91| 国产黄色成人av| 久久亚洲一级片| 成人午夜在线免费| 中文一区二区在线观看| 粉嫩久久99精品久久久久久夜| 久久麻豆一区二区| 国产美女精品一区二区三区| 2021国产精品久久精品| 国产精品亚洲一区二区三区妖精| 国产日韩欧美一区二区三区综合| 国产东北露脸精品视频| 亚洲国产精品精华液2区45| 国产成人免费av在线| 中文字幕成人在线观看| av中文字幕亚洲| 亚洲一级电影视频| 欧美日韩国产一区| 久久99久久99小草精品免视看| 精品国产成人在线影院| 国产在线一区二区| 国产精品久久一级| 欧美性高清videossexo| 视频一区视频二区在线观看| 日韩一区二区电影| 国产麻豆日韩欧美久久| 亚洲欧洲精品一区二区精品久久久| 91蜜桃免费观看视频| 性久久久久久久| 亚洲精品一区二区三区蜜桃下载 | 国产午夜精品久久| 99在线精品观看| 日韩精品一二区| 久久一夜天堂av一区二区三区| 成人网在线播放| 一区二区成人在线视频 | 欧美日韩在线观看一区二区| 日本不卡不码高清免费观看| 亚洲国产精品国自产拍av| 日本韩国一区二区| 九九久久精品视频| 亚洲欧美日本韩国| 欧美大黄免费观看| 色哟哟一区二区在线观看| 日本不卡免费在线视频| 国产精品全国免费观看高清| 欧美私人免费视频| 粉嫩aⅴ一区二区三区四区五区| 亚洲女厕所小便bbb| 日韩欧美一二三区| 91视频91自| 国产一区二区精品在线观看| 亚洲另类春色校园小说| 精品国产乱码久久久久久蜜臀| 91视频观看视频| 国产精品亚洲午夜一区二区三区| 亚洲国产成人av| 中文字幕亚洲在| 亚洲精品一区二区三区影院| 欧美三级中文字| 99热精品一区二区| 国产精品亚洲专一区二区三区| 三级不卡在线观看|