十三周——输入输出流——项目三 电子词典解决版——输出汉字乱码的处理
来源:互联网 发布:mysql 配置 全文搜索 编辑:程序博客网 时间:2024/06/06 20:33
问题及代码:
/* Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:lily.cpp *作者:李莉 *完成日期:2015年6月3日 *版本号:v1.0 *问题描述)使用这个词典,读入一篇文章,输出对其中的所词的解释。例如,对aboutcpp.txt,输出如下左图结果所示(也可以看到其中待改进的地方)。程序输入:输入若干正数 程序输出:运行结果 */ #include <fstream>#include <iostream>#include <cstdlib>#include <string>using namespace std;class Word{public: void set(string e,string c,string wc); int compare(string); string getChinese(); string getWordClass();private: string english; string chinese; string word_class;};void Word::set(string e,string c,string wc){ english=e; chinese=c; word_class=wc;}int Word::compare(string k){ return english.compare(k);}string Word::getChinese(){ return chinese;}string Word::getWordClass(){ return word_class;}class Dictionary{public: Dictionary(); string searchWord(string k);private: int Binsearch(int low,int high,string k); int wordnum; Word words [8000];};Dictionary::Dictionary(){ wordnum=0; string e,c,wc; ifstream infile("dictionary.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } while(!infile.eof()) { infile>>e>>c>>wc; words[wordnum].set(e,c,wc); wordnum++; } infile.close();}int Dictionary::Binsearch(int low,int high,string k){ int mid; while(low<=high) { mid=(low+high)/2; if(words[mid].compare(k)==0) { return mid; } if(words[mid].compare(k)>0) { high=mid-1; } else { low=mid+1; } } return -1;}string Dictionary::searchWord(string k){ int low=0,high=wordnum-1; int index=Binsearch(low,high,k); if(index>=0) return words[index].getWordClass()+words[index].getChinese(); else return "查无此词!";}int main(){ Dictionary dict; ifstream infile("aboutcpp.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } string word; while(infile>>word) { cout<<word<<"---------------"<<dict.searchWord(word)<<endl; } infile.close(); return 0;}
运行结果:
心得体会:
开始的时候输出的一直是汉字的乱码,后面贺老提醒的字符集有错误,然后自己百度的,又改的,具体的操作如下
0 0
- 十三周——输入输出流——项目三 电子词典解决版——输出汉字乱码的处理
- 十三周——输入输出流——项目三 电子词典求助!!!
- 15第十四周项目三——OOP版电子词典
- 十三周——输入输出流——项目二 用文件保存的学生名单
- 第十七周项目七—电子词典
- 第十九周—c语言 电子词典项目
- 十三周——输入输出流——项目— 小玩文件(1)
- 十三周——输入输出流——项目一 小玩文件(2)
- 十三周——输入输出流——项目一 小玩文件(3)
- 第十四周项目四——电子词典
- 第十四周项目四——电子词典
- C小项目——电子词典
- 第十四周项目四—电子词典
- 十三周——输入输出流——阅读
- 十三周——输入输出流——阅读
- 十三周——输入输出流——阅读
- 十三周——输入输出流——阅读
- 十三周——输入输出流——阅读
- 2015、6、10
- 第十四周项目一——小玩文件(2)
- 第十四周程序阅读 控制符控制输出格式
- NDK环境配置
- 第十四周阅读程序——例四
- 十三周——输入输出流——项目三 电子词典解决版——输出汉字乱码的处理
- 第十三周 课后实践:项目一——动物这样叫(1)
- Sqoop用法
- 第13周-阅读项目1-标准输入输出对象及文本文件
- 第十二周项目一动物这样叫
- android camera(四):camera 驱动 GT2005
- linux 内核TCP 相关参数解释
- STL 容器类型
- 第十五周阅读程序