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

📄 mmiunitconversion.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
   			     	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(string2,0,sizeof(string2));
   		sprintf(string2,"%f",data->unit2.value);   		
   		if((data->unit1.value>MAX_CHANGE_VALUE)||(data->unit2.value>MAX_CHANGE_VALUE))
   			{
   			 dialog_info_init(&display_info);  			 
             display_info.TextId2     =TxtOverflow;             
             display_info.Time       = FOREVER;
             display_info.iconindex = REMIND_NORECORD;

             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));
             afterpointflag=FALSE;
   		     afterpointcount1=0;
             data->index=0;
   			}
   		//RightKeyFlag=FALSE;
   		winShow(win);   			
   		break;
   	case KCD_LEFT:
   	case KCD_OK:
   		if(data->unit_type<UNITEND-1)
   			{
   		    data->unit_type++;
   		    data->unit_id++;
   			}
   		else
   			{
   			data->unit_type=LENGTH;
   			data->unit_id=TxtLength;
   			}
   		data->unit1.unit=0;
   		data->unit2.unit=0;
   		data->unit1.value=0;
   		data->unit2.value=0;
   		data->index=0;
   		afterpointflag=FALSE;
   		afterpointcount1=0;
   		memset(data->stringbuffer,0,sizeof(data->stringbuffer));
   		//RightKeyFlag=FALSE;
   		winShow(win);
   		break;
   	case KCD_MNUUP:    		
   	case KCD_MNUDOWN:
   		data->position=!data->position;
   		afterpointflag=FALSE;
   		afterpointcount1=0;
   		//RightKeyFlag=FALSE;
   		winShow(win);
   		break;
   	case KCD_MNULEFT:
   		switch(data->unit_type)
   			{
   			case LENGTH:   			
     		   if(!data->position)
   			    {
   			    if(data->unit1.unit>METER)
   			    	data->unit1.unit--;
   			    else data->unit1.unit=YARD;
     		   	}
     		   else
     		   	{
     		   	if(data->unit2.unit>METER)
   			    	data->unit2.unit--;
   			    else data->unit2.unit=YARD;
     		   	}
     		   break;
     		case AREA:
     			if(!data->position)
     				{
     				if(data->unit1.unit>SQ_METER)
     					data->unit1.unit--;
     				else data->unit1.unit=SQ_INCH;
     				}
     			else
     				{
     				if(data->unit2.unit>SQ_METER)
     					data->unit2.unit--;
     				else data->unit2.unit=SQ_INCH;
     				}
     			break;
     		case VOLUME:
     			if(!data->position)
     				{
     				if(data->unit1.unit>ML)
     					data->unit1.unit--;
     				else data->unit1.unit=QT;
     				}
     			else
     				{
     				if(data->unit2.unit>ML)
     					data->unit2.unit--;
     				else data->unit2.unit=QT;
     				}
     			break;
     		case WEIGHT:
     			if(!data->position)
     				{
     				if(data->unit1.unit>GRAM)
     					data->unit1.unit--;
     				else data->unit1.unit=POUND;
     				}
     			else
     				{
     				if(data->unit2.unit>GRAM)
     					data->unit2.unit--;
     				else data->unit2.unit=POUND;
     				}
     			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;

⌨️ 快捷键说明

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