第四次作业
学号 031602543 博客主页
设计思路
- 题目要求使用单独的文件来输出文字,经过查阅资料和与许多同学的交流(特别是林世杰同学),确定了基本思路:将不同的语言文字按照相同的个还是各自放在txt当中,然后根据不同的行数来输出每行的内容。为此,我设计了一个新的函数。
新函数的代码
void lan(char ch,int a)
{
string s;
int i;
ifstream inf;
if(ch=='C')
inf.open("G://Programing//homework4//chinese.txt");
if(ch=='E')
inf.open("G://Programing//homework4//english.txt");
if(ch=='G')
inf.open("G://Programing//homework4//german.txt");
if(ch=='F')
inf.open("G://Programing//homework4//french.txt");
if(ch=='J')
inf.open("G://Programing//homework4//japanese.txt");
switch(a)
{
case 1: getline(inf,s,'\n');
cout <<s<<endl;
break;
case 2: for(i=0;i<2;i++)
getline(inf,s,'\n');
cout <<s;
break;
case 3: for(i=0;i<3;i++)
getline(inf,s,'\n');
cout <<s<<endl;
break;
case 4: for(i=0;i<4;i++)
getline(inf,s,'\n');
cout <<s;
break;
case 5: for(i=0;i<5;i++)
getline(inf,s,'\n');
cout <<s;
break;
case 6: for(i=0;i<6;i++)
getline(inf,s,'\n');
cout <<s<<endl;
break;
}
inf.close();
}
根据不同的语言的英文首字母来确定打开哪一个文件,然后a表示输出文件的行数。
txt示例
运行效果
-
中文示例
-
德文示例
git提交
github的链接 https://github.com/Vancasola/cooperation
作业感想
- 为了完成本次作业,我与许多同学进行讨论,发现大致思路都是建立文件,并且文件格式是固定的,然后用相关函数打开文件,输出文件的内容。刚开始我尝试使用C语言的fopen函数打开文件,将txt中的语言都存储到一个字符数组当中,发现这样只能输出英文字符,而一个汉字占用的是两个字符,如果用puts函数输出的话,只能输出一个汉字,而后面的汉字都会乱码,只能放弃了这种方法。后来向林世杰同学学习了新的函数,大体上还是按照原来的思路,细节作了一些改动,采用c++的函数及语法编码新的内容,才顺利完成了这次作业。之后还是要勤加学习,获得新的武器编出更高级的程序。