⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 文学助手.cpp

📁 vc++实现的文章处理程序
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
typedef struct chunk
{
	char c[80];
	struct chunk *next;
}*Chunk;
void get_word(Chunk &head)
{
	FILE *fp;
	char c,name[10];
	int i;
	Chunk p,q;
	printf("please input the file name:");
	scanf("%s",name);
	if((fp=fopen(name,"r"))==NULL)
	{
		printf("can't open this file.\n");
		exit(0);
	}
	c=fgetc(fp);
	while (c!=EOF)
	{
		p=(Chunk)malloc(sizeof(chunk));
		for(i=0;c!='\n';i++)
		{
			p->c[i]=c;
			c=fgetc(fp);
		}
		p->c[i]='\0';
		if (head==NULL)
			head=p;
		else
			q->next=p;
		q=p;
		c=fgetc(fp);
	}
	p->next=NULL;
	fclose(fp);
}
int compare(char *a,char *b)
{
    int n,m,i=0,j=0;
	n=strlen(a);m=strlen(b);
	while(i<n&&j<m)
	{
		if(a[i]==b[j])
		{
			i++;
			j++;
		}
		else
		{
			i=i-j+1;
			j=0;
		}
	}
	if(j==m)
		return 1;
	else 
		return 0;
}
void find(Chunk head,char *a)
{
	int n=0,m=1;
	Chunk p=head;
	while(p)
	{
		if(compare(p->c,a)==1)
		{
			n++;
			printf("该存在于第%d行\n",m);
		}
		m++;
		p=p->next;
	}
	if(n)
	printf("\t\t共有:%d个\n",n);
	else
		printf("没有找到你要找的单词\n");
}
void main()
{               
	Chunk head=NULL;
	char a[80],c;
	char *s;
	int num=1;
	s=a;
	printf("***************提示:要退出程序请在最后所要查找的单词后加空格*******************");
    get_word(head);
	while((c=getchar())!=' ')
	{
	printf("请输入第%d个要检索的单词:\n",num);
	scanf("%s",a);
    find(head,s);
	num++;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -