C++课程设计之电子词典.docx
《C++课程设计之电子词典.docx》由会员分享,可在线阅读,更多相关《C++课程设计之电子词典.docx(15页珍藏版)》请在冰豆网上搜索。
![C++课程设计之电子词典.docx](https://file1.bdocx.com/fileroot1/2023-1/9/c67845e9-3d5e-49cb-9760-d4e21f7aaca2/c67845e9-3d5e-49cb-9760-d4e21f7aaca21.gif)
C++课程设计之电子词典
仲恺农业工程学院
工程实训报告
电子词典
课程名称C++面向对象课程设计
姓名郑志欣
院(系)信息科学与技术学院
专业班级计算机科学与技术132班
学号************
指导教师史婷婷
仲恺农业工程学院教务处制
1需求分析
在这个电子词典系统里,我主要是作为一个英汉词典进行,该系统具备简单的英汉词典的功能,使之能提供以下功能:
●单词查找
●单词增除
●单词修改、维护等工作
2系统总框图和功能模块说明
2.1系统总框图
2.2功能模块说明
增加单词,完成单词录入;查找单词,完成单词输出;
3系统设计""""
3.1电子词典源代码
#include
#include
#include
#include
voidmain()
{
staticintn=13;
charm;
struct
{
chareng[50];
charci[50];
charyin[50];
charchi[50];
}
word[1000]={{"cat","n","猫"},
{"clean","adj&d&v","1.干净2.整洁"},
{"finally","ad","最终,终于"},};
int();
loop:
for(;;)
{
system("cls");
int();
cout<<"\n\t==========欢迎进入英汉词典=========="<cout<<"\n\t****选择项目****\n"<cout<<"\n\n\t1.增加单词\n"<cout<<"\t2.删除单词\n"<cout<<"\t3.查找单词\n"<cout<<"\t4.修改单词\n"<cout<<"\t5.退出系统\n\n"<cout<<"请选择1~5选项\n"<cout<<"Pleasepressthekey:
";
cin>>m;
switch(m)
{
case'1':
{
charj[10],k[15],l[10],p[30];
++n;
cout<<"\n增加单词"<cout<<"\n\n请输入单词:
";
cin>>j;
cout<<"\n输入词性:
";
cin>>k;
cout<<"\n输入中文:
";
cin>>l;
strcpy(word[n].eng,j);
strcpy(word[n].ci,k);
strcpy(word[n].yin,l);
cout<<"\nPleasecheckit:
";
cout<<"\n\n英文:
"<cout<<"\n\n词性:
"<cout<<"\n\n中文:
"<cout<<"\n按任意键返回"<cin>>m;
}
break;
case'2':
{
charr[10];
ints,t,z=0,x=0;
cout<<"\n请输入你要删除的单词:
";
cin>>r;
for(s=0;s<=n;s++)
{
if(s<=n-1)
{
if(strcmp(word[s].eng,r)==0)
{
x=1;
for(t=s;t{
strcpy(word[t].eng,word[t+1].eng);
strcpy(word[t].ci,word[t+1].ci);
strcpy(word[t].yin,word[t+1].yin);
}
}
}
else
{
if(strcmp(word[n].eng,r)==0)
z=1;
else
z=0;
}
}
if(z==1||x==1)
{
cout<<"\n\n删除成功!
\n"<n--;
cout<<"\n按任意键返回"<cin>>m;
}
else
{
cout<<"\n\n删除失败"<cout<<"\n按任意键返回"<cin>>m;
}
}
break;
case'3':
{
intl;
cout<<"\n\n查找单词\n"<cout<<"1.通过英文查找\n"<cout<<"2.通过中文查找\n"<cout<<"请选择:
";
cin>>l;
switch
(1)
{
case1:
{
charr[10],m[1];ints;
cout<<"\n请输入所要查找的英文:
";
cin>>r;
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].eng,r)==0)
break;
else
continue;
else
if(strcmp(word[n].eng,r)==0)
break;
else
{
charm[1];
cout<<"\n按任意键返回"<cin>>m;
gotoloop;
}
}
cout<<"\n\n英文:
"<cout<<"\n\n词性:
"<cout<<"\n\n中文:
"<cout<<"\n按任意键返回"<cin>>m;
break;
}
case2:
{
charr[10],m[1];ints;
cout<<"\n请输入所要查找的中文:
";
cin>>r;
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].chi,r)==0)
break;
else
continue;
else
if(strcmp(word[n].chi,r)==0)
break;
else
{
charm[1];
cout<<"\n按任意键返回"<cin>>m;
gotoloop;
}
}
cout<<"\n英文:
"<cout<<"\n\n词性:
"<cout<<"\n\n中文:
"<cout<<"\n按任意键返回"<cin>>m;
break;
}
}
case'4':
{
charj[10],k[15],l[10],p[30],r[10],m[1];ints;
++n;
cout<<"\n修改单词"<cout<<"\n\n请输入你行更改的单词:
";
cin>>r;
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].eng,r)==0)
break;
else
continue;
else
if(strcmp(word[n].eng,r)==0)
break;
else
{
charm[1];
cout<<"\n没有这个单词!
!
\n按任意键返回"<cin>>m;
gotoloop;
}
}
cout<<"\n\n英文:
"<cout<<"\n\n词性:
"<cout<<"\n\n中文:
"<cout<<"\n\n你可以进行修改"<cout<<"\n请输入单词:
";
cin>>j;
cout<<"\n请输入词性:
";
cin>>k;
cout<<"\n请输入中文:
";
cin>>l;
strcpy(word[n].eng,j);
strcpy(word[n].ci,k);
strcpy(word[n].yin,l);
cout<<"\n确认?
";
cout<<"\n\n英文:
"<cout<<"\n\n词性:
"<cout<<"\n\n中文:
"<cout<<"\n按任意键返回"<cin>>m;
}break;
case'5':
exit
(1);break;
}
}}}
3.2关键函数的流程图
4系统调试
●开始菜单
●增加单词
●删除单词
●查找单词
●修改单词
●退出系统
5总结
这次编程里,遇到几次数组溢出,原因是自己在开头没做好
6源程序清单