高级程序语言设计报告背单词软件设计.docx

上传人:b****4 文档编号:11580134 上传时间:2023-03-19 格式:DOCX 页数:15 大小:279.73KB
下载 相关 举报
高级程序语言设计报告背单词软件设计.docx_第1页
第1页 / 共15页
高级程序语言设计报告背单词软件设计.docx_第2页
第2页 / 共15页
高级程序语言设计报告背单词软件设计.docx_第3页
第3页 / 共15页
高级程序语言设计报告背单词软件设计.docx_第4页
第4页 / 共15页
高级程序语言设计报告背单词软件设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

高级程序语言设计报告背单词软件设计.docx

《高级程序语言设计报告背单词软件设计.docx》由会员分享,可在线阅读,更多相关《高级程序语言设计报告背单词软件设计.docx(15页珍藏版)》请在冰豆网上搜索。

高级程序语言设计报告背单词软件设计.docx

高级程序语言设计报告背单词软件设计

«高级程序语言设计课程设计»课程设计

说明书

 

设计题目:

背单词软件设计

1.题目描述

该系统是帮助学生背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑自己的词库,系统可以给出中文,让学生输入其英文意,也可以输出英文让学生输入中文意思。

并判断词义是否正确。

如不正确给出提示并要求用户重新输入。

如正确给以鼓励。

还应有词语预览功能。

本功能:

词库的增加或删除;

单词预览;

显示中文用户输入英文进行测试;

显示英文用户输入中文进行测试;

用户输入中文或英文进行单词的查询。

 

2变量、函数和结构体说明

(1)关键变量说明

intx结构体数组中元素的数目

intn测试时单词的正确个数

inta进行菜单选择

intm进行菜单选择

(2)函数定义说明

voidforesee();单词预览及进行测试

intsuiji();产生随机单词以进行测试

voidtest2(intn);测试单词的成绩

voidtestchinese();测试时系统给出中文单词

voidtestenglish测试时系统给出英文单词

voidtranslation();单词查询

voidinputword();输入单词,查询意思

voidinputenglish();输入中文,查询单词

voidjiaword();单词添加

voidjianword();单词删除

(3)结构体说明

structwords单词结构体定义

{

chareword[20];单词

charchinese[50];意思

}

structwordsbank[SIZE]定义数组结构体,存储单词

 

3树形结构图

4用户操作说明

运行程序后进行选择

选择1.单词预览

选择2.系统产生中文供用户测试

选择3.系统产生英文供用户测试

选择4.英汉互译

1.英译汉

2.汉译英

3.返回上级菜单

选择5.单词添加

选择6.单词删除

选择7.退出系统

 

#include

#include//调用动态分配函数和随机函数

#include//调用字符串函数

#include//通过控制台进行数据输入和数据输出的函数>

#defineSIZE35//定义词库单词数量

structwords

{

charmyword[10];

charchinese[10];

};//单词结构体定义

intx;

structwordsbank[SIZE]={

{"a","字母a"},

{"b","字母b"},

{"c","字母c"},

{"1","数字1"},

{"2","数字2"},

{"f","字母f"},

{"g","字母g"},

{"h","字母h"},

{"i","字母i"},

{"j","字母j"},

{"k","字母k"},

{"l","字母l"},

{"w","字母w"},

{"q","字母q"},

{"e","字母e"},

{"r","字母r"},

{"t","字母t"},

{"y","字母y"},

{"u","字母u"},

{"i","字母i"},

{"o","字母o"},

{"p","字母p"},

{"z","字母z"},

{"x","字母x"},

{"c","字母c"},

{"v","字母v"},

{"b","字母b"},

{"n","字母n"},

{"m","字母m"},

};//词库

voidtest2(intn)//测试单词的成绩

{

switch(n)

{case0:

case1:

case2:

case3:

printf("正确个数:

%d\n加油吧少年!

",n);getch();break;//会等待你按下任意键,再继续执行下面的语句

case4:

case5:

case6:

printf("正确个数:

%d\n孩子还不行哦!

",n);getch();break;

case7:

case8:

case9:

case10:

printf("正确个数:

%d\n酷毙了老大!

",n);getch();break;

}

}

intsuiji()//产生随机单词以进行测试

{

return(rand()%28);//产生0~28范围内的数字

}

voidtestchinese()//系统产生中文

{

inti,j=0,a=0;charword[40];charch;

ch=getchar();

for(i=0;i<10;i++)

{

a=suiji();

printf("%s\n请输入对应的英文:

",bank[a].chinese);

scanf("%s",word);

if(strcmp(bank[a].myword,word)==0)j++;//比较输入单词是否与词库内单词一致

}test2(j);

}

voidtestenglish()//系统产生英文

{

inti,j=0,a;charword[40];charch;

ch=getchar();

for(i=0;i<10;i++)

{a=suiji();

printf("%s\n请输入对应的中文:

",bank[a].myword);

scanf("%s",word);

if(strcmp(bank[a].chinese,word)==0)j++;//比较输入单词是否与词库内单词一致

}test2(j);

}

voidforesee()//单词预览及进行测试

{

inta;charch;

puts("单词意思");

for(a=0;a

printf("%s%s\n",bank[a].myword,bank[a].chinese);

}

voidinputword()//输入单词,查询意思

{

charword[20];inti=0;

puts("请输入您要查询的单词:

");

scanf("%s",word);

while(strcmp(bank[i].myword,word)!

=0&&i

if(i

%s\n",bank[i].chinese);//在词库中寻找匹配的单词

elseputs("sorry,没有查到您要找的单词。

");

}

voidinputchinese()//输入中文,查询单词

{

charchinese[10];inti=0;

puts("请输入您要查询的中文:

");

scanf("%s",chinese);

while(strcmp(bank[i].chinese,chinese)!

=0&&i

if(i

%s\n",bank[i].myword);

elseputs("sorry,没有查到您要找的单词。

");

}

voidtranslation()//进行单词查询

{

inta;

while(a!

=3)

{

puts("请选择:

");

puts("1.英译汉");

puts("2.汉译英");

puts("3.返回上级菜单");

scanf("%d",&a);

switch(a)

{

case1:

inputword();break;

case2:

inputchinese();break;

case3:

break;

}

}

}

voidjiaword()//单词添加

{

charch;

do

{

puts("请输入您要添加的单词:

");

scanf("%s",bank[x].myword);

puts("请输入该词的中文意思:

");

scanf("%s",bank[x].chinese);

puts("您是否还要继续?

Y/N");

ch=getchar();

x++;

}while(ch=='Y'||ch=='y');getch();

}

voidjianword()//单词删除

{

charword[10];inti=0;

printf("请输入您要删除的单词:

");

scanf("%s",word);

while(strcmp(bank[i].myword,word)!

=0&&i

if(i

{

for(;i

bank[i]=bank[i+1];

puts("搞定删除啦!

");

}

elseputs("sorry没找到对应的单词!

");

}

intmain()//主函数

{

intm;

puts("欢迎使用背单词系统");

while(m!

=7)

{

puts("**********************************************");

puts("*请选择您需要的服务:

*");

puts("*1.单词预览*");

puts("*2.系统产生中文测试*");

puts("*3.系统产生英文测试*");

puts("*4.英汉互译*");

puts("*5.单词添加*");

puts("*6.单词删除*");

puts("*7.退出系统*");

puts("**********************************************");

scanf("%d",&m);

switch(m)

{

case1:

foresee();break;

case2:

testchinese();break;

case3:

testenglish();break;

case4:

translation();break;

case5:

jiaword();break;

case6:

jianword();break;

case7:

return0;

default:

puts("哥哥别乱输数字哦!

");

}

}

}

 

总结

当我打字到这里的时候,我总算松一口气了,为期2周的课程设计后终于交出课一份完整的作品。

这次课题是背诵单词的软件,初看这道题时,感觉无从下手,脑子里没有思绪,当在网上查阅资料以后,才开始有了头绪,在有了大概的思路后就开始编程了,当初本来想一口气便下来,结果发现难度很大而且很不可取,于是从主函数开始,先看程序需要哪些程序,再从各个需要的程序下手。

在编程的过程中,虽然很累,但是看着程序就像一个小孩慢慢张大,挺有成就感的,所以最终还是高兴的!

当然,世界上没有完美的作品,程序还是有不足!

本来想将字典里的词语写入文件中,但是尝试后总是出现未知的问题,所以最终放弃了。

其次,在添加单词的时候只能用英文添加,这是一个缺陷。

比较大的缺点就是这些吧,希望老师可以批评指正!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1