程序国际化 ---- 自动出题软件

相同部分

  1. 学号:031602438 博客主页链接:http://www.cnblogs.com/yyf031602438/

    学号:031602317 博客主页链接:http://www.cnblogs.com/fleur1025/

设计思路:

(怎么讲呢,由于我对vs不是很熟,所以给的参考也没怎么看懂,所以我用的是自己的方法写了,有点伪)

建个txt文本,里面存你程序要用到的各种文字,资源,比如:中文请输入你就以请输入+中文+sourceHint这样存储。然后下一行是请输入的英文你可以这样存储:please input+英语+sourceHint....然后你定义一个stl中的map。程序一开始初始化,对txt文件一行一行读每行都以Map(你的map stl变量名)
Map["资源变量名+语言"]=具体内容;初始化
然后定义一个static string currentlanguge 代表当前的语言
比如你接下来要用到当前语言请输入
就直接可以Map["inputHint"+"当前语言"]这样引用。
然后想加语言就在txt文本中添加各个资源的其他语言格式,改完后直接可以编译运行,不用修改代码

当然这只是思路,具体实施可能会有变化。如果思路看不懂,下面我会贴一下这部分的核心代码,毕竟全部代码有点多。

程序实现和结果测试的截图:


fp=fopen("Language.txt","r");
ch[0][0]=fgetc(fp);
while(!feof(fp))
{
if(ch[i][j]=='\n')
{i++;j=0;}
else {
j++;
if(max<j) max=j;
}
ch[i][j]=fgetc(fp);
}
//这里是读写txt文本的部分


for(i=5;i<=m;i++)
{
for(j=0;j<max;++j)
{
if(ch[i][j]!='\n')
s+=ch[i][j];
else
break;
}
i++;
for(j=0;j<max;++j)
{
if(ch[i][j]!='\n')
s1+=ch[i][j];
else
break;
}
Map[s]=s1;
s="";
s1="";
}
//这个是给Map初始化的部分

程序国际化 ---- 自动出题软件
程序国际化 ---- 自动出题软件
程序国际化 ---- 自动出题软件
程序国际化 ---- 自动出题软件
程序国际化 ---- 自动出题软件

github的提交链接:(https://github.com/NSDie/Operations)

提交日志截图:

程序国际化 ---- 自动出题软件
程序国际化 ---- 自动出题软件

分工:
1). 031602438 负责 语言的读取以及实现多语言;
2). 031602317 负责 翻译、制作txt文本。

协作证据截图:

程序国际化 ---- 自动出题软件

## 差异部分

1.感想

觉得自己太弱了,也是第一次接触、学习这种新的思想,由于中途不会使用vs浪费了很多时间。

最后还是另辟蹊径, 想别的方法,就像我代码中的栈是自己写的一样,能不能自己写一个能存储资源的代码。

于是就有了 Map 。

这期间我也非常感谢帮助过我的学长,我有很多疑问,也是看了很多博客以及问了学长问题。

也算是边学习边写这份作业吧。

这次作业之后我也要好好学习一下如何使用vs中的资源文件。