6 个解决方案
#1
不成功 是那里出错?
贴出来看看
贴出来看看
#2
看不到图。
#3
图呢??
#4
一行一行读出字符串,用substring()和trim()函数判断读取的字符串是不是以#DEP这一行
如果是就读把
如果是就读把
#5
一下是我同学在VC++中帮我写的程序,我想直接把它移植到BCB6中:(tt3中是原数据,tt4保存结果)
#include "stdio.h"
#include "iostream.h"
#include "fstream.h"
#include "stdlib.h"
#include "math.h"
void main()
{
ifstream ifile;
ofstream ofiles;
ofstream ofilen;
ofstream ofilex;
int s=1,nzxs=1;
double start[50],stop[50];
/*double nzhd[500],nzed[500];*/
double yxhd[500],yxed[500];
double xc[1000];
int b[50],c[50];
int p[100],q[100];
int t[500];
double a[5201][5];
int i,j,m,n,d,e,f,z;
double u,v,w;
i=j=0;
ifile.open("E:\\tt3.txt",ios::in|ios::nocreate);
if(!ifile)
{
cout<<"不能打开源文件"<<endl;
exit(1);
}
while(ifile.good())
{
for(j=0;j<5;j++)
{ ifile>>a[i][j]; }
i++;
}
if(ifile.eof())
cout<<"End of file reached.\n";
/*for(j=0;j<5;j++) printf("%4.3f\n",a[0][j]);*/
ofiles.open("E:\\tt4.txt",ios::out|ios::nocreate);
i=m=0;
do
{ if(a[i][1]<=89.0000&&a[i][2]>=59.5000)
{start[m]=a[i][0];b[m]=i;
do{ i++; }while (a[i][1]<=89.0000&&a[i][2]>=59.5000 );
stop[m]=a[i-1][0];
c[m]=i-1;
cout<<"砂岩层"<<s<<"起始深度:"<<start[m]<<endl;
cout<<"砂岩层"<<s<<"终止深度:"<<stop[m]<<endl;
ofiles<<" "<<s<<" "<<start[m]<<" "<<stop[m]<<" "<<"砂岩层"<<endl;
m++;s++;i++;
}
else i++;
}while (i<=5201);
ofiles.close();
ifile.close();
}
#include "stdio.h"
#include "iostream.h"
#include "fstream.h"
#include "stdlib.h"
#include "math.h"
void main()
{
ifstream ifile;
ofstream ofiles;
ofstream ofilen;
ofstream ofilex;
int s=1,nzxs=1;
double start[50],stop[50];
/*double nzhd[500],nzed[500];*/
double yxhd[500],yxed[500];
double xc[1000];
int b[50],c[50];
int p[100],q[100];
int t[500];
double a[5201][5];
int i,j,m,n,d,e,f,z;
double u,v,w;
i=j=0;
ifile.open("E:\\tt3.txt",ios::in|ios::nocreate);
if(!ifile)
{
cout<<"不能打开源文件"<<endl;
exit(1);
}
while(ifile.good())
{
for(j=0;j<5;j++)
{ ifile>>a[i][j]; }
i++;
}
if(ifile.eof())
cout<<"End of file reached.\n";
/*for(j=0;j<5;j++) printf("%4.3f\n",a[0][j]);*/
ofiles.open("E:\\tt4.txt",ios::out|ios::nocreate);
i=m=0;
do
{ if(a[i][1]<=89.0000&&a[i][2]>=59.5000)
{start[m]=a[i][0];b[m]=i;
do{ i++; }while (a[i][1]<=89.0000&&a[i][2]>=59.5000 );
stop[m]=a[i-1][0];
c[m]=i-1;
cout<<"砂岩层"<<s<<"起始深度:"<<start[m]<<endl;
cout<<"砂岩层"<<s<<"终止深度:"<<stop[m]<<endl;
ofiles<<" "<<s<<" "<<start[m]<<" "<<stop[m]<<" "<<"砂岩层"<<endl;
m++;s++;i++;
}
else i++;
}while (i<=5201);
ofiles.close();
ifile.close();
}
#6
这个应该不需要移植的吧,应该直接就可以编译的,都用的是c++的基本库
#1
不成功 是那里出错?
贴出来看看
贴出来看看
#2
看不到图。
#3
图呢??
#4
一行一行读出字符串,用substring()和trim()函数判断读取的字符串是不是以#DEP这一行
如果是就读把
如果是就读把
#5
一下是我同学在VC++中帮我写的程序,我想直接把它移植到BCB6中:(tt3中是原数据,tt4保存结果)
#include "stdio.h"
#include "iostream.h"
#include "fstream.h"
#include "stdlib.h"
#include "math.h"
void main()
{
ifstream ifile;
ofstream ofiles;
ofstream ofilen;
ofstream ofilex;
int s=1,nzxs=1;
double start[50],stop[50];
/*double nzhd[500],nzed[500];*/
double yxhd[500],yxed[500];
double xc[1000];
int b[50],c[50];
int p[100],q[100];
int t[500];
double a[5201][5];
int i,j,m,n,d,e,f,z;
double u,v,w;
i=j=0;
ifile.open("E:\\tt3.txt",ios::in|ios::nocreate);
if(!ifile)
{
cout<<"不能打开源文件"<<endl;
exit(1);
}
while(ifile.good())
{
for(j=0;j<5;j++)
{ ifile>>a[i][j]; }
i++;
}
if(ifile.eof())
cout<<"End of file reached.\n";
/*for(j=0;j<5;j++) printf("%4.3f\n",a[0][j]);*/
ofiles.open("E:\\tt4.txt",ios::out|ios::nocreate);
i=m=0;
do
{ if(a[i][1]<=89.0000&&a[i][2]>=59.5000)
{start[m]=a[i][0];b[m]=i;
do{ i++; }while (a[i][1]<=89.0000&&a[i][2]>=59.5000 );
stop[m]=a[i-1][0];
c[m]=i-1;
cout<<"砂岩层"<<s<<"起始深度:"<<start[m]<<endl;
cout<<"砂岩层"<<s<<"终止深度:"<<stop[m]<<endl;
ofiles<<" "<<s<<" "<<start[m]<<" "<<stop[m]<<" "<<"砂岩层"<<endl;
m++;s++;i++;
}
else i++;
}while (i<=5201);
ofiles.close();
ifile.close();
}
#include "stdio.h"
#include "iostream.h"
#include "fstream.h"
#include "stdlib.h"
#include "math.h"
void main()
{
ifstream ifile;
ofstream ofiles;
ofstream ofilen;
ofstream ofilex;
int s=1,nzxs=1;
double start[50],stop[50];
/*double nzhd[500],nzed[500];*/
double yxhd[500],yxed[500];
double xc[1000];
int b[50],c[50];
int p[100],q[100];
int t[500];
double a[5201][5];
int i,j,m,n,d,e,f,z;
double u,v,w;
i=j=0;
ifile.open("E:\\tt3.txt",ios::in|ios::nocreate);
if(!ifile)
{
cout<<"不能打开源文件"<<endl;
exit(1);
}
while(ifile.good())
{
for(j=0;j<5;j++)
{ ifile>>a[i][j]; }
i++;
}
if(ifile.eof())
cout<<"End of file reached.\n";
/*for(j=0;j<5;j++) printf("%4.3f\n",a[0][j]);*/
ofiles.open("E:\\tt4.txt",ios::out|ios::nocreate);
i=m=0;
do
{ if(a[i][1]<=89.0000&&a[i][2]>=59.5000)
{start[m]=a[i][0];b[m]=i;
do{ i++; }while (a[i][1]<=89.0000&&a[i][2]>=59.5000 );
stop[m]=a[i-1][0];
c[m]=i-1;
cout<<"砂岩层"<<s<<"起始深度:"<<start[m]<<endl;
cout<<"砂岩层"<<s<<"终止深度:"<<stop[m]<<endl;
ofiles<<" "<<s<<" "<<start[m]<<" "<<stop[m]<<" "<<"砂岩层"<<endl;
m++;s++;i++;
}
else i++;
}while (i<=5201);
ofiles.close();
ifile.close();
}
#6
这个应该不需要移植的吧,应该直接就可以编译的,都用的是c++的基本库