项目 - 处理C++源代码的程序

来源:互联网 发布:php面向对象 实战项目 编辑:程序博客网 时间:2024/05/18 04:01


问题及代码:

/**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:main.cpp*作    者:李磊涛*完成时间:2016年6月23日*版 本 号:v1.0**问题描述:项目 - 处理C++源代码的程序。*输入描述:无。*程序输出:显示程序。*/#include <fstream>  #include<iostream>  //#include<string>  #include<cstdlib>  using namespace std;  void outprogram(char *filename);  int main( )  {      char ch1,ch2;      //将文件中的数据读入到字符数组中      ifstream sourceFile("source.cpp",ios::in);  //以输入的方式打开文件      if(!sourceFile)       //测试是否成功打开      {          cerr<<"source code read error!"<<endl;          exit(1);      }      ofstream outFile("newsource.cpp",ios::out);  //以输出的方式打开文件      if(!outFile)       //测试是否成功打开      {          cerr<<"new source code write error!"<<endl;          exit(1);      }        ch1='\0';      while(!sourceFile.eof())      {          sourceFile.get(ch2);          //读到了花括号,且前一个符号不是换行,应该加入一个换行          if((ch2=='{'||ch2=='}')&&(ch1!='\n'))              outFile.put('\n');          else              //当前读到的不是换行,但前一个是花括号,此时也该加              if((ch1=='{'||ch1=='}')&&(ch2!='\n'))                  outFile.put('\n');          outFile.put(ch2); //输出当前读入的符号          ch1=ch2;      }      outFile.close();      sourceFile.close();      cout<<"经过处理后的源程序是:"<<endl;      outprogram("newsource.cpp");      return 0;  }    void outprogram(char *filename)  {      char line[256];      int n = 1;      ifstream inFile(filename, ios::in);  //以输入的方式打开文件      if(!inFile)       //测试是否成功打开      {          cerr<<"file open error!"<<endl;          exit(1);      }      while (!inFile.eof())      {          inFile.getline(line,255,'\n');          cout<<n<<'\t'<<line<<endl;          n++;      }      inFile.close();      return;  }  


运行结果:


知识点总结:
通过该程序,强化了我对简单程序结构的认识。
学习心得:
期间有很多小错误,要继续写程序争取早日掌握C++。

问题及代码:

运行结果:


知识点总结:
通过该程序,强化了我对简单程序结构的认识。
学习心得:
期间有很多小错误,要继续写程序争取早日掌握C++。
0 0
原创粉丝点击