C语言实现翻译功能

 更新时间:2019年01月31日 14:20:56   作者:你爱吃泡芙。  
这篇文章主要为大家详细介绍了C语言实现简单的翻译功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言实现翻译功能的具体代码,供大家参考,具体内容如下

#include<stdio.h>
#define number 100
struct date
{
 char chinese[30];
 char English[30];
 
}a[number];
void copy(char *str1, char *str2, int counst)//将值赋给trans
{
 int i = 0;
 if (str2 == ' ' || str2 == '\0')
 {
 return;
 }
 while (counst--)
 {
 *str1++ = *str2++;
 
 }
 return;
 
}
 
int panduan(char *d, char *f)//判断是否相等
{
 char *str1 = d, *str2 = f;
 int xc=0;
 while (!(xc = *str2 - *str1)&&*str1)
 {
 str1++;
 str2++;
 
 }
 if (xc != 0)
 {
 return 0;
 }
 return 1;
 
}
char* ry( struct date a[number],char *wordtemp,int x) 
{
 for (int i = 0;i<x; i++)
 {
 if (panduan(a[i].English, wordtemp))
 {
 return a[i].chinese;
 }
 }
 return "NULL";
}
int main()
{
 char b;
 int x;
 int exit=0;
 char str[50];
 printf("[请先输入英文单词,再输入拼音,中间以空格隔开,当输入*时结束]\n");
 for (int i=0;; i++)
 {
 printf("第[%d]组:\t", i+1);
 scanf("%[^' ']", a[i].English);
 scanf("%c", &b);
 scanf("%[^\n]", a[i].chinese);
 scanf("%c", &b);
 if (*a[i].English == '*'&&*a[i].chinese == '*')
 {
 x = i;
 break;
 }
 }
 printf("[请输入你所要翻译的内容]\n");
 scanf("%[^\n]", str);
 printf("|翻译的结果为|:\n");
 for (int i = 0;; i++)
 {
 if (str[i] != ' ')
 {
 char Trans[100];
 int n = 0;
 if(str[i]!=' ')
 { 
 while (!(str[i] == ' ' || str[i] == '\0'))
 {
 n++;
 i++;
 if (str[i] == '\0')
 {
  exit = 1;
 }
 } 
 copy(Trans, &str[i - n], n);
 Trans[n] = '\0';
 printf("[%s]", ry(a,Trans,x));
 }
 if (exit)
 {
 break;
 }
 
 }
 }
 
 system("pause");
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C++字符串提取和分割的多种方法

    C++字符串提取和分割的多种方法

    在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用场景和优缺点,我们将通过多个示例代码逐步讲解,帮助读者掌握字符串处理的技巧,需要的朋友可以参考下
    2025-03-03
  • CISBitmap派生的VC++位图透明类实例

    CISBitmap派生的VC++位图透明类实例

    这篇文章主要介绍了CISBitmap派生的VC++位图透明类,比较实用的功能,需要的朋友可以参考下
    2014-08-08
  • C语言中嵌入Lua解释器的方法详解

    C语言中嵌入Lua解释器的方法详解

    Lua语言是一个轻量的脚本语言,可以用很少的资源运行其解释器,这篇文章主要为大家介绍了如何在C语言中嵌入Lua解释器的方法,希望对大家有所帮助
    2024-05-05
  • 深入了解C语言栈的创建

    深入了解C语言栈的创建

    栈只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但是限定这种线性表只能在某一端进行插入和删除操作,这篇文章主要介绍了C语言对栈的实现基本操作
    2021-07-07
  • C++中DeviceIoCteatol的用法实例

    C++中DeviceIoCteatol的用法实例

    这篇文章主要介绍了C++中DeviceIoCteatol的用法实例,对于学习C++针对硬件的操作有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • C语言实现扫雷游戏源代码

    C语言实现扫雷游戏源代码

    这篇文章主要为大家详细介绍了C语言实现扫雷游戏源代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • C#委托所蕴含的函数指针概念详细解析

    C#委托所蕴含的函数指针概念详细解析

    C#中用委托这种概念实现了函数指针技术而已,另外.ent提供额外的安全性,当然也损失了灵活性
    2013-09-09
  • c++ sqlite3如何利用事务(BEGIN;COMMIT;)批量操作

    c++ sqlite3如何利用事务(BEGIN;COMMIT;)批量操作

    这篇文章主要介绍了c++ sqlite3如何利用事务(BEGIN;COMMIT;)批量操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Qt专栏之模态与非模态对话框的实现

    Qt专栏之模态与非模态对话框的实现

    这篇文章主要介绍了Qt专栏之模态与非模态对话框的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C语言中定义与声明有哪些区别

    C语言中定义与声明有哪些区别

    在C/C++中有一个基础且重要的知识,什么是声明?什么是定义?他们的区别是什么?本文将带你理清其中的区别
    2022-07-07

最新评论