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

📄 tiyu.cpp

📁 一个彩票统计源代码
💻 CPP
字号:
#include "iostream.h" 
#include "strstrea.h"
#include "fstream.h"
#include "string.h"

		enum boolean{false1,true1};
		const unsigned Line_Size=686868;
		const unsigned Name_Size=64;

		char character;
		char string[Line_Size+1][14];//只取前14个字符进行处理
		int  bit[10]={0,0,0,0,0,0,0,0,0,0};//该数组用来存储0~9,10种字符分别出现多少次。
  		int  rectab[11][8];//该二元数组存储结果,7位数字,10种字符
		int  i,j,k;
 
/************************************************/
void trimstr(char *s)//修整字符串
{
	int i=strlen(s)-1;
	while(i>0&&s[i]==' ')  i--; 
	s[i+1]='\0';
}

/***************************************************/
void getInputFilename(char *inFile,fstream&f)
{
	enum boolean ok;
do {
    ok=true1;
	cout<<"Enter the input file:";
	cin.getline(inFile,Name_Size);
	f.open(inFile,ios::in);
	if(!f){
	cout<<"Cannot open the file:"<<inFile<<"\n\n";
	ok=false1;
	}
}while(!ok);
}

/************************************************/
void processLines(fstream&fin,fstream&fout)
{
    char line[Line_Size+1];
    i=1;
    while(fin.getline(line,Line_Size)) 
  {
    trimstr(line);
    fout<<line<<"\n";
    strcpy(string[i],line);//将txt文件中的记录拷贝到字符串数组中
    cout<<string[i]<<"\n";
    i++;
  }
}
/************************************************/




//++++++++++++++++++++++++++++++++++++++++++++++++++++//
  void main()
  {

	 fstream fin,fout;
	 char inFile[Name_Size+1],outFile[Name_Size+1];
	 getInputFilename(inFile,fin);
	 processLines(fin,fout);

/************************************************/
	 cout<<"             湖北省电脑体育彩票统计"<<"\n";
	 cout<<"===================================================="<<"\n";


		
// ****************  识别字符  ***************  // 
		for(i=0;i<=7;i++)         //奖券上的7位中奖数字
			{	   

		for(k=0;k<=Line_Size;k++) //每一行为一期的中奖记录,Line_Size为总期数,也即总行数
		{
	      	character=string[k][i];
		    switch(character)
				{
				case'0':
				   bit[0]++;
				   break;
				case'1':
				   bit[1]++;
    	              		   break;
				case'2':
			       bit[2]++;
				   break;
				case'3':
				   bit[3]++;
				   break;
		    	        case'4':
				   bit[4]++;
				   break;
				case'5':
				   bit[5]++;
				   break;
				case'6':
				   bit[6]++;
				   break;
				case'7':
				   bit[7]++;
				   break;
		  		case'8':
				   bit[8]++;
				   break;
				case'9':
				   bit[9]++;
				   break;
                default:
		   		   break;
				} //0~9判别、计数
		
		} // 第1期~ 第Line_Size期中奖号码"k"
    	for(j=0;j<=9;j++)      //存储结果,0~9,10种字符分别出现多少次。
			{
         	    rectab[j][i]=bit[j];//用二元数组(矩阵)存储结果,
		    bit[j]=0;
			} 
                  } //Line_Sizeo.1~Line_Sizeo.//奖券上的7位中奖数字"i"

		
		// ****************  识别字符  ***************  // 
/*     以9行、7列的形式输出结果           */
	cout<<"     第1位 "<<"第2位 "<<"第3位 "<<"第4位 "<<"第5位 "<<"第6位 "<<"附加位"<<"\n";

		for(j=0;j<=9;j++)   //行显示
			{
		   	cout<<"["<<j<<"]"<<": ";
			for(i=0;i<=7;i++) //列显示
			{	
				if (i==6) i=i+1;
				if (rectab[j][i]<10) cout<<"  "<<rectab[j][i]<<"   ";//小于10则前面加空格以对齐
				else  //十、个位数对齐
				cout<<" "<<rectab[j][i]<<"   ";
			} //列显示
				cout<<"\n";//换行
		}   //行显示


			 fin.close();

/*      以10行、7列的形式输出结果          */
		return;
}
//++++++++++++++++++++++++++++++++++++++++++++++++//

  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -