最近,做了一段输水管道桩号计算的数据处理。

其中涉及,根据桩号计算坐标,在地质体中加入中线转点坐标的问题。

数据量有1500多条。一个个计算比较麻烦。所以考虑编程批量计算。

第一步:数据准备

1.中线转点坐标值(转点桩号里程,转点X,转点Y)

2.地质体信息(地质体桩号里程,待求X,待求Y,高程h,s1上地层编号,s2下地层编号,s1上地层属性,s2下地层属性,s1编码,s2编码)

第二步:编码

#include <iostream>
#include <fstream>
#include <string>
#include "vector3.h"
#include<iterator>
#include<iomanip>
#include <list>
#include <sstream>
#include <string>
#include <ctype.h>
using namespace std;
typedef struct CzHstuct
{
bool tf;//是否是中线点
int Id;
int linenumb;
double x,y,h,Length;
string s1,s2,stmp1,stmp2,s1zw,s2zw;
 
bool operator < (CzHstuct & b) {
       return Length < b.Length;
}

};

//桩号坐标计算,x,y,z;z代表桩距
typedef struct CIrrPostion
{
int posnum;
POSTION *positionlist;

};
//计算输入数据

typedef struct CzjPosIndex
{
int Indexnum;
double *zjIndexlist;

};

//定义已知地质体信息
typedef struct CzHPosDataList
{
int Indexnum;
CzHstuct *posIndexlist;

};

//定义已知地质体信息
typedef struct CRecordxlList
{
int Indexnum;
    string Nameofline;
int LineId;

};

char  gEnergyFile[30];

typedef list<CRecordxlList> LISTRECORDLINE;  
typedef list<CzHstuct> LISTCZHSTUCT;

全局变量记录桩号信息//线路I信息
  LISTRECORDLINE meRecordCountNamelist;
  LISTCZHSTUCT meListzhstruct;
  //中线桩数据
  LISTCZHSTUCT mezxzdataList;

LISTCZHSTUCT :: iterator iterzhst;//指针桩号
   LISTCZHSTUCT :: iterator iterzxst;//指针中线桩号
   LISTRECORDLINE::iterator iterxlst;//指针线路

//读取桩距列表
 CzjPosIndex ReadposIndex()
{
CzjPosIndex PosIndexlist;
FILE    *fp;
    char    stemp[50];

strcpy(gEnergyFile,"zjlist.txt");
//cinployfloat
fp = fopen( gEnergyFile, "r" );
    if ( fp == NULL ) 
    {  
 printf( "\n Can not open energy data file:%s\n", gEnergyFile);
          exit(0);
         // AfxMessageBox( "\n Can not open energy data,没有找到屋顶参数!提示!默认设置:(30,5) ");
// return  Poslist;
        
    }  
    fseek( fp, 0, SEEK_SET);
fscanf( fp, "%s", stemp);

while( strcmp( stemp,"Zjlist:" ) != 0)  fscanf( fp, "%s", stemp);
fscanf( fp, "%d", &(PosIndexlist.Indexnum));
PosIndexlist.zjIndexlist =(double*)malloc(sizeof(double)* PosIndexlist.Indexnum);

for(int i=0;i<PosIndexlist.Indexnum;i++)
{
fscanf( fp, "%lf", &(PosIndexlist.zjIndexlist[i]));
}
 fclose( fp );
   return PosIndexlist;

}

//读取桩距坐标类表
CIrrPostion ReadPosdatas()
{
CIrrPostion Poslist;
FILE    *fp;
    char    stemp[50];

strcpy(gEnergyFile,"zhzb.txt");
//cinploydouble
fp = fopen( gEnergyFile, "r" );
    if ( fp == NULL ) 
    {  
 printf( "\n Can not open energy data file:%s\n", gEnergyFile);
          exit(0);
         // AfxMessageBox( "\n Can not open energy data,没有找到屋顶参数!提示!默认设置:(30,5) ");
// return  Poslist;
        
    }  
    fseek( fp, 0, SEEK_SET);
fscanf( fp, "%s", stemp);

while( strcmp( stemp,"Zhzbdata:" ) != 0)  fscanf( fp, "%s", stemp);
fscanf( fp, "%d", &(Poslist.posnum));
Poslist.positionlist =(POSTION*)malloc(sizeof(POSTION)* Poslist.posnum);

for(int i=0;i<Poslist.posnum;i++)
{
fscanf( fp, "%lf%lf%lf", &(Poslist.positionlist[i].z),&(Poslist.positionlist[i].x),&(Poslist.positionlist[i].y));
}
 fclose( fp );
   return Poslist;
}

//读取需要计算的桩号地质体信息
void  Preadzhdata()
 {
  // CzHPosDataList  zHdataList;
  //临时变量桩号信息
   CzHstuct sengleCzhstruct;
   CRecordxlList  sengleCRecordline;
int mecount=0;
int melinenumb=0;
cout << setprecision(4) << fixed;
// LISTINT::iterator plist;  //读取数据
std::ifstream fin("newformatread.txt", std::ios::in);
char line[1024]={0};

while(fin.getline(line, sizeof(line)))
{
std::stringstream word(line);

if(isdigit(line[0])||isdigit(line[1]))//如果是数字
{
mecount++;
///
word >> sengleCzhstruct.Length >> sengleCzhstruct.x >> sengleCzhstruct.y>> sengleCzhstruct.h>> sengleCzhstruct.s1>> sengleCzhstruct.stmp1>> sengleCzhstruct.s1zw>> sengleCzhstruct.s2>>sengleCzhstruct.stmp2>>sengleCzhstruct.s2zw;

sengleCzhstruct.Id=mecount;
sengleCzhstruct.tf=false;
sengleCzhstruct.linenumb=melinenumb;
meListzhstruct.push_back(sengleCzhstruct);

std::cout <<setw(6)<< mecount << "  " << sengleCzhstruct.Length <<"  " << sengleCzhstruct.x <<"  " << sengleCzhstruct.y <<"  " << sengleCzhstruct.h <<"  " << sengleCzhstruct.s1 <<"  " << sengleCzhstruct.s2 <<"  " << sengleCzhstruct.stmp1 <<"  " << sengleCzhstruct.s2 <<" "<<sengleCzhstruct.stmp2<<" "<<sengleCzhstruct.s2zw<< std::endl;

}
else
{
word >> sengleCRecordline.Nameofline;
sengleCRecordline.Indexnum=mecount;
sengleCRecordline.LineId=melinenumb;
    std::cout << "线名:  " << sengleCRecordline.Nameofline << " 个数: "<<sengleCRecordline.Indexnum <<std::endl;

meRecordCountNamelist.push_back(sengleCRecordline);

mecount=0;
melinenumb++;
}

}
fin.clear();
fin.close();

}
//读取中线桩信息

void  Readzxlistdata()
 {
  //临时变量桩号信息中线点
   CzHstuct zxdCzhstruct;
   cout << setprecision(4) << fixed;
int mecount=0;
// LISTINT::iterator plist;  //读取数据
std::ifstream fin("xinjianzxdata.txt", std::ios::in);
char line[524]={0};

while(fin.getline(line, sizeof(line)))
{
std::stringstream word(line);
if(isdigit(line[0])||isdigit(line[1]))//如果是数字
{
mecount++;

word >> zxdCzhstruct.Length >>  zxdCzhstruct.x >> zxdCzhstruct.y;

zxdCzhstruct.Id=1000000+mecount;
zxdCzhstruct.tf=true;
mezxzdataList.push_back(zxdCzhstruct);

///std::cout << mecount << " " << zxdCzhstruct.Length <<" " << zxdCzhstruct.x <<" " << zxdCzhstruct.y <<" " << zxdCzhstruct.h <<" " << zxdCzhstruct.s1 <<" " << zxdCzhstruct.s2 <<" " << zxdCzhstruct.stmp1 <<" " << zxdCzhstruct.stmp2 << std::endl;
std::cout<<setw(6) << mecount << " : " << zxdCzhstruct.Length <<"  " << zxdCzhstruct.x <<"  " << zxdCzhstruct.y << std::endl;
}
else
{

std::cout << "错误:  " << " 第几???: "<<mecount <<std::endl;

}

}
fin.clear();
fin.close();

}

int main()
{

//读取待测桩号数据数据得到所有线路的桩号点信息和路线信息
 printf( "\n ----------------读取桩号地质体信息--------------------\n");

Preadzhdata();

printf( "\n ----------------读取中线坐标信息---------------------\n");

Readzxlistdata();

printf( "\n----------------------------------------------\n");
 printf( "\n                  开始计算\n----------------------------------------------\n");
 ///
 // LISTRECORDLINE meRecordCountNamelist;
 // LISTCZHSTUCT meListzhstruct;
  //中线桩数据
 // LISTCZHSTUCT mezxzdataList;
 //  LISTCZHSTUCT :: iterator iterzhst;//指针桩号
 //  LISTCZHSTUCT :: iterator iterzxst;//指针中线桩号
 //  LISTRECORDLINE::iterator iterxlst;//指针线路
 //私有指针
  LISTCZHSTUCT :: iterator iterzhstper;//指针桩号
  LISTCZHSTUCT :: iterator iterzhstnext;//指针桩号
   ofstream outfile("NewZhzbZHresult.txt", ios_base::out);
 if (!outfile)
 {
  cerr<<"error: can not open \"NewZhzbZHresult.txt\" for output\n";
  exit(-1);
 }
  outfile.precision(4);
    outfile.setf(ios::fixed);
cout << setprecision(4) << fixed;
int Errorcount=0;
double tmpzj;
double tempA,tempB;
    int perId;
int pnextId=0;
double a=0,b=0,zhzbx=0,zhzby=0;

//首先计算地质体桩号坐标信息

for (iterzhst=meListzhstruct.begin();iterzhst!=meListzhstruct.end();iterzhst++)
{
        perId=mezxzdataList.size();//获得中线点的个数
   pnextId=0;
   tempA=500000000;
tempB=500000000;
tmpzj=iterzhst->Length;

//实现插入
for (iterzxst=mezxzdataList.begin();iterzxst!=mezxzdataList.end();iterzxst++)
{

if(iterzxst->Length<=tmpzj)
{
if (tmpzj-iterzxst->Length <tempA)

tempA=tmpzj-iterzxst->Length ;
perId=iterzxst->Id;
iterzhstper=iterzxst;
}

}
if(iterzxst->Length>tmpzj)
{

if (iterzxst->Length-tmpzj <tempB)

tempB=iterzxst->Length-tmpzj;
   pnextId=iterzxst->Id;
iterzhstnext=iterzxst;
}

}

}

if( perId!=mezxzdataList.size()&&pnextId!=0&& iterzhstper->Length  <=tmpzj && iterzhstnext->Length>tmpzj )
{

a=tmpzj-iterzhstper->Length;
b=iterzhstnext->Length-tmpzj;

/* zhzbx = mIrrpos.positionlist[perId].x+ (mIrrpos.positionlist[pnextId].x-mIrrpos.positionlist[perId].x)*a /(a+b)  ;
zhzby = mIrrpos.positionlist[perId].y+ (mIrrpos.positionlist[pnextId].y-mIrrpos.positionlist[perId].y)*a /(a+b)  ;*/

if (a<0||b<0){ cout<<"我去!Error 出现异常!"<< std::endl ;}

/* zhzbx = (a*iterzhstnext->x+ b*iterzhstper->x )/(a+b)  ;
zhzby = (a*iterzhstnext->y + b*iterzhstper->y )/(a+b)  ;*/
iterzhst->x = (a*iterzhstnext->x+ b*iterzhstper->x )/(a+b)  ;
iterzhst->y= (a*iterzhstnext->y + b*iterzhstper->y )/(a+b)  ;

outfile<< iterzhst->Id <<" "<<iterzhst->Length<<" "<<iterzhst->x<<" "<<iterzhst->y<<" "<<iterzhst->h<<" "<<iterzhst->s1<<" "<<iterzhst->stmp1<<" "<<iterzhst->s1zw<<" "<<iterzhst->s2<<" "<<iterzhst->stmp2<<" "<<iterzhst->s2zw<<std::endl ;
   cout<< iterzhst->Id <<" "<<iterzhst->Length<<" "<<iterzhst->x<<" "<<iterzhst->y<<" "<<iterzhst->h<<" "<<iterzhst->s1<<" "<<iterzhst->s2<<" "<<iterzhst->stmp1<<" "<<iterzhst->stmp2<<std::endl ;

}
else
{
   outfile<< iterzhst->Id <<" "<<iterzhst->Length<<" "<<iterzhst->x<<" "<<iterzhst->y<<" "<<iterzhst->h<<" "<<iterzhst->s1<<" "<<iterzhst->stmp1<<" "<<iterzhst->s1zw<<" "<<iterzhst->s2<<" "<<iterzhst->stmp2<<" "<<iterzhst->s2zw<<std::endl ;
 //  outfile<< iterzhst->Id <<" "<<iterzhst->Length<<" "<<iterzhst->x<<" "<<iterzhst->y<<" "<<iterzhst->h<<" "<<iterzhst->s1<<" "<<iterzhst->s2<<" "<<iterzhst->stmp1<<" "<<iterzhst->stmp2<<std::endl ;
cout<< iterzhst->Id <<" Error 出现异常!"<< std::endl ;

Errorcount++;

}

}

outfile.close();
printf( "\n -------------------------------------\n");
printf( "\n 计算结束生成文件:Zhzbresult.txt");
if (Errorcount>0)
{  
cout<<"Error 出现异常个数 : "<<Errorcount << std::endl ;

}

逐线插值生成中线点信息。

// LISTRECORDLINE meRecordCountNamelist;
 // LISTCZHSTUCT meListzhstruct;
  //中线桩数据
 // LISTCZHSTUCT mezxzdataList;
 //  LISTCZHSTUCT :: iterator iterzhst;//指针桩号
 //  LISTCZHSTUCT :: iterator iterzxst;//指针中线桩号
 //  LISTRECORDLINE::iterator iterxlst;//指针线路
// LISTCZHSTUCT :: iterator iterzhstper;//指针下面新含义
  //LISTCZHSTUCT :: iterator iterzhstnext;//指针下面新含义
//临时中线

ofstream Lastoutfile("LastZhRresult.txt", ios_base::out);
 if (!Lastoutfile)
 {
  cerr<<"error: can not open \"LastZhRresult.txt\" for output\n";
  exit(-1);
 }
  Lastoutfile.precision(4);
    Lastoutfile.setf(ios::fixed);
cout << setprecision(4) << fixed;

LISTCZHSTUCT tmplist;//临时桩号
    LISTCZHSTUCT tmpzxlist;//临时中线桩号

CzHstuct lnewzxdCzhstruct;//临时桩号定义
  double tmplengthmin,tmplengthmax;//最大最小临时

for (iterxlst=meRecordCountNamelist.begin();iterxlst!=meRecordCountNamelist.end();iterxlst++)//循环逐条地层
  {
 tmpzxlist.clear();
 tmplist.clear();//清空上条地层信息
 //首先读取已有地址体线路信息
 for(iterzhst=meListzhstruct.begin();iterzhst!=meListzhstruct.end(); iterzhst++)//循环所有的地层逐条选取
 {

if(iterzhst->linenumb==iterxlst->LineId )
 {
 lnewzxdCzhstruct.Length=iterzhst->Length;
 lnewzxdCzhstruct.x=iterzhst->x;
 lnewzxdCzhstruct.y=iterzhst->y;
 lnewzxdCzhstruct.h=iterzhst->h;
 lnewzxdCzhstruct.Id=iterzhst->Id;
              lnewzxdCzhstruct.linenumb=iterzhst->linenumb;
 lnewzxdCzhstruct.s1=iterzhst->s1;
 lnewzxdCzhstruct.s2=iterzhst->s2;
 lnewzxdCzhstruct.stmp1=iterzhst->stmp1;
 lnewzxdCzhstruct.stmp2=iterzhst->stmp2;
 lnewzxdCzhstruct.s1zw=iterzhst->s1zw;
 lnewzxdCzhstruct.s2zw=iterzhst->s2zw;
     lnewzxdCzhstruct.tf=iterzhst->tf;

tmplist.push_back(lnewzxdCzhstruct);

}

}

///找到已有线路的最大桩号,最小桩号
 tmplist.sort();//按桩号长度排序
 iterzhstper= tmplist.begin();//第一个
 tmplengthmin=iterzhstper->Length;//最近
 iterzhstnext=tmplist.end();//最后一个
 iterzhstnext--;//最远
 tmplengthmax=iterzhstnext->Length;//最大值

//插入中线点
   for(iterzxst=mezxzdataList.begin();iterzxst!=mezxzdataList.end(); iterzxst++)
 {

if(iterzxst->Length< tmplengthmax &&iterzxst->Length>tmplengthmin )
 {
   tempA=500000000;
       tempB=500000000;
       tmpzj=iterzxst->Length;
///******查找最邻近的桩号指针
       for(iterzhst=tmplist.begin();iterzhst!=tmplist.end(); iterzhst++)
{

if(iterzhst->Length<=tmpzj)
         {
       if (tmpzj-iterzhst->Length <tempA)
       { 
       tempA=tmpzj-iterzhst->Length ;
       perId=iterzhst->Id;
       iterzhstper=iterzhst;
       }

}
      if(iterzhst->Length>tmpzj)
      {

if (iterzhst->Length-tmpzj <tempB)
    { 
  tempB=iterzhst->Length-tmpzj;
      pnextId=iterzhst->Id;
  iterzhstnext=iterzhst;
    }

}

}

lnewzxdCzhstruct.Length=iterzxst->Length;
 lnewzxdCzhstruct.x=iterzxst->x;
 lnewzxdCzhstruct.y=iterzxst->y;
 lnewzxdCzhstruct.h= ((iterzhstper->h)*tempB+(iterzhstnext->h)*tempA)/(tempA+tempB) ;
 lnewzxdCzhstruct.Id=iterzxst->Id;
              lnewzxdCzhstruct.linenumb=iterxlst->LineId;

if (tempA<tempB)
 {
lnewzxdCzhstruct.s1=iterzhstper->s1;
   lnewzxdCzhstruct.s2=iterzhstper->s2;
   lnewzxdCzhstruct.stmp1=iterzhstper->stmp1;
   lnewzxdCzhstruct.stmp2=iterzhstper->stmp2;
lnewzxdCzhstruct.s1zw=iterzhstper->s1zw;
   lnewzxdCzhstruct.s2zw=iterzhstper->s2zw;

}
 else
 {
lnewzxdCzhstruct.s1=iterzhstnext->s1;
   lnewzxdCzhstruct.s2=iterzhstnext->s2;
   lnewzxdCzhstruct.stmp1=iterzhstnext->stmp1;
   lnewzxdCzhstruct.stmp2=iterzhstnext->stmp2;
lnewzxdCzhstruct.s1zw=iterzhstnext->s1zw;
   lnewzxdCzhstruct.s2zw=iterzhstnext->s2zw;

}

lnewzxdCzhstruct.tf=iterzxst->tf;
 tmpzxlist.push_back(lnewzxdCzhstruct);

}

}
//开始以中线长度排序

for(iterzhst=tmpzxlist.begin();iterzhst!=tmpzxlist.end();iterzhst++ )
{
lnewzxdCzhstruct.Length=iterzhst->Length;
 lnewzxdCzhstruct.x=iterzhst->x;
 lnewzxdCzhstruct.y=iterzhst->y;
 lnewzxdCzhstruct.h=iterzhst->h;
 lnewzxdCzhstruct.Id=iterzhst->Id;
              lnewzxdCzhstruct.linenumb=iterzhst->linenumb;
 lnewzxdCzhstruct.s1=iterzhst->s1;
 lnewzxdCzhstruct.s2=iterzhst->s2;
 lnewzxdCzhstruct.stmp1=iterzhst->stmp1;
 lnewzxdCzhstruct.stmp2=iterzhst->stmp2;
 lnewzxdCzhstruct.s1zw=iterzhst->s1zw;
 lnewzxdCzhstruct.s2zw=iterzhst->s2zw;

lnewzxdCzhstruct.tf=iterzhst->tf;
 tmplist.push_back(lnewzxdCzhstruct);
}

tmplist.sort();//再次排序

for(iterzhst=tmplist.begin();iterzhst!=tmplist.end();iterzhst++ )
{
         Lastoutfile<< iterzhst->Id <<" "<<iterzhst->Length<<" "<<iterzhst->x<<" "<<iterzhst->y<<" "<<iterzhst->h<<" "<<iterzhst->s1<<" "<<iterzhst->stmp1<<" "<<iterzhst->s1zw<<" "<<iterzhst->s2<<" "<<iterzhst->stmp2<<" "<<iterzhst->s2zw<<" "<<iterzhst->linenumb<<" "<<iterzhst->tf<<std::endl ;
cout<< iterzhst->linenumb << std::endl ;

}
Lastoutfile<<iterxlst->Nameofline<<" "<<iterxlst->LineId<<" "<<tmplist.size() <<std::endl ;
        cout<< "--------------------------------------" << std::endl ;

}

Lastoutfile.close();
printf( "\n -------------------------------------\n");
printf( "\n 计算结束生成文件:LastZhRresult.txt");

printf( "\n -------------------------------------\n");
int pouse;
cin >>pouse;

return 0 ;
}

最终解决。批量生成

代码在这里http://download.csdn.net/detail/sun19890716/8645779

没有项目工程文件,只有两个代码和实例文件,程序小白就不要下了。

中线桩地质体桩号计算记录相关推荐

  1. 公路平曲线及主点桩号计算

    DAN K"JA":H"JB":Q"AB" F=K+H Z=0=>Goto1≠>Gtot2 Lbl1 B=(180-F)/2 U ...

  2. 公路版理正勘察PB6中路线项目钻孔桩号的计算步骤

    一.问题说明 在公路.铁路等线路工程中,根据收孔坐标录入的钻孔需要依照线位重新计算钻孔桩号,本文旨在解决该问题,所使用软件为"理正勘察9.0PB6(公路版)(x64)". 二.计算 ...

  3. 平曲线坐标、反算桩号计算程序

    平曲线坐标.反算桩号计算程序  平曲线坐标.反算桩号计算程序 prog "PQX" {mn}:M"X0":N"Y0":Defm 1:Z[1] ...

  4. python自定义函数求差_[VBA]发布一个计算桩号之差的Excel自定义函数(VBA)

    这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量. 该函数具有一定的通用性.可以在MS Office和金山WPS上使用. 文末会给出使用 ...

  5. cass有坐标文件生成里程文件_怎样用CASS生成里程文件,带桩号的

    展开全部 1   一般来说获取地形图断面里程文件可以通过南方32313133353236313431303231363533e58685e5aeb931333431353339cass软件在 -里操作 ...

  6. ArcGIS水文分析实战教程(18) 河段桩号与线性参考

    ArcGIS水文分析实战教程(18) 河段桩号与线性参考 本章导读:在很多线性要素的应用中,桩号扮演着非常重要的角色.例如高速公路,使用桩号可以快速的描述某个事件在该路段的大概位置.同样是线性要素的河 ...

  7. 公路中、边桩坐标计算及放样程序

    公路中.边桩坐标计算及放样程序 适用范围:单圆曲线.基本型缓和曲线.非对称基本型缓和曲线.卵型曲线.回头曲线(转角大于180度) 特点:1.任意半径曲线.任意交角边桩 2.子程序可独立执行 源程序: ...

  8. sql server 根据身份证号计算出生日期和年龄的存储过程

    我这边有一个业务,需要客户填写身份证号,自动计算他的出生日期和年龄 在sql中,具体的存储过程实现是这样的: /******************************************** ...

  9. GIS实战应用案例100篇(八)-桩号相同,坐标不同,RTK怎么输入曲线要素?

    前言 平曲线表输入RTK手簿前,我们需要先分析平曲线表,判断数据,该工程平曲线表适合用元素法还是交点法? 分析:该工程平曲线表中,JD4和JD5桩号相同,坐标不同:JD8和JD9,桩号也相同,坐标不同 ...

最新文章

  1. redis学习之——Redis事务(transactions)
  2. MIT长篇论文:我们热捧的AI翻译和自动驾驶,需要用技术性价比来重估
  3. S3C2410中断系统
  4. MyBatis Generator Example.Criteria 查询条件复制
  5. 两个实用的工具推荐:ResxManager和ValueInjecter
  6. 学什么就业前景好的专业_新能源汽车专业学什么?其就业前景如何?
  7. java并查集找朋友圈_图—并查集(解决朋友圈问题)
  8. python输入名字配对情侣网名_输入姓名配对qq网名,QQ情侣昵称
  9. 计算机一级b必背知识点,全国计算机等级考试B经典必考资料_知识点总结.doc
  10. php获取localstorage的值,localStorage的设置和取值Demo
  11. c语言函数返回数组_C语言如何用一维数组拷贝函数,拷贝二位数组(C Primer Plus 10-7)...
  12. python学习之路——day1(18/9/11)
  13. DB2操作指南及命令大全
  14. bootstrap Less
  15. 掌握这个小技巧,让你的 C++ 编译速度提升 50 倍!
  16. Spoon Kettle 输入之获取文件名(Get file names)
  17. PHP laravel 生成二维码
  18. strstr函数.c
  19. 直流通路下共射、共集、共基放大电路分析
  20. 网易向员工致歉|网易暴力裁员事件:希望网易不要挣了钱,凉了人

热门文章

  1. 数据库服务器账号不能登录问题
  2. #DeepLearningBook#算法概览之十:Deep Generative Models
  3. vue学习——vue实例(instance)
  4. ZBrush:开启右键导航并关闭右键弹出菜单
  5. bearychat和trello的协同工作
  6. [游戏测评] 海 盗 来 了
  7. python模拟生产者消费者进程可视化tkinter
  8. virtuoso根据原理图绘制版图并联接_Cadence-virtuoso的使用简介(版图绘制).pdf
  9. 对年轻人来说,什么才是好的工作?
  10. 汽车之家三季度财报发布,数据正给互联网带来真金白银