项目 - 处理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
- 项目51-处理C++源代码的程序
- 项目 - 处理C++源代码的程序
- 项目 - 处理C++源代码的程序
- 项目 - 处理C++源代码的程序
- 第十五周项目4-1-处理C++源代码的程序
- 15周项目四处理C++源代码的程序
- 第十四周项目 处理C++源代码的程序
- 第十四周 项目四:处理C++源代码的程序
- 第十四周项目4(1)-处理C++源代码的程序
- 第十四周项目4(2)-处理C++源代码的程序
- 第十四周项目4(3)-处理C++源代码的程序
- 【项目4 - 处理C++源代码的程序】(2)
- 【项目4 - 处理C++源代码的程序】(3)
- 第14周项目4-处理C++源代码的程序
- 处理C++源代码的程序
- 处理C++源代码的程序
- 处理C++源代码的程序
- 处理C++源代码的程序
- Qt之QImageReader
- Spark定制班第26课:Spark Streaming的JobGenerator源码图解
- Java:按值传递还是按引用传递详细解说
- Android系统自带样式(@android:style/)
- mean开发之四:服务器的启动
- 项目 - 处理C++源代码的程序
- 项目-二进制文件浏览器
- 项目-OOP版电子词典
- NegNews测试类
- 接口添加默认方法以及静态方法
- HDU2033 人见人爱A+B
- 最大堆、最小堆C++实现
- Fragment总结(一)基本使用
- [Leetcode]1. Two Sum