这个程序很简单,当然可以改进的地方也很多,因为它是我大学以来写的第一个课程设计,所以贴出来作为留念 ^ ^
问题描述:输入关键字,在指定的一个(或多个)文本文件中查找关键字。若文本中有关键字的内容,显示其位置(说明:以下不附要进行检索的txt文件)。
#include<iostream>
#include<stdio.h>
#include<fstream>
#include<string>
#define MAX 3000 //文章字符长度的上限
#define NUM 5 //最大的文件输入个数
using namespace std;
//----------------------------
//------定义串----------------
typedef struct
{char ch[MAX];
int len;
}SqString;
SqString s[NUM],t;
//----------------------------
char file[NUM][32];
int main()
{
//--------函数声明------------
void enterkey();//输入关键字
void files();//指出搜索范围
void Isearch(SqString [],SqString);//开始搜索
//----------------------------
//------串长度的初始化--------
s[0].len=-1;
t.len=-1;
//----------------------------
char choice;
while(choice!='Q'||choice!='q')
{
cout<<endl<<"I----输入关键字/n"
<<"F----指出搜索范围/n"
<<"S----开始搜索/n"
<<"Q----退出/n"
<<"注1:搜索区分大小写/n"
<<"注2:搜索出的内容用"<<'/"'<<"[]"<<'/"'<<"标出/n"
<<"注3:支持泛匹配搜索,"<<'/"'<<"?"<<'/"'<<"表示任意字符/n/n"
<<"输入您的选择:";
cin>>choice;
//----------------------------
//防止未输入关键字和指出搜索范围就调用搜索函数
if(choice=='S'||choice=='s')
{if(s[0].len==-1||t.len==-1)
while((choice=='S'||choice=='s'))
{cout<<endl<<"请先输入关键字和指出搜索范围!"
<<endl<<"输入您的选择:";
cin>>choice;
}
}
//--------