#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 3
char str[N][80];
int i,j;
int len[N];
int dnum=0,cnum=0,snum=0,anum=0,strnum=0;
void menu();
int input();
void output();
void count();
void checkstring();
void outputdelstr();
int main()
{
char key,t;
printf("课程设计:文章编辑");
printf("/n/n------------------------------------WELCOME-------------------------------------");
printf("/n");
for(i=0;i<N;i++)
{
len[i]=input();
anum+=len[i];
}
for(i=0;i<N;i++)
{
count();
}
system("pause");
while(1)
{
system("cls");
printf("课程设计:文章编辑");
printf("/n/n------------------------------------WELCOME-------------------------------------");
printf("/n");
menu();
printf("/n");
printf("请输入操作(1.2.3.4.5):");
key=getchar();
printf("/n");
switch(key)
{
case '1':
{
output();
}break;
case '2':
{
printf("/n文章中全部字母个数为:%d /n数字个数为:%d /n空格个数为:%d /n文章总字数为:%d /n",cnum,dnum,snum,anum);
}break;
case '3':
{
fflush(stdin);
checkstring();
}break;
case '4':
{
fflush(stdin);
outputdelstr();
}break;
case '5': exit(0);
default:
{
printf("输入错误!/n");
}break;
}
t=getchar();
system("pause");
}
system("pause");
return 0;
}
void menu()
{
printf("********************************************************************************");
printf("/t/t/t1.------输出文章/n");
printf("/t/t/t2.------输出统计字数/n");
printf("/t/t/t3.------统计字符串/n");
printf("/t/t/t4.------删除字符串/n");
printf("/t/t/t5.------退出系统/n");
printf("********************************************************************************/n");
}
int input()
{
printf("请输入第 %d 行文字/n",i+1);
gets(str[i]);
return strlen(str[i]);
}
void output()
{
printf("你输入的文章为:/n");
for(i=0;i<N;i++)
{
puts(str[i]);
}
}
void count()
{
for(j=0;j<len[i];j++)
{
if(str[i][j]>='a' && str[i][j]<='z') cnum++;
if(str[i][j]>='A' && str[i][j]<='Z') cnum++;
if(str[i][j]>='0' && str[i][j]<='9') dnum++;
if(str[i][j]==' ') snum++;
}
}
void checkstring()
{
char cstr[20];
char *p1,*p2;
printf("请输入需要统计的字符串:/n");
gets(cstr);
p2=cstr;
for(i=0;i<N;i++)
{
p1=str[i];
while(strstr(p1,p2)!=NULL)
{
strnum++;
p1=strstr(p1,p2)+1;
}
}
printf("字符串:%s 在文章中出现的次数为:%d /n",cstr,strnum);
}
void outputdelstr()
{
char cstr[20];
char *p,*p1,*p2;
int len;
printf("请输入要删除的字符串:/n");
gets(cstr);
len=strlen(cstr);
p2=cstr;
for(i=0;i<N;i++)
{
p1=str[i];
while(strstr(p1,p2)!=NULL)
{
p=p1=strstr(p1,p2);
while(*(p+len-1))
{
*p=*(p+len);
p++;
}
}
}
printf("删除字符串:%s 后文章为: /n",cstr);
output();
}