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

📄 lazhi.cpp

📁 工程斜井校直程序
💻 CPP
字号:
 #include <math.h>
#include <stdio.h>

void main()
{

//读数据	
	
		FILE *fp1;
		char Name[20];
		float Stdep,Enddep,Rlev;
		float Stjiaodu,Endjiaodu;
		int CurNum;
		
		if((fp1=fopen("inputdata.dat","r"))==NULL)
		{
			printf("error!!!");
			return;
		}
	
		fscanf(fp1,"%s",Name);
		fscanf(fp1,"%f%f",&Stdep,&Enddep);
//		fscanf(fp1,"%f",&Enddep);
		fscanf(fp1,"%f%f",&Stjiaodu,&Endjiaodu);
//		fscanf(fp1,"%f",&Endjiaodu);
		fscanf(fp1,"%f",&Rlev);
		fscanf(fp1,"%d",&CurNum);
	 
	 	int Lay_num;
		Lay_num = (int)((Enddep-Stdep)/Rlev) + 1;

		float *Shendu, *Jiaodu, *GR;
		Shendu = new float [Lay_num];
		Jiaodu = new float [Lay_num];
		GR     = new float [Lay_num];
	
		for(int i=0;i<Lay_num;i++)
		{
			fscanf(fp1,"%f %f %f",&Shendu[i],&Jiaodu[i],&GR[i]);
			printf("%f   %f   %f\n",Shendu[i],Jiaodu[i],GR[i]);
		}
	
		fclose(fp1);



//处理数据——拉直
		
		int kkk;
		float TVD1, TVD2;
		float Sinjiaodu;
		float jiaoduj;
				
		TVD1=Stdep;
		Sinjiaodu = (sin(((Jiaodu[Lay_num-1])*3.1415926)/180.0) - sin(((Jiaodu[0] )*3.1415926)/180.0));
		jiaoduj   = ((Jiaodu[Lay_num-1]-Jiaodu[0])*3.1415926/180.0);
		TVD2      = TVD1 + Sinjiaodu*(Enddep-Stdep)/jiaoduj;
//		TVD2=TVD1+(Enddep-Stdep)*(sin(((Jiaodu[Lay_num-1])*3.1415926)/180.0) - sin(((Jiaodu[0] )*3.1415926)/180.0))/((Jiaodu[Lay_num-1]-Jiaodu[0])*3.1415926/180.0);
		printf("%f\n",TVD2);
			
		kkk = (int)((TVD2-TVD1)/Rlev)+1 ;
		printf("%d\n",kkk);

		float *TVD, *DP;
		float *LogChzhData;
		TVD          = new float[kkk];
		DP           = new float[kkk];
		LogChzhData  = new float[kkk];

		FILE *fp2;
		fp2=fopen("outdata2.dat","w+");
		
		fprintf(fp2," %s\n","Gudongchuli");
		fprintf(fp2," %d\n",kkk+1);
		fprintf(fp2,"%8.3s  ","TVD");
		fprintf(fp2,"%9.3s  ","DEP");
		fprintf(fp2,"%12.3s  \n","GR");

//计算垂直深度、相应的斜井深度及测井曲线的插值
		
		for(i=0;i<kkk;i++)
		{
			TVD[i] = TVD1+(i*Rlev);
			DP[i] = Enddep-((TVD2-TVD[i])*(Enddep-Stdep))/(TVD2-TVD1);

			LogChzhData[i] = GR[i]+((GR[i+1]-GR[i-1])*(DP[i]-DP[i-1]))/Rlev;
			LogChzhData[0] = GR[0];
			
			printf("%9.3f %9.3f %9.3f\n",TVD[i],DP[i],LogChzhData[i]);
			fprintf(fp2,"%12.3f%12.3f%12.3f\n",TVD[i],DP[i],LogChzhData[i]);
		}

		fclose(fp2);
	

		delete Shendu;
		delete Jiaodu;
		delete GR;
		delete TVD;
		delete DP;
		delete LogChzhData;

} 

⌨️ 快捷键说明

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