📄 tiyu.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 + -