输入可以相互翻译的英文和对应中文,生成中英译文

1程序前提

//输入可以相互翻译的英文和对应中文,假设句子为逐句翻译,结尾标点符号(句号,叹号,问号)句句对应,可以生成中英译文

(无论如果,必须具有规律性)


3备注

//注:中文字符为两个字节,ASCLL码一般为两个负数

如以下中文标点符号:



3编程思路

思路:假设句子为逐句翻译,结尾标点符号(句号,叹号,问号)句句对应,

1,:先分别获取中文与英文部分,

2:输出一句英文,立刻输出一句中文


4源代码

源代码:

// 分别输出英文与中文,按照对应顺序句号生产中英对应文.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include
#include
#define sizeA  50000


int main()
{
char English[sizeA] = { "\0" };
char Chinese[sizeA] = { "\0" };
printf("请确认中文与英文是逐句翻译且结尾标点符号(叹号,问号,句号)句句对应\n");
printf("请输入中文部分\n");
for (int i = 0; i < sizeA; i++) {
if ((Chinese[i] = getchar()) == EOF) {

break;
}
}
//gets_s(Chinese);



printf("请输入英文部分\n");
for (int i = 0; i < sizeA; i++) {
if ((English[i] = getchar()) == EOF) {

break;
}
}
//gets_s(English);
FILE *fp1;
int j = 0;
if ((fp1 = (fopen("subtitle.txt", "w"))) == NULL) {
printf("can not open the FILE\n");
}




for (int i = 0; i <= strlen(English); i++) {
fputc(English[i], fp1);
if ((English[i]=='!')||(English[i]=='?')|| (English[i] == '.'))
{
fputc('\n', fp1);
for (; j {
if ((Chinese[j] == -95 && Chinese[j + 1] == -93) || (Chinese[j] == -93 && Chinese[j + 1] == -65) || (Chinese[j] == -93 && Chinese[j + 1] == -95)) { fputc('\n', fp1); j+=2; break; }
fputc(Chinese[j], fp1);



}
}


}


fclose(fp1);
return 0;




}






你可能感兴趣的:(C,应用,控制台)