📄 tiyu3.cpp
字号:
#include "iostream.h"
#include "strstrea.h"
#include "fstream.h"
#include "string.h"
#include "stdlib.h"
#define recfile "rec.txt"//用宏指令指定记录文件文件名
enum boolean{false1,true1};
const unsigned Line_Size=512;
const unsigned Name_Size=64;
char character;
char string[Line_Size][14];
int bit[10]={0,0,0,0,0,0,0,0,0,0};
int 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";
strcpy(string[i],line);
// cout<<string[i]<<"\n";
i++;
}
}
/************************************************/
void identify()// 识别字符并存储结果表格
{
int i,j,k;
for(i=0;i<=7;i++)
{
for(k=0;k<=Line_Size;k++)
{
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++)//存储结果
{
rectab[j][i]=bit[j];
bit[j]=0;
}
} //Line_Sizeo.1~Line_Sizeo.7位数字"i"
}
/************************************************/
void display()//显示
{
int i,j;
cout<<" 湖北省电脑体育彩票统计"<<"\n";
cout<<"===================================================="<<"\n";
/* Output the result */
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]<<" ";
else //十、个位数对齐
cout<<" "<<rectab[j][i]<<" ";
} //列显示
cout<<"\n";
} //行显示
}
/********************************************************/
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[14];
char cha[14];
char * recFile;
char add='\n';//换行符
recFile=recfile;//指定记录文件文件名
fstream outfile;
int i;
cout<<"请按以下格式输入最新一期中奖号码:";
cout<<"xxxxxx+x(yyy)"<<"\n";
cout<<"其中xxxxxx+x是中奖号码,yyy是期数。"<<"\n";
cout<<"例如2000年第39期中奖号码是:277227+0,则应输入277227+0(039)"<<"\n";
cout<<"您要输入最新一期中奖号码吗?(y/n):";
cin>>affirm;
if ((affirm!='y')&&(affirm!='Y')) goto continu;
DATA_in: cout<<"请输入最新一期中奖号码xxxxxx+x(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<14;i++)
outfile.put(cha[i]);
outfile.close();
continu: cout<<"\n";
}
/********************************************************/
void output_last(fstream&fin,fstream&fout)
{
char string2[Line_Size][14];
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 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);
// process(fin,fout);
identify(); // 识别字符并存储结果表格
fin.close();
display(); //显示结果表格
return;
}
//++++++++++++++++++++++++++++++++++++++++++++++++//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -