?? 文學助手.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 + -