第四次作业

学号 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++的函数及语法编码新的内容,才顺利完成了这次作业。之后还是要勤加学习,获得新的武器编出更高级的程序。
posted @ 2017-03-15 21:23  范加索尔拉  阅读(221)  评论(0编辑  收藏  举报