⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patterncreate.cpp

📁 用于自动商业集版的源代码
💻 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 + -