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

📄 mmiunitconversion.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
   		    			break;
   		    		}
   		    	switch(data->unit2.unit)
   		    		{
   		    		case GRAM:
   		    			data->unit2.value=t*1000;
   		    			break;
   		    		case KILOGRAM:
   		    			data->unit2.value=t;
   		    			break;
   		    		case TON:
   		    			data->unit2.value=t/1000;
   		    			break;
   		    		case OUNCE:
   		    			data->unit2.value=t*1000/31.03;
   		    			break;
   		    		case POUND:
   		    			data->unit2.value=t/0.373;
   		    			break;
   		    		}
   		    	break;   		    
   			  } */  
   	    memset(data->stringbuffer,0,sizeof(data->stringbuffer));
   		data->index=0;
   		data->unit1.value=0;
   		data->unit2.value=0;
   		data->index=0;
   		afterpointflag=FALSE;
   		afterpointcount1=0;
   		if((data->unit1.value>MAX_CHANGE_VALUE)||(data->unit2.value>MAX_CHANGE_VALUE))
   			{
   			dialog_info_init(&display_info);//gdy add
   			 display_info.KeyEvents    = KEY_OK | KEY_RIGHT | KEY_LEFT;
             display_info.LeftSoftKey  = '\0';
             display_info.RightSoftKey = '\0';
             display_info.TextString   = '\0';
             display_info.TextString2  = '\0';
             display_info.TextId2     =TxtOverflow;
             display_info.TextId      = '\0';
             display_info.Time       = ONE_SECS;

             display_info.Callback     = (T_VOID_FUNC)NULL;
          /*
           * Call Info Screen
           */
             info_dialog (win, &display_info);
             data->unit1.value=0;
             data->unit2.value=0;
             memset(data->stringbuffer,0,sizeof(data->stringbuffer));
             data->index=0;
   			}
   		//RightKeyFlag=FALSE;
   		winShow(win);
   		break;
   	case KCD_MNURIGHT:
   		switch(data->unit_type)
   			{
   			case LENGTH:   			
     		   if(!data->position)
   			    {
   			    if(data->unit1.unit<YARD)
   			    	data->unit1.unit++;
   			    else data->unit1.unit=METER;
     		   	}
     		   else
     		   	{
     		   	if(data->unit2.unit<YARD)
   			    	data->unit2.unit++;
   			    else data->unit2.unit=METER;
     		   	}
     		   break;
     		case AREA:
     			if(!data->position)
     				{
     				if(data->unit1.unit<SQ_INCH)
     					data->unit1.unit++;
     				else data->unit1.unit=SQ_METER;
     				}
     			else
     				{
     				if(data->unit2.unit<SQ_INCH)
     					data->unit2.unit++;
     				else data->unit2.unit=SQ_METER;
     				}
     			break;
     		case VOLUME:
     			if(!data->position)
     				{
     				if(data->unit1.unit<QT)
     					data->unit1.unit++;
     				else data->unit1.unit=ML;
     				}
     			else
     				{
     				if(data->unit2.unit<QT)
     					data->unit2.unit++;
     				else data->unit2.unit=ML;
     				}
     			break;
     		case WEIGHT:
     			if(!data->position)
     				{
     				if(data->unit1.unit<POUND)
     					data->unit1.unit++;
     				else data->unit1.unit=GRAM;
     				}
     			else
     				{
     				if(data->unit2.unit<POUND)
     					data->unit2.unit++;
     				else data->unit2.unit=GRAM;
     				}
     			break;
   		}
   		/*
   		data->unit1.value=change((char*)data->stringbuffer); 
   		switch(data->unit_type)
   			   {
   			   case LENGTH:
   		           switch(data->unit1.unit)
   			         {
   			          case METER:
   			     	     t=data->unit1.value;
   			     	     break;
   			          case DECIMETER:
   			     	     t=data->unit1.value/10;
   			     	     break;
   			          case CENTIMETER:
   			     	     t=data->unit1.value/100;
   			     	     break;
   			          case MILLIMETER:
   			     	     t=data->unit1.value/1000;
   			     	     break;
   			          case INCH:
   			     	     t=data->unit1.value*2.45/100;
   			     	     break;
   			          case FOOT:
   			     	     t=data->unit1.value*30.48/100;
   			     	     break;
   			          case MILE:
   			     	     t=data->unit1.value*1609;
   			     	     break;
   			          case YARD:
   			     	     t=data->unit1.value*0.914;
   			     	     break;
   			          case NAUTICAL_MILE:
   			     	     t=data->unit1.value*1852;
   			     	     break;   			     
   		           	}
   		            switch(data->unit2.unit)
   		       	     {
   		       	      case METER:
   			     	     data->unit2.value=t;
   			     	     break;
   			          case DECIMETER:
   			     	     data->unit2.value=t*10;
   			     	     break;
   			          case CENTIMETER:
   			     	     data->unit2.value=t*100;
   			     	     break;
   			          case MILLIMETER:
   			     	     data->unit1.value=t*1000;
   			     	     break;
   			          case INCH:
   			     	     data->unit2.value=t*100/2.45;
   			     	     break;
   			          case FOOT:
   			         	 data->unit2.value=t*100/30.48;
   			     	     break;
   			          case MILE:
   			     	     data->unit2.value=t/1609;
   			     	     break;
   			          case YARD:
   			     	     data->unit2.value=t/0.914;
   			     	     break;
   			          case NAUTICAL_MILE:
   			     	     data->unit2.value/1852;
   			     	     break;   			  
   		            	}
   		           break;
   		    case AREA:
   		    	switch(data->unit1.unit)
   		    	  {
   		    	  case SQ_METER:
   		    	   	t=data->unit1.value;
   		    	     break;
   		    	  case HECTARE:
   		    	   	t=data->unit1.value*10000;
   		    	     break;
   		    	  case MU:
   		    	  	t=data->unit1.value/0.0015;
   		    	  	break;
   		    	  case SQ_FOOT:
   		    	  	t=data->unit1.value*929/10000;
   		    	  	break;   		    	
   		    	  case SQ_YARD:
   		    	  	t=data->unit1.value*0.836;
   		    	  	break;
   		    	  case ACRE:
   		    	  	t=data->unit1.value*4047;
   		    	  	break;
   		    	  case SQ_INCH:
   		    	  	t=data->unit1.value*6.451/10000;
   		    	  	break;
   		    	  }
   		    	switch(data->unit2.unit)
   		    	  {
   		    	  case SQ_METER:
   		    	    data->unit2.value=t;
   		    	     break;
   		    	  case HECTARE:
   		    	   	data->unit2.value=t/10000;
   		    	     break;
   		    	  case MU:
   		    	  	data->unit2.value=t/0.0015;
   		    	  	break;
   		    	  case SQ_FOOT:
   		    	  	data->unit2.value=t*10000/929;
   		    	  	break;   		    	
   		    	  case SQ_YARD:
   		    	  	data->unit2.value=t/0.836;
   		    	  	break;
   		    	  case ACRE:
   		    	  	data->unit2.value=t/4047;
   		    	  	break;
   		    	  case SQ_INCH:
   		    	  	data->unit2.value=t*10000/6.451;
   		    	  	break;
   		    	  }
   		    	break;
   		    case VOLUME:
   		    	switch(data->unit1.unit)
   		    		{
   		    		case LITRE:
   		    			t=data->unit1.value;
   		    			break;
   		    		case ML:
   		    			t=data->unit1.value/1000;
   		    			break;
   		    		case GAL:
   		    			t=data->unit1.value*4.546;
   		    			break;
   		    		case QT:
   		    			t=data->unit1.value*1.136;
   		    			break;
   		    		}
   		    	switch(data->unit2.unit)
   		    		{
   		    		case LITRE:
   		    			data->unit2.value=t;
   		    			break;
   		    		case ML:
   		    			data->unit2.value=t*1000;
   		    			break;
   		    		case GAL:
   		    			data->unit2.value=t/4.546;
   		    			break;
   		    		case QT:
   		    			data->unit2.value=t/1.136;
   		    			break;
   		    		}
   		    	break;
   		    case WEIGHT:
   		    	switch(data->unit1.unit)
   		    		{
   		    		case GRAM:
   		    			t=data->unit1.value/1000;
   		    			break;
   		    		case KILOGRAM:
   		    			t=data->unit1.value;
   		    			break;
   		    		case TON:
   		    			t=data->unit1.value*1000;
   		    			break;
   		    		case OUNCE:
   		    			t=data->unit1.value*31.03/1000;
   		    			break;
   		    		case POUND:
   		    			t=data->unit1.value*0.373;
   		    			break;
   		    		}
   		    	switch(data->unit2.unit)
   		    		{
   		    		case GRAM:
   		    			data->unit2.value=t*1000;
   		    			break;
   		    		case KILOGRAM:
   		    			data->unit2.value=t;
   		    			break;
   		    		case TON:
   		    			data->unit2.value=t/1000;
   		    			break;
   		    		case OUNCE:
   		    			data->unit2.value=t*1000/31.03;
   		    			break;
   		    		case POUND:
   		    			data->unit2.value=t/0.373;
   		    			break;
   		    		}
   		    	break;   		    
   			  }*/		
   		memset(data->stringbuffer,0,sizeof(data->stringbuffer));
   		data->index=0;
   		data->unit1.value=0;
   		data->unit2.value=0;
   		data->index=0;
   		afterpointflag=FALSE;
   		afterpointcount1=0;
   		if((data->unit1.value>MAX_CHANGE_VALUE)||(data->unit2.value>MAX_CHANGE_VALUE))
   			{
   			dialog_info_init(&display_info);//gdy add
   			 display_info.KeyEvents    = KEY_OK | KEY_RIGHT | KEY_LEFT;
             display_info.LeftSoftKey  = '\0';
             display_info.RightSoftKey = '\0';
             display_info.TextString   = '\0';
             display_info.TextString2  = '\0';
             display_info.TextId2     =TxtOverflow;
             display_info.TextId      = '\0';
             display_info.Time       = ONE_SECS;

             display_info.Callback     = (T_VOID_FUNC)NULL;
          /*
           * Call Info Screen
           */


          
             info_dialog (win, &display_info);
             data->unit1.value=0;
             data->unit2.value=0;
             memset(data->stringbuffer,0,sizeof(data->stringbuffer));
             data->index=0;
   			}
   		//RightKeyFlag=FALSE;
   		winShow(win);
   		break;
   	case KCD_RIGHT:
   		if(strlen(data->stringbuffer))
   			{
   			pointflag=TRUE;
   			if(data->stringbuffer[strlen(data->stringbuffer)-1]=='.')
   				{
   				  afterpointcount1=0;
   				  afterpointflag=FALSE;
   				  pointflag=FALSE;
   				}
   			data->stringbuffer[strlen(data->stringbuffer)-1]='\0';
   			data->index--;
   			data->unit1.value=change((char*)data->stringbuffer);   		
   		    switch(data->unit_type)
   			   {
   			   case LENGTH:
   		           switch(data->unit1.unit)
   			         {
   			          case METER:
   			     	     t=data->unit1.value;
   			     	     break;
   			          case DECIMETER:
   			     	     t=data->unit1.value/10;
   			     	     break;
   			          case CENTIMETER:
   			     	     t=data->unit1.value/100;
   			     	     break;
   			          case MILLIMETER:
   			     	     t=data->unit1.value/1000;
   			     	     break;
   			          case INCH:
   			     	     t=data->unit1.value*2.45/100;
   			     	     break;
   			          case FOOT:
   			     	     t=data->unit1.value*30.48/100;
   			     	     break;
   			          case MILE:
   			     	     t=data->unit1.value*1609;
   			     	     break;
   			          case YARD:
   			     	     t=data->unit1.value*0.914;
   			     	     break;
   			            			     
   		           	}
   		            switch(data->unit2.unit)
   		       	     {
   		       	      case METER:
   			     	     data->unit2.value=t;
   			     	     break;
   			          case DECIMETER:
   			     	     data->unit2.value=t*10;
   			     	     break;
   			          case CENTIMETER:
   			     	     data->unit2.value=t*100;
   			     	     break;
   			          case MILLIMETER:
   			     	     data->unit1.value=t*1000;
   			     	     break;
   			          case INCH:
   			     	     data->unit2.value=t*100/2.45;
   			     	     break;
   			          case FOOT:
   			         	 data->unit2.value=t*100/30.48;
   			     	     break;
   			          case MILE:
   			     	     data->unit2.va

⌨️ 快捷键说明

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