C++编了一个超弱的字典......
我就是用的map加文件输入输出做成的。
如果你最初没有dic.txt字典文件,可以自动生成
直接上代码:
#include<bits/stdc++.h>
#include<fstream>
#include<windows.h>
using namespace std;
map<string,string>dict;
int main(){
cout<<"请求读入数据中...";
ifstream scan("dic.txt");
fstream write("dic.txt",ios::app);
if(!scan){
fstream mak("dic.txt",ios::out);
}
system("cls");
cout<<"读入数据中...";
string a;
while(scan>>a){
string ans;
scan>>ans;
dict[a]=ans;
}
cls:
system("cls");
cout<<"欢迎使用字典!"<<endl<<"请输入指令:"<<endl<<"find/搜索"<<endl<<"add/增加"<<endl<<"cls/清屏"<<endl<<"clear/清空数据"<<endl<<"exit/退出"<<endl;
while(1){
string b;
cin>>b;
if(b=="find"||b=="搜索"){
cout<<"请输入要查找的字:";
cin>>a;
if(dict[a]!="")
cout<<"这个字的读音是:"<<dict[a]<<endl;
else{
cout<<"我也不知道"<<endl;
cout<<"是否增加?(y/n)"<<endl;
char p;
cin>>p;
if(p=='y')
goto plus;
}
}
if(b=="add"||b=="增加"){
cout<<"请输入要增加的字:";
cin>>a;
if(dict[a]!=""){
cout<<"这个字已存在"<<endl;
cout<<"是否增加?(y/n)"<<endl;
char p;
cin>>p;
if(p=='y')
goto plus;
}
else{
plus:
cout<<"请输入字音:";
fflush(stdin);
getline(cin,dict[a]);
write<<a<<" "<<dict[a]<<endl;
cout<<"添加成功!"<<endl;
}
}
if(b=="cls"||b=="清屏")
goto cls;
if(b=="clear"||b=="清空数据"){
fstream cle("dic.txt",ios::out);
cle.close();
dict.clear();
cout<<"清除成功"<<endl;
}
if(b=="exit"||b=="退出")
return 0;
if(b!="find"&&b!="add"&&b!="cls"&&b!="exit"&&b=="搜索"&&b=="增加"&&b=="清屏"&&b!="退出"&&b!="clear"&&b!="清空数据")
cout<<"\""<<b<<"\"不是任何指令,请重试"<<endl;
}
return 0;
}