TA的每日心情 | 怒 2018-11-29 12:01 |
---|
签到天数: 259 天 [LV.8]以坛为家I
|
马上注册,下载丰富资料,享用更多功能,让你轻松玩转阳光石油论坛。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
x
当所写的井位数据特别庞大时,人工输入就成了一个体力活,按我的思路这些工作应该是计算机来做的,所以我这个懒人就写程序了。
其实程序很简单,主要就运用了读数据文件的ifstream类对象和写数据文件的ofstream类对象。每次循环读取一条记录,读取的值存入定义的变量中,然后将这些值和关键字搭配写入文件。
例如,我所要定义的井有200多口,首先要准备数据,按每行“I J wellname”来写数据
21 23 P1
22 33 P2
简单方法就是把excel表中的数据直接粘贴就可以了。下面我的井位数据文件是jw.dat,得到的井定义数据文件是welldefinition.dat,定义的全是生产井。如果要定义注入井,修改一下相关的关键字就可以了。以下是源代码:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream inClientFile("jw.dat",ios::in);
if(!inClientFile)
{
cerr<<"open jw.dat error!\n";
return 0;
} ofstream outClientFile("welldefinition.dat",ios::app); if(!outClientFile)
{
cerr<<"open date.dat error!\n";
return 0;
}
int i,j;
char name[10];
while(inClientFile >>i >>j >>name)
{
outClientFile<<"WELL '"<<name<<"'\n"
<<"PRODUCER '"<<name<<"'\n"
<<"OPERATE MAX STO 50\n"
<<"GEOMETRY K 0.3 0.5 1. 0.\n"
<<"PERF GEO '"<<name<<"'\n"
<<"**$ UBA ff Status Connection\n"
<<i<<" "<<j<<" 1 1. OPEN FLOW-TO 'SURFACE' REFLAYER\n"
<<i<<" "<<j<<" 2 1. OPEN FLOW-TO 1\n"
<<i<<" "<<j<<" 3 1. OPEN FLOW-TO 2\n"
<<i<<" "<<j<<" 4 1. OPEN FLOW-TO 3\n"
<<i<<" "<<j<<" 5 1. OPEN FLOW-TO 4\n"
<<i<<" "<<j<<" 7 1. OPEN FLOW-TO 5\n"
<<i<<" "<<j<<" 8 1. OPEN FLOW-TO 6\n"
<<"SHUTIN '"<<name<<"'\n"
<<"**\n"
<<"**\n";
}
outClientFile.close();
return 0;
} |
评分
-
查看全部评分
|