第四次寒假作业——实现五种语言的选择
第四次寒假作业(一)
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上,附上链接:
后续
关于文件的读入与输出,我们的代码思想还是借鉴于赵畅学长的文章,在此声明.而我的自学方式则是在我队友的帮助下通过C++文件流处理相关知识的途径实现了基本的学习与了解。
谢谢观赏,菜鸡小豪的程序员之路还在继续当中......