这是我写的第一个程序,查了半天,不清楚为什么还有错,已经尽自己最大努力了~
烦请阅览此贴者指点一下~谢谢^^
程序的目的和要求:设计并实现对英文文章中字符的统计
1、统计文章中都用了什么样的字符,包括英文字符、数字字符、空格、标点符号
2、统计文章中出现的字符个数
3、对文章中出现的字符按ASCII字符标准进行排序
我的源代码如下:
/***************************************************************************
Program Filename:Statistic of Characters.cpp
Date :January 12,2008
Purpose :Draws tne statistic of the characters in an English article
Input from :Keyboard
Output to :Screen
Functions used :separate_and_accumulate,show_result
Classes used :shu,alpha,punc,space
***************************************************************************/
#include
#include
#include
class alpha
{
private:
int xiao[26],da[26];
public:
alpha()
{
for(int n=0;n<26;n++)
{
xiao[n]=0;
da[n]=0;
}
}//end constructor alpha
void accumulate_xiao(char BL)
{
int i;
i=BL-97;
xiao[i]++;
}//end function accumulate_xiao
void accumulate_da(char BL)
{
int i;
i=BL-65;
da[i]++;
}//end function accumulate_da
int show_result_alpha()
{
int result_xiao=0,result_da=0;;
for(int i=0;i<26;i++)
{
result_xiao+=xiao[i];
result_da+=da[i];
}
return (result_da+result_xiao);
}//end function show_result_alpha
void show_order_da()
{
for(int i=0;i<26;i++)
{
if(da[i]>0)
cout<<"\'"<<(char)65+i<<"\'"<<' ';
}
}//end function show_order_da
void show_order_xiao()
{
for(int i=0;i<26;i++)
{
if(xiao[i]>0)
cout<<"\'"<<(char)97+i<<"\'"<<' ';
}
}//end function show_result_xiao
}//end class alpha
//***************************************************************************
class shu
{
private:
int shu[10];
public:
shu()
{
for(int n=0;n<10;n++)
shu[n]=0;
}//end constructor digit
void accumulate_shu(char BL)
{
int i;
i=BL-48;
shu[i]++;
}//end function accumulate_shu
int show_result_shu()
{
int result=0;
for(int i=0;i<10;i++)
result+=shu[i];
return result;
}//end int show_result_shu
void show_order_shu()
{
for(int i=0;i<10;i++)
{
if(shu[i]>0)
cout<<"\'"< }
}//end function show_order_shu
}//end class shu
//***************************************************************************
class space
{
private:
int count;
public:
space()
{
count=0;
}
void accumulate_space()
{
count++;
}//end function accumulate_space
int show_result_space()
{
cout< }//end function show_result_space
void show_order_space()
{
if(count>0)
cout<<"\' \'";
}//end function show_order_space
}//end class space
//***************************************************************************
class punc
{
private:
int count=0;
char punc[32];
int num[32];
public:
punc()
{
int n1=33,n2=58,n3=91,n4=123;
for(int i=0;i<32;i++)
{
if(i<15)
{ punc[i]=n1; n1++;}
else if(i<22)
{ punc[i]=n2; n2++;}
else if(i<28)
{ punc[i]=n3; n3++;}
else if(i<32)
{ punc[i]=n4; n4++;}
num[i]=0;
}
}//end constructor punc
void accumulate_punc(char BL)
{
for(int i=0;i<32;i++)
{
if(BL==punc[i])
num[i]++;
}
}//end function accumulate_punc
int show_result_punc()
{
int result_punc;
for(int i=0;i<32;i++)
result_punc+=num[i];
return result_punc;
}//end function show_result_punc
void show_order_punc1()
{
for(int i=0;i<15;i++)
{
if(num[i]>0)
cout<<"\'"< }
}//end function show_order_punc1
void show_order_punc2()
{
for(int i=15;i<22;i++)
{
if(num[i]>0)
--------------------next---------------------
阅读(1158) | 评论(0) | 转发(0) |