📄 文学助手.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 + -