?? patterncreate.cpp
字號:
// patterncreate.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <fstream>
#include <string>
#include <assert.h>
#include <vector>
#include <iostream>
using namespace std;
void calcwakupos(int* pheight,int num,int separator,int ypos,vector<int> output,ofstream& out,int columnnum,int columnheight)
{
if(num==0)
{
int total = output.size();
assert(total%4==0);
out<<"patternbegin"<<endl;
out<<columnheight<<" "<<columnnum<<" ";
out<<(total/4)<<endl;
for(int i =0;i<total;i+=4)
{
out<<output[i]<<" "<<output[i+1]<<" "<<output[i+2]<<" "<<output[i+3]<<endl;
}
out<<"patternend"<<endl<<endl;
}else{
if(separator==0)
{
output.push_back(0);
output.push_back(ypos);
output.push_back(12);
output.push_back(*pheight);
}
else if(separator==1)
{
output.push_back(0);
output.push_back(ypos);
output.push_back(6);
output.push_back(*pheight);
output.push_back(6);
output.push_back(ypos);
output.push_back(6);
output.push_back(*pheight);
}
else
{
output.push_back(0);
output.push_back(ypos);
output.push_back(3);
output.push_back(*pheight);
output.push_back(3);
output.push_back(ypos);
output.push_back(3);
output.push_back(*pheight);
output.push_back(6);
output.push_back(ypos);
output.push_back(3);
output.push_back(*pheight);
output.push_back(9);
output.push_back(ypos);
output.push_back(3);
output.push_back(*pheight);
}
calcwakupos(pheight+1,num-1,0,ypos+(*pheight),output,out,columnnum,columnheight);
calcwakupos(pheight+1,num-1,1,ypos+(*pheight),output,out,columnnum,columnheight);
if(num==2)
calcwakupos(pheight+1,num-1,2,ypos+(*pheight),output,out,columnnum,columnheight);
}
}
int main(int argc, char* argv[])
{
char szInput1[128];
char szInput2[128];
bool exit = false;
while(!exit)
{
cout<<"input datafile name and titlepattern file name or input exit to exit:"<<endl;
cin>>szInput1;
if(strcmp(szInput1,"exit")==0)
exit = true;
else{
cin>>szInput2;
}
int pass1 = 0;
int pass2 = 0;
if(!exit)
{
ifstream infile(szInput1);
ofstream outfile(szInput2);
int value[64];
char patternstr[64];
int nHeight,number;
vector<int > vecint;
while(infile>>patternstr)
{
infile>>nHeight;
infile>>number;
for(int j = 0;j<number;j++)
{
infile>>value[j];
}
infile>>patternstr;
calcwakupos(value,number,0,0,vecint,outfile,number,nHeight);
calcwakupos(value,number,1,0,vecint,outfile,number,nHeight);
calcwakupos(value,number,2,0,vecint,outfile,number,nHeight);
}
}
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -