第四次寒假作业——实现五种语言的选择

第四次寒假作业(一)

Partner:

前言

这次的寒假作业,是基于第三次作业基础上的进一步丰富,目的旨在实现用户五种语言的选择与使用,使得所设计的产品受众面更加的拓宽。

在本次的作业中,我深深的感受到麻烦困境永远不会侥幸的消除,做任何事,倘若不能善始善终,那么终有一天你还是要去面对这份苦痛。没错,第三次的作业基于种种原因不能很好的实现整体的运行,所以基本上我把完成任务的时间都投入到Plan B的debug上,而我的队友ze主攻Plan A的语言选择的实现上,怎么说呢,没能直接的参与进本次作业的编写,有些些遗憾,但我的队友表现的很出色,基本实现了目的要求,而在任务实现以后,我也通过一些途径大致了解的一下程序的实现原理,所以就做一个对我们组程序的简单的分析,算是给自己的一个小小总结。

实现程序的背景

  • fstream:对文件进行读写操作的一个类;
  • f.open() : 打开已经编写好的txt文件;
  • f.geline() : 对txt中的整行文字进行输入操作;
  • f.close() : 打开一个流式文件,就需要在结束使用时将其关闭;
  • strcat :将两个char类型的数组进行连接;
  • ios::in : 打开一个可读取文件;

具体代码

part 1 : 输出语言列表提供给用户进行选择

void language::languagelist()
{
	fstream file;
	file.open("languagelist.txt");
	char line[100]="";
	while(file.getline(line,100))
	{
		cout<<line<<endl;
	}
	file.close();
}

part 2 : 将输入的语言选择与后缀"txt"进行连接后对外部编辑好的txt文本进行调用,而后整行去输出文本中的逐行信息。这里实现读出时用的使用while(file.getline(line,100))的方式,在我个人的学习中介绍到的是采用while(!line.eof())来读到文件的末尾。

void language::languagechoice(char boundary[][200])
{
	char path[100]="",choice[100];
	int i;
	for(i=0;;i++)
	{
		cin>>choice;
		strcat(path,choice);
		strcat(path,".txt");
		fstream file;
		file.open(path,ios::in);
		if (file.is_open())

    	{
    		int i; 
	    	for(i=0;file.getline(boundary[i],200);i++)
	    	{
	    	}
        	file.close();
        	cout<<boundary[0]<<endl;
        	break;

    	}

    	else
	   	cout<<"Sorry,your choice has not been prepared,please choice again!"<<endl;
	}
}

以上就是我们实现五种语言选择的模块,若要详见完整程序的实现打包,请转到我队友的github上,附上链接:

github传送门之calculateversion1.2

后续

关于文件的读入与输出,我们的代码思想还是借鉴于赵畅学长的文章,在此声明.而我的自学方式则是在我队友的帮助下通过C++文件流处理相关知识的途径实现了基本的学习与了解。

谢谢观赏,菜鸡小豪的程序员之路还在继续当中......

原文地址:https://www.cnblogs.com/S031602219/p/6561433.html