⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cx170.c

📁 170话费催交系统
💻 C
📖 第 1 页 / 共 5 页
字号:
	if (digbufp[strlen(digbufp)-1]=='#')		digbufp[strlen(digbufp)-1] = '\0';	len = strlen(digbufp) ;	if (len < 3)		return NULL ;	for (i=0;i<len;i++)		if (digbufp[i] == '*')			return NULL ;	if ((len == 3) && ((*digbufp >= '2')&&(*digbufp <= '9')))	{		gsmbill = 0;		return ((void *) 1) ;	}	if ((digbufp[0] == '1') && (digbufp[1] == '3'))	{		gsmbill = atoi(digbufp);		return ((void *) 1) ;	}	return NULL ;}void *val_phn2 (digbufp)char *digbufp ;{	int    len, i ;	if (digbufp[strlen(digbufp)-1]=='#')		digbufp[strlen(digbufp)-1] = '\0' ;	len = strlen(digbufp) ;	for (i=0;i<len;i++)		if (digbufp[i] == '*')			return NULL ;	if (len < 4)		return NULL ;	else		return ((void *) 1) ;}void *val_phn3 (digbufp)char *digbufp ;{	int    len, i ;	if (digbufp[strlen(digbufp)-1]=='#')		digbufp[strlen(digbufp)-1] = '\0' ;	len = strlen(digbufp) ;	for (i=0;i<len;i++)		if (digbufp[i] == '*')			return NULL ;	if (len < 7)		return NULL ;	else		return ((void *) 1) ;}void *val_secret (digbufp)char *digbufp ;{	int    i, len ;	if (digbufp[strlen(digbufp)-1] == '#')		digbufp[strlen(digbufp)-1] = '\0' ;	len = strlen (digbufp) ;	if (len < 6) {		for (i=5;i>5-len;i--)			digbufp[i] = digbufp[i+len-6] ;		for (i=0;i<=5-len;i++)			digbufp[i] = ' ' ;		digbufp[6] = '\0' ;	}	if (strcmp (secret, digbufp) == 0)		return ((void *) 1) ;	else		return NULL ;	return NULL ;}void *val_date (digbufp)char *digbufp ;{	time_t  tt ;	struct tm *tblock ;	char act2[5], strtmp [8] ;	typedef struct valdd {		int mmon ;		int maxday ;	};	unsigned int  i ;	int    month, day, tmp ;	struct valdd tbmon[] = {		{1, 31},		{2, 29},		{3, 31},		{4, 30},		{5, 31},		{6, 30},		{7, 31},		{8, 31},		{9, 30},		{10, 31},		{11, 30},		{12, 31	}	};	if (ATDX_TERMMSK(devhandle)) {		if (digbufp[strlen(digbufp)-1] == '#')			digbufp[strlen(digbufp)-1] = '\0' ;		if (strlen (digbufp) == 0)			return (NULL) ;		for (i=0; i<strlen(digbufp) ; i++)			if (digbufp[i] == '*')				return (NULL) ;		tmp = atoi (digbufp) ;		month = tmp / 100 ;		day = tmp - month*100 ;		if (month == 0) {			tt = time (NULL) ;			tblock = localtime (&tt) ;			month = tblock->tm_mon + 1;			sprintf (act2, "%d", month) ;			if (month < 10) {				act2[1] = act2[0] ;				act2[0] = '0' ;			}			act2[2] = '\0' ;			strcpy (strtmp, act2) ;			strcat (strtmp, digbufp) ;			strcpy (digbufp, strtmp) ;		} else if (strlen (digbufp) == 3) {			strcpy (strtmp, "0") ;			strcat (strtmp, digbufp) ;			strcpy (digbufp, strtmp) ;		}		for (i=0; i<12; i++) {			if (month == tbmon[i].mmon) {				if (day <= tbmon[i].maxday)					return ((void *) 1) ;				else					return (NULL) ;			}		}	}	return (NULL) ;}void *val_month (digbufp)char *digbufp ;{	int  i ;	if (ATDX_TERMMSK(devhandle)) {		if (digbufp[strlen(digbufp)-1] == '#') {			digbufp[strlen(digbufp)-1] = '\0' ;		}		if (strlen (digbufp) == 0)			return (NULL) ;		for (i=0; i<strlen(digbufp) ; i++)			if (digbufp[i] == '*')				return (NULL) ;		i = atoi (digbufp) ;		if (i != 0 && i >=1 && i <=12)			return ((void *) 1) ;	}	return (NULL) ;}void errnwsct(){	unsigned short  recvdig;//	recvdig = def_rp_tpt[DX_MAXDTMF-1].tp_length; /* Save max. digit setting *///	def_rp_tpt[DX_MAXDTMF-1].tp_length = 0; /* Don't terminate on any digit */	playmsg("nwsctmlterr");//	def_rp_tpt[DX_MAXDTMF-1].tp_length = recvdig; /* Restore max. digit set *///	etime () ;	duration();	offhkdti () ;	longjmp(idlestate,1);}void bye_acnt(){	unsigned short  recvdig;//	recvdig = def_rp_tpt[DX_MAXDTMF-1].tp_length; /* Save max. digit setting *///	def_rp_tpt[DX_MAXDTMF-1].tp_length = 0; /* Don't terminate on any digit */	playmsg("mlterrhao");//	def_rp_tpt[DX_MAXDTMF-1].tp_length = recvdig; /* Restore max. digit set */	duration();	tb_offhkdti () ;	longjmp(idlestate,1);}void bye_date(){	unsigned short  recvdig;//	recvdig = def_rp_tpt[DX_MAXDTMF-1].tp_length; /* Save max. digit setting *///	def_rp_tpt[DX_MAXDTMF-1].tp_length = 0; /* Don't terminate on any digit */	playmsg("mltdterr");//	def_rp_tpt[DX_MAXDTMF-1].tp_length = recvdig; /* Restore max. digit set */	duration();	tb_offhkdti () ;	longjmp(idlestate,1);}void bye_month(){	unsigned short  recvdig;//	recvdig = def_rp_tpt[DX_MAXDTMF-1].tp_length; /* Save max. digit setting *///	def_rp_tpt[DX_MAXDTMF-1].tp_length = 0; /* Don't terminate on any digit */	playmsg("mltmonerr");//	def_rp_tpt[DX_MAXDTMF-1].tp_length = recvdig; /* Restore max. digit set */	duration();	tb_offhkdti () ;	longjmp(idlestate,1);}void bye_scrt(){	unsigned short  recvdig;//	recvdig = def_rp_tpt[DX_MAXDTMF-1].tp_length; /* Save max. digit setting *///	def_rp_tpt[DX_MAXDTMF-1].tp_length = 0; /* Don't terminate on any digit */	playmsg("mlterrmima");//	def_rp_tpt[DX_MAXDTMF-1].tp_length = recvdig; /* Restore max. digit set */	duration();	tb_offhkdti () ;	longjmp(idlestate,1);}void bye_bye (){	unsigned short  recvdig;//	recvdig = def_rp_tpt[DX_MAXDTMF-1].tp_length; /* Save max. digit setting *///	def_rp_tpt[DX_MAXDTMF-1].tp_length = 0; /* Don't terminate on any digit *///	def_rp_tpt[DX_MAXDTMF-1].tp_length = recvdig; /* Restore max. digit set *///	etime () ;	duration();	tb_offhkdti () ;	longjmp(idlestate,1);}void startt (){	time_t  tt ;	char month[6], *str ;	typedef struct valdd2 {		char *chmon ;		char *digmon ;	};	int    i ;	struct valdd2 tbmon[] = {		{"Jan", "01"},		{"Feb", "02"},		{"Mar", "03"},		{"Apr", "04"},		{"May", "05"},		{"Jun", "06"},		{"Jul", "07"},		{"Aug", "08"},		{"Sep", "09"},		{"Oct", "10"},		{"Nov", "11"},		{"Dec", "12"}	};	tt = time (NULL) ;	str = ctime (&tt) ;	strtime[0] = str[20] ;	strtime[1] = str[21] ;	strtime[2] = str[22] ;	strtime[3] = str[23] ;	strtime[4] = '\0' ;	month[0] = str[4] ;	month[1] = str[5] ;	month[2] = str[6] ;	month[3] = '\0' ;	for (i=0;i<12;i++) {		if (strcmp (month, tbmon[i].chmon) == 0) {			strcat (strtime, tbmon[i].digmon) ;			break ;		}	}	strtime[6] = str[8] ;	strtime[7] = str[9] ;	strtime[8] = str[11] ;	strtime[9] = str[12] ;	strtime[10] = str[14] ;	strtime[11] = str[15] ;	strtime[12] = str[17] ;	strtime[13] = str[18] ;	strtime[14] = '\0' ;	for (i=0;i<14;i++)		if (strtime[i] == ' ')			strtime[i] = '0' ;	return;}void etime (){	time_t  tt ;	char month[6], *str ;	typedef struct valdd2 {		char *chmon ;		char *digmon ;	};	int    i ;	struct valdd2 tbmon[] = {		{"Jan", "01"},		{"Feb", "02"},		{"Mar", "03"},		{"Apr", "04"},		{"May", "05"},		{"Jun", "06"},		{"Jul", "07"},		{"Aug", "08"},		{"Sep", "09"},		{"Oct", "10"},		{"Nov", "11"},		{"Dec", "12"	}	};	tt = time (NULL) ;	str = ctime (&tt) ;	endtime[0] = str[20] ;	endtime[1] = str[21] ;	endtime[2] = str[22] ;	endtime[3] = str[23] ;	endtime[4] = '\0' ;	month[0] = str[4] ;	month[1] = str[5] ;	month[2] = str[6] ;	month[3] = '\0' ;	for (i=0;i<12;i++) {		if (strcmp (month, tbmon[i].chmon) == 0) {			strcat (endtime, tbmon[i].digmon) ;			break ;		}	}	endtime[6] = str[8] ;	endtime[7] = str[9] ;	endtime[8] = str[11] ;	endtime[9] = str[12] ;	endtime[10] = str[14] ;	endtime[11] = str[15] ;	endtime[12] = str[17] ;	endtime[13] = str[18] ;	endtime[14] = '\0' ;	for (i=0;i<14;i++)		if (endtime[i] == ' ')			endtime[i] = '0' ;	return;}long binsrh (objstr, fname)char *objstr ;char *fname ;{	union {		unsigned char str[5] ;		unsigned long tblint ;	}pp ;	FILE *handle ;	int  hle ;	long nup, nlow, mm, len ;	char tmp[8] ;	int  kk ;	if ((handle = fopen (fname, "r")) == NULL)		return -1L ;	fseek (handle, 0, 2) ;	len = ftell (handle) ;	fclose (handle) ;	hle = open (fname, O_RDONLY) ;	nlow = 0L ;	nup = len / 10L ;	while (1) {		mm = (nup + nlow) / 2L ;		lseek (hle, mm*10L, 0) ;		read (hle, tmp, 6) ;		tmp[6] = '\0' ;		read (hle, pp.str, 4) ;		kk = strcmp (tmp, objstr) ;		if (kk == 0) {			close (hle) ;			return (pp.tblint) ;		} else if (kk > 0)			nup = mm -1L ;		else			nlow = mm + 1L ;		if (nup < nlow) {			close (hle) ;			return (-1L) ;		}	}	close (hle) ;	return (-1L) ;}int rdsrt (){	int  kk ;	FILE *hle ;	long nup, nlow, mm, len ;	char str1[16], tmp[24] ;	if ((hle = fopen ("passwd", "rt")) == NULL) {//		printf ("Can't open file passwd\n") ;		return 0 ;	}	fseek (hle, 0, 2) ;	len = ftell (hle) ;	nlow = 0L ;	nup = len / 18;	while (1) {		mm = (nup + nlow) / 2L ;		fseek (hle, mm*18, 0) ;		fgets (str1, 12, hle) ;		if (gsmbill)			str1[10] = '\0';		else			str1[7] = '\0';		fgets (tmp, 7, hle) ;		tmp[6] = '\0' ;		kk = strcmp (str1, longphone) ;		if (kk == 0) {//			printf ("Ok !\n") ;			strcpy (secret, tmp) ;			break ;		} else if (kk > 0)			nup = mm -1L ;		else			nlow = mm + 1L ;		if (nup < nlow) {			fclose (hle) ;//			printf ("not match\n") ;			return 0 ;		}	}	fclose (hle) ;	return 1 ;}void mxthmon (){	switch (phonenum[0])	{	  case '9':		dgd1(NULL);		break;	  case '1':		gsm1(NULL);		break;	  default:		abcd1 (NULL) ;		break;	}	return;}void gjqhdy (){	char asdf[8] ;	strcpy (asdf, gjh) ;	switch (phonenum[0])	{	  case '9':		dgd1(asdf);		break;	  case '1':		gsm1(asdf);		break;	  default:		abcd1 (asdf) ;		break;	}	return;/*	if (phonenum[0] == '9' || phonenum[0] == '1') {		dgd1 (asdf) ;		return ;	}	abcd1 (asdf) ;*/}void gnqhdy (){	char asdf[8] ;printf("enter gnqhdy(), gnh=%s\n", gnh);	strcpy (asdf, gnh) ;	switch (phonenum[0])	{	  case '9':		dgd1(asdf);		break;	  case '1':		gsm1(asdf);		break;	  default:		abcd1 (asdf) ;		break;	}	return;/*		if (phonenum[0] == '9' || phonenum[0] == '1') {		dgd1 (asdf) ;		return ;	}	abcd1 (asdf) ;*/}void dfhmdy (){	char asdf[18] ;	strcpy (asdf, dfhm) ;	switch (phonenum[0])	{	  case '9':		dgd1(asdf);		break;	  case '1':		gsm1(asdf);		break;	  default:		abcd1 (asdf) ;		break;	}	return;}int valphone (digbufp)char *digbufp ;{	int  i, j, len, toltal_2 ;	FILE *handle ;	long asdf1, asdf2, phonelg ;	char tmp[85], str1[12], str2[12], pqr[60] ;	phonelg = atol (digbufp) ;	if ((handle = fopen ("/jfsrv/xtydj/toltel.h", "r")) == NULL) {//		printf ("\nError : can not open 'toltel.h'\n\n") ;		writefifo(2, "Error: can not open toltel.h");		return -1 ;	}	fgets(tmp, 80, handle);	fgets(tmp, 80, handle) ;	fgets(tmp, 80, handle) ;	len = strlen(tmp);	for (i = 0; i < len-17; i++) 		pqr[i] = tmp[i+17];	pqr[i+17] = '\0';	toltal_2 = atoi (pqr) ;	for (i=0;i<toltal_2;i++) {		fgets (tmp, 80, handle) ;		fgets (tmp, 80, handle) ;		len = strlen (tmp) ;		for (j=0;j<10 && j<len;j++)			str1[j] = tmp[j+14] ;		str1[9] = '\0' ;		asdf1 = atol (str1) ;		fgets (tmp, 80, handle) ;		len = strlen (tmp) ;		for (j=0;j<10 && j<len;j++)			str2[j] = tmp[j+14] ;		str2[9] = '\0' ;		asdf2 = atol (str2) ;		if ((phonelg <= (asdf1+asdf2)) && (phonelg >= asdf1)) {			fclose (handle) ;			return 0 ;		}		fgets (tmp, 80, handle) ;	}	fclose (handle) ;	return -1 ;}void dqmx1122 (){	switch(phonenum[0])	{	  case '9':		dgd4(NULL);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -