#include<iostream>
#include<fstream>
#include<string>
#include<conio.h>
using namespace std;
class Word//单词的类
{
public:
string en;
string ch;
Word()
{
en="";
ch="";
}
void Set(string e,string c)
{
en=e;
ch=c;
}
void Show()
{
cout<<"英文:"<<en<<" 中文:"<<ch<<endl;
}
};
int n;//词库的单词数量
int test;//本次测试次数
int grade[100];//学生成绩
Word word[1000];//单词
void Read()//从文件读取
{
void Write();
n=0;
ifstream f;
f.open("data.txt",ios::in);
if(!f.is_open())
{
cout << "打开文件错误";
exit (1);
}
else {}
string e,c;
while (!f.eof())
{
f>>e;
f>>c;
word[n].Set(e,c);
n++;
}
f.close();
}
void Write()//写入文件
{
int m=0;
ofstream f;
f.open("data.txt",ios::out | ios::trunc);
if(!f.is_open())
{
cout << "打开文件错误"<<endl;
exit (0);
}
else {}
while (m<n)
{
f<<endl;
f<<word[m].en;
f<<" ";
f<<word[m].ch;
m++;
}
f.close();
Read();
}
void Show()//展示词库单词
{
void Menu();
system("cls");
cout<<endl<<endl;
if(n==0)
{
cout<<"词库目前为空"<<endl;
}
else
{
int m=0;
while(m<n)
{
cout<<m+1<<":";
word[m].Show();
m++;
}
}
cout<<"按任意键返回菜单!"<<endl;
getch();
Menu();
}
void Add()//添加单词
{
void Menu();
system("cls");
string e,c;
cout<<endl<<endl;
cout<<endl<<"请输入您要添加单词的英文"<<endl;
cin>>e;
cout<<endl<<"请输入您要添加单词的中文"<<endl;
cin>>c;
word[n].Set(e,c);
n++;
Write();
cout<<"按任意键返回菜单!"<<endl;
getch();
Menu();
}
void Del()//删除单词
{
void Menu();
system("cls");
string e,c;
int m;
cout<<endl<<endl;
cout<<endl<<"请选择删除方法:"<<endl;
cout<<endl<<"1、按英文删除单词"<<endl;
cout<<endl<<"2、按中文删除单词"<<endl;
char i;
i=getch();
switch(i)
{
case '1':
cout<<endl<<"请输入您要删除单词的英文"<<endl;
cin>>e;
for(m=0;m<n;m++)
{
if(word[m].en==e)
{
break;
}
}
break;
case '2':
cout<<endl<<"请输入您要删除单词的中文"<<endl;
cin>>c;
for(m=0;m<n;m++)
{
if(word[m].ch==c)
{
break;
}
}
break;
default:
cout<<"您的按键有误,按任意键返回重新选择!"<<endl;
getch();
Del();
}
word[m].Show();
cout<<"该单词已经删除"<<endl;
for(;m<n;m++)
{
word[m]=word[m+1];
}
Write();
cout<<"按任意键返回菜单!"<<endl;
getch();
Menu();
}
void Find()//查找单词
{
void Menu();
system("cls");
string e,c;
int m;
cout<<endl<<endl;
cout<<endl<<"请选择查找方法:"<<endl;
cout<<endl<<"1、按英文查找单词"<<endl;
cout<<endl<<"2、按中文查找单词"<<endl;
char i;
i=getch();
switch(i)
{
case '1':
cout<<endl<<"请输入您要查找单词的英文"<<endl;
cin>>e;
for(m=0;m<n;m++)
{
if(word[m].en==e)
{
break;
}
}
break;
case '2':
cout<<endl<<"请输入您要查找单词的中文"<<endl;
cin>>c;
for(m=0;m<n;m++)
{
if(word[m].ch==c)
{
break;
}
}
break;
default:
cout<<"您的按键有误,按任意键返回重新选择!"<<endl;
getch();
Del();
}
cout<<"您查找的单词为:";
word[m].Show();
cout<<"按任意键返回菜单!"<<endl;
getch();
Menu();
}
void Edit()//修改编辑单词
{
void Menu();
system("cls");
string e,c;
int m;
cout<<endl<<endl;
cout<<endl<<"请选择修改的单词查找的方法:"<<endl;
cout<<endl<<"1、按英文查找要修改的单词"<<endl;
cout<<endl<<"2、按中文查找要修改的单词"<<endl;
char i;
i=getch();
switch(i)
{
case '1':
cout<<endl<<"请输入您要查找单词的英文"<<endl;
cin>>e;
for(m=0;m<n;m++)
{
if(word[m].en==e)
{
break;
}
}
break;
case '2':
cout<<endl<<"请输入您要查找单词的中文"<<endl;
cin>>c;
for(m=0;m<n;m++)
{
if(word[m].ch==c)
{
break;
}
}
break;
default:
cout<<"您的按键有误,按任意键返回重新选择!"<<endl;
getch();
Del();
}
cout<<"您查找的单词为:";
word[m].Show();
cout<<"请编辑该单词!"<<endl;
cout<<endl<<"请输入您要修改单词的英文"<<endl;
cin>>e;
cout<<endl<<"请输入您要修改单词的中文"<<endl;
cin>>c;
word[m].Set(e,c);
Write();
cout<<"按任意键返回菜单!"<<endl;
getch();
Menu();
}
void Test()//单词测试
{
void Menu();
system("cls");
cout<<endl<<endl;
int m;
string e,c;
if(n==0)
{
cout<<"词库目前为空"<<endl;
}
else
{
cout<<"请选择测试方法!"<<endl;
cout<<"1、看单词写中文"<<endl;
cout<<"2、看中文写单词"<<endl;
char i;
i=getch();
switch(i)
{
case '1':
test++;
for(m=0;m<n;m++)
{
cout<<word[m].en<<endl;
cin>>c;
if(word[m].ch==c)
{
cout<<"恭喜你,正确!"<<endl;
grade[test]++;
}
else
{
cout<<"很遗憾,错误!"<<endl;
}
}
break;
case '2':
test++;
cout<<endl<<"请输入您要查找单词的中文"<<endl;
cin>>c;
for(m=0;m<n;m++)
{
cout<<word[m].ch<<endl;
cin>>c;
if(word[m].en==e)
{
cout<<"恭喜你,正确!"<<endl;
grade[test]++;
}
else
{
cout<<"很遗憾,错误!"<<endl;
}
}
break;
default:
cout<<"您的按键有误,按任意键返回重新选择!"<<endl;
getch();
Test();
}
cout<<"本次测试结果为:"<<endl;
cout<<"测试共:"<<n<<"个单词"<<endl;
cout<<"正确共:"<<grade[test]<<"个单词"<<endl;
cout<<"按任意键返回菜单!"<<endl;
getch();
Menu();
}
}
void Gread()//显示成绩
{
void Menu();
system("cls");
if(test==0)
{
cout<<"本次还没有进行测试"<<endl<<endl;
}
else
{
int m;
for(m=1;m<=test;m++)
{
cout<<"第"<<m+1<<"次测试结果为:"<<endl;
cout<<"测试共:"<<n<<"个单词"<<endl;
cout<<"正确共:"<<grade[test]<<"个单词"<<endl<<endl;
}
}
cout<<"按任意键返回菜单!"<<endl;
getch();
Menu();
}
void Menu()//菜单
{
system("cls");
cout<<endl<<endl<<" 欢迎使用M记单词"<<endl<<endl;
cout<<" 1、查看词库"<<endl<<endl;
cout<<" 2、添加单词"<<endl<<endl;
cout<<" 3、删除单词"<<endl<<endl;
cout<<" 4、查找单词"<<endl<<endl;
cout<<" 5、修改单词"<<endl<<endl;
cout<<" 6、单词测试"<<endl<<endl;
cout<<" 7、查看成绩"<<endl<<endl;
cout<<" 8、退出程序"<<endl<<endl;
char i;
i=getch();
switch(i)
{
case '1':
Show();
break;
case '2':
Add();
break;
case '3':
Del();
break;
case '4':
Find();
break;
case '5':
Edit();
break;
case '6':
Test();
break;
case '7':
Gread();
break;
case '8':
exit(0);
break;
default:
cout<<"您的按键有误,按任意键返回菜单!"<<endl;
getch();
Menu();
}
}
void main()//主函数
{
test=0;
Read();
Menu();
}
Mword单词记忆小助手
最新推荐文章于 2019-04-03 16:14:42 发布