阳光石油网|石油技术交流|石油人论坛

 找回密码
 欢迎注册
查看: 2247|回复: 9

[前后处理] 转发师弟的:利用C++生成CMG繁琐井位数据之二

[复制链接]
  • TA的每日心情

    2018-11-29 12:01
  • 签到天数: 259 天

    [LV.8]以坛为家I

    发表于 2013-3-21 10:44:08 | 显示全部楼层 |阅读模式

    马上注册,下载丰富资料,享用更多功能,让你轻松玩转阳光石油论坛。

    您需要 登录 才可以下载或查看,没有账号?欢迎注册

    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;
    }

    评分

    参与人数 1阳光币 +20 收起 理由
    justbetoo + 20 精品资料,感谢楼主

    查看全部评分

  • TA的每日心情

    2018-11-29 12:01
  • 签到天数: 259 天

    [LV.8]以坛为家I

     楼主| 发表于 2013-3-21 10:45:23 | 显示全部楼层

    该用户从未签到

    发表于 2013-3-31 16:38:17 | 显示全部楼层
    是爷们的娘们的都帮顶!大力支持
  • TA的每日心情
    开心
    2023-12-12 21:38
  • 签到天数: 1020 天

    [LV.10]以坛为家III

    发表于 2013-8-13 21:37:24 | 显示全部楼层
    楼主大牛
  • TA的每日心情
    郁闷
    2017-12-1 11:20
  • 签到天数: 145 天

    [LV.7]常住居民III

    发表于 2013-12-18 10:42:01 | 显示全部楼层
    楼主大牛
  • TA的每日心情
    开心
    2018-1-10 00:31
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    发表于 2015-6-17 02:02:39 | 显示全部楼层
    学习学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-2-28 13:12
  • 签到天数: 366 天

    [LV.9]以坛为家II

    发表于 2016-1-1 14:13:54 | 显示全部楼层
    学习学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-2-28 13:12
  • 签到天数: 366 天

    [LV.9]以坛为家II

    发表于 2016-1-1 14:14:01 | 显示全部楼层
    学习学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-19 10:57
  • 签到天数: 241 天

    [LV.8]以坛为家I

    发表于 2016-6-13 20:22:33 | 显示全部楼层
    正好在学c++,好好学习学习!楼主给力
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-12-29 17:06
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    发表于 2016-12-17 10:15:38 | 显示全部楼层
    楼主大牛,学习了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 欢迎注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|阳光石油网 ( 鲁ICP备2021003870号-1 )

    GMT+8, 2024-5-21 07:11 , Processed in 0.068562 second(s), 23 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表