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

📄 sky1.cpp

📁 一个彩票统计源代码
💻 CPP
字号:
#include "iostream.h" 
#include "strstrea.h"
#include "fstream.h"
#include "string.h"
#include "stdlib.h"
#define   recfile      "record.txt"//用宏指令指定记录文件文件名
#define   group_width   29

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

		char character;
		char string[Line_Size][group_width];
		int  bit[33]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
		              0,0,0,0,0,0,0,0,0,0,0,0,0};
  		int  rectab[11][8];
		int  rec[34];  //rectab[11][8];
		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;
    inFile=recfile;  //指定记录文件文件名
	Name_Size==11;
	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];
    int  i=1;
    while(fin.getline(line,Line_Size)) 
  {
    trimstr(line);
    fout<<line<<"\n";
    strncpy(string[i],line,28);
//    cout<<string[i]<<"\n";
    i++;
  }
}
/************************************************/
void identify()// 识别字符并存储结果表格  
{ 
      char str2;
	  int  num[20]={0,0,0,0,0,0,0,0,0,0,
	                0,0,0,0,0,0,0,0,0,0};
	  int  num8[Line_Size+1][8];
	  int  m,tmp;
      char *p; 
	  
	  for(m=1;m<=Line_Size;m++)
	  {
	     p=&string[m][0];
		 j=0;
    	 k=0;	
    	for (i=0;i<24;i++)
		{
			if (!((i+1)%3))
			{ i++;
			  p++; }
         str2=*p;  
		 num[j]=(int)str2-48;	
		 if (!(j%2))
		 {num[j]=10*num[j];
		 tmp=num[j];}
		 else
         {k++;
		  num8[m][k]=tmp+num[j];
		 }
		 p++;
		 j++;
		}
//		cout<<"\n";		
	  }				


	 /////////////////////////////////////
    //     		assign();
	/////////////////////////////////////				
	 	for(i=1;i<=Line_Size;i++)
		{
			for(m=1;m<=8;m++)
			{
	          character=num8[i][m];
			  switch(character)
				{
				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;
                case 10:
				   bit[10]++;
				   break;
				case 11:
				   bit[11]++;
    			   break;
				case 12:
			       bit[12]++;
				   break;
				case 13:
				   bit[13]++;
				   break;
		    	case 14:
				   bit[14]++;
				   break;
				case 15:
				   bit[15]++;
				   break;
				case 16:
				   bit[16]++;
				   break;
				case 17:
				   bit[17]++;
				   break;
		  		case 18:
				   bit[18]++;
				   break;
				case 19:
				   bit[19]++;
				   break;
		        case 20:
				   bit[20]++;
				   break;
				case 21:
				   bit[21]++;
    			   break;
				case 22:
			       bit[22]++;
				   break;
				case 23:
				   bit[23]++;
				   break;
		    	case 24:
				   bit[24]++;
				   break;
				case 25:
				   bit[25]++;
				   break;
				case 26:
				   bit[26]++;
				   break;
				case 27:
				   bit[27]++;
				   break;
		  		case 28:
				   bit[28]++;
				   break;
				case 29:
				   bit[29]++;
				   break;
				case 30:
				   bit[30]++;
				   break;
				case 31:
				   bit[31]++;
    			   break;
				case 32:
			       bit[32]++;
				   break;
				case 33:
				   bit[33]++;
				   break;
		    	default:
		   		   break;
				} //"00"~"33"判别、计数
               }
              }
}

/********************************************************/
	 void interface_direction()//软件界面
	 {

	     cout<<"¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥"<<"\n";
 	     cout<<"¥                                      ¥"<<"\n";
         cout<<"¥  “楚天风采”电脑福利彩票统计软件    ¥"<<"\n";
 	     cout<<"¥                                      ¥"<<"\n";
		 cout<<"¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥"<<"\n";
		 cout<<"\n";
		 cout<<"\n";
	 }     
/********************************************************/

	 void input_direction()  //输入提示
	 {
	     char affirm;
	     char in_str[group_width];
		 char cha[group_width];
		 char * recFile;
		 char add='\n';//换行符
		 recFile=recfile;//指定记录文件文件名
	     fstream outfile;
		 int i; 
		 cout<<"请按以下格式输入最新一期中奖号码:";
		 cout<<"xx,xx,xx,xx,xx,xx,xx,xx(yyy)"<<"\n";
		 cout<<"其中xx,xx,xx,xx,xx,xx,xx,xx是中奖号码,yyy是期数。"<<"\n";
		 cout<<"例如第12期中奖号码是:07,10,12,17,18,21,30,08"<<"\n";
		 cout<<"则应输入07,10,12,17,18,21,30,08(012)"<<"\n";
   		 cout<<"您要输入最新一期中奖号码吗?(y/n):";
         cin>>affirm; 
    if ((affirm!='y')&&(affirm!='Y'))   goto continu;  
	 
DATA_in: cout<<"请输入最新一期中奖号码xx,xx,xx,xx,xx,xx,xx(yyy):";
         cin>>in_str;
   		 cout<<"最新中奖号码:"<<in_str<<"\n";
		 cout<<"中奖号码正确吗?(y/n)";
         cin>>affirm; 
    if ((affirm!='y')&&(affirm!='Y'))   goto DATA_in;  


	outfile.open(recFile,ios::app);//在文件末尾添加数据
	if(!outfile)
	{
	cout<<"Error open output file."
		<<endl;
	abort();
	}

    strcpy(cha,in_str);
	
    outfile.put(add);//换行符
	for (i=0;i<group_width;i++)
	outfile.put(cha[i]);
	outfile.close();
    continu: cout<<"\n";      	 
	 }

/********************************************************/
  void output_last(fstream&fin,fstream&fout)
{
   	char string2[Line_Size][group_width];
    char line[Line_Size+1];
    int  i=0;
    int  j=0;
	cout<<"最新五期中奖号码:\n";
	while(fin.getline(line,Line_Size)) 
	{
     i++;
     trimstr(line);
     fout<<line<<"\n";
     strcpy(string2[i],line);
	}
     
	for (j=0;j<=i;j++)	
	 {
	 if (j>(i-5)) cout<<string2[j]<<"\n";
	 else   continue;
     }
  }
/********************************************************/
  
/********************************************************/
  void result_output()
 {
     int j;
     cout<<"             “楚天风采”电脑福利彩票统计"<<"\n";
	 cout<<"===================================================="<<"\n";


/*      Output the result         */
//	cout<<"     第1位 "<<"第2位 "<<"第3位 "<<"第4位 "<<"第5位 "<<"第6位 "<<"附加位"<<"\n";

		for(j=1;j<=33;j++)   //行显示
			{
			if (j<=9)  
			   cout<<"[0"<<j<<"]"<<":"<<bit[j]<<"  ";   
			else
			   cout<<"["<<j<<"]"<<":"<<bit[j]<<"  ";
		if(!(j%8))  	
			cout<<"\n";
		    } 
				cout<<"\n";
 }
//++++++++++++++++++++++++++++++++++++++++++++++++++++//
  void main()
  {
 	 fstream fin,fout;
     char inFile[Name_Size+1];
     interface_direction();//软件界面
	 getInputFilename(inFile,fin);
	 output_last(fin,fout);	//显示最近五期中奖号码
	 fin.close();	
     input_direction();//输入提示
	 getInputFilename(inFile,fin);
	 processLines(fin,fout);
     identify(); // 识别字符并存储结果表格  
	 fin.close();
     result_output();
     return;
}
//++++++++++++++++++++++++++++++++++++++++++++++++//

  

⌨️ 快捷键说明

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