c语言关键字中英翻译机课程设计,课程设计--C语言关键字中英翻译机.doc

课程设计--C语言关键字中英翻译机

课 程 设 计 报 告

学院、系:吉林大学珠海学院计算机科学与技术系专业名称:计算机科学与技术课程设计科目C语言程序课程设计所在班级:4班学生学号:学生姓名:曾伟雄指导教师:李昱完成时间:2012年3月-5月

C语言关键字中英翻译机

一、设计任务与目标

(1)输入中文关键字可以翻译成英语,如输入“整型”则输出关键字“int”;

(2)输入英文关键字可以翻译成中文,如输入“int”则输出关键字“整型”;

(3)可多次查询;

(4)输入bye时退出。

二、方案设计与论证

(1)定义两个字符型数组分别存放中文关键字和英文关键字,中文和英文的顺序要一一对应,即数组的下标值要相同;

(2)定义一个字符型数组用来存放输入的字符串;

(3)利用strcmp()函数和循环结构实现输入的英文或中文关键字和已定义的字符型数组中的英文或中文关键字逐一比较;

(4)输入的关键字和已有的关键字比较相同则利用中英相对应的下标值相同输出对应的英文或中文;

(5)利用循环结构实现多次查询的功能;

(6)利用exit()函数实现输入“bye”时退出程序;

三、程序框图或流程图,程序清单与调用关系

四、全部源程序清单

#include

#include

#include

void main()

{

int i,x,k,time;

char a[15];

char *En[]={"int","float","double","for","return","auto","if","while","continue","break"};

char *Ch[]={"整型","单精度","双精度","循环","返回","自动","如果","当","继续","退出"};

cout<

for(time=0;time<100;time++)

{

cin>>x;

if (x==1)

{

cout<

cin>>a;

if (strcmp(a,"bye")==0)

exit(0);

cout<

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

{

if (strcmp(a,Ch[i])==0)

{

cout<

}

}

cout<

}

if (x==0)

{

cout<

cin>>a;

if (strcmp(a,"exit")==0)

exit(0);

cout<

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

{

if (strcmp(a,En[i])==0)

{

cout<

}

}

cout<

}

}

}

五、程序运行结果测试与分析

(1)输入“1+回车”为中文翻译成英文,输入“0+回车”为英文翻译成中文;

(2)输入中文关键字翻译成英文关键字;

(3)输入英文关键字翻译成中文关键字;

(4)输入“1或0+回车”后输入“bye”则退出程序。

六、结论与心得

在做这个程序的时候首先遇到的问题就是如何实现中英互译,一开始感觉很难。后来通过仔细的思考和研究,就想到通过两个一维数组分别来保存中文和英文,并且通过使对应英文和中文数组下标保持一致,来实现通过输入的英文或中文跟数组已有的来比较,比较相同,则通过下标值来查找对应的中文或英文,然后输出即可。但是这个程序还是有不足的地方,因为保存的词比较少,所以只是通过一位数组来保存,而且是没有规律的,如果要像输入法那样保存大量的词汇,这样的方法使用起来很不方便。所以需要想一种更高效的方法来解决这个问题。比如通过二维数组来保存词汇,词汇按字母顺序之类的方法来保存,这样就能实现更加高效的查询。但是实现过程还需要一定的研究。所以目前所做的程序虽然达到要求,却还是存在很大的不足。以后需要花多一点时间来考虑并完善该程序。

通过这次课程设计使我懂得了理论与实际相结合的重要性,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这毕竟是自己独立做的,难免会遇到各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计之后,一定要把以前所学过的知识重新温习一下。

七、参考资料

[1]

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值