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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值