天天看点

文章编辑----C语言实现

#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();

}

继续阅读