#include<iostream>
#include<string>
#define N 100
using namespace std;
char str[N][80];
int l[N];
int n;
char a[80];
void input()
{
int k;
char c;
k=0;
while(1)
{
scanf("%c",&c);
if(c=='/n')
break;
a[k]=c;
k++;
}
a[k]='/0';
}
void print()
{
int i,j;
printf("/n____原文输出:________________________________/n");
for(i=0;i<=n;i++)
{
for(j=0;j<l[i];j++)
printf("%c",str[i][j]);
}
printf("/n________________________________输出结束____/n/n/n/n");
}
void tongji()
{
int i,j;
int wz,kg,sz,sum;
wz=kg=sz=sum=0;
for(i=0;i<=n;i++)
{
for(j=0;j<l[i];j++)
{
if(str[i][j]!='/n')
sum++;
if((str[i][j]<='z'&&str[i][j]>='a')||(str[i][j]<='Z'&&str[i][j]>='A'))
wz++;
if(str[i][j]<='9'&&str[i][j]>='0')
sz++;
if(str[i][j]==' ')
kg++;
}
}
printf("/n统计结果:~~~~~~~~~~~~~~~~~~~~~~");
printf("/n全部字母数为:/t%d/n",wz);
printf("数字个数为:/t%d/n",sz);
printf("空格个数为:/t%d/n",kg);
printf("文章总字数为:/t%d/n/n",sum);
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/n/n/n");
}
void chazhao()
{
int i,j,k,l1,y;
int x=0;
l1=strlen(a);
for(i=0;i<=n;i++)
{
for(j=0;j<l[i];j++)
{
y=1;
if(j+l1==l[i])
break;
for(k=0;k<l1;k++)
{
if(a[k]!=str[i][j+k])
{
y=0;
break;
}
}
if(y)
x++;
}
}
printf("您所输入的:");
for(i=0;i<l1;i++)
printf("%c",a[i]);
printf(" 在文中出现次数为:%d/n",x);
printf("___________________________________/n/n/n");
}
void del()
{
int i,j,k,l1,y;
bool b[N][81];
l1=strlen(a);
memset(b,0,sizeof(b));
for(i=0;i<=n;i++)
{
for(j=0;j<l[i];j++)
{
y=1;
if(j+l1==l[i])
break;
for(k=0;k<l1;k++)
{
if(a[k]!=str[i][j+k]&&!b[i][j+k])
{
y=0;
break;
}
}
if(y)
{
for(k=0;k<l1;k++)
b[i][j+k]=1;
}
}
}
printf("/n删除该字符串后文章:/n");
for(i=0;i<=n;i++)
{
for(j=0;j<l[i];j++)
if(!b[i][j])
printf("%c",str[i][j]);
}printf("/n==========================输出结束====/n/n/n");
}
void solve()
{
int z;
while(1)
{ printf("|-++++++++++++++++++菜单++++++++++++++++++++++++-|/n");
printf("|*****输入您需要的操作(选择序号):****************|/n");
// printf("|********0输入文字*******************************|/n");
printf("|********1.输出原文******************************|/n");
printf("|********2.统计文章字数**************************|/n");
printf("|********3.统计某一字符串在文章中出现的次数******|/n");
printf("|********4.删除某一字符串并输出文章**************|/n");
printf("|********5.结束**********************************|/n");
printf("|------------------------------------------------|/n");
scanf("%d",&z);
//if(z==0)
//shuru();
if(z==1)
print();
if(z==2)
tongji();
if(z==3)
{ printf("___________________________________");
printf("/n输入要统计的字符串:/n");
getchar();
input();
chazhao();
}
if(z==4)
{ printf("/n======================================");
printf("/n输入要删除的字符串:/n");
getchar();
input();
del();
}
if(z==5)
break;
}
}
int main()
{
FILE *fin=fopen("remenber.txt","r");
char c;
n=0;
memset(l,0,sizeof(l));
while(fscanf(fin,"%c",&c)!=EOF)
{
str[n][ l[n] ]=c;
l[n]++;
if(c=='/n')
n++;
if(l[n]>80)
{
printf("超过范围/n/n");
break;
}
}
solve();
return 0;
}