面向对象程序设计-C++ Steam & Vector 【第三次上课笔记】
大家可以下载后用Vim 或者 Sublime Text等文本编辑器查看
Conference: http://blog.csdn.net/candy1232009/article/details/7032526
- //ofstream fout; //C style
- //fout.open("fout.txt");
- ofstream fout ("fout.txt"); //C++ out stream recommend
- ifstream fin ("fio.cpp");
- //fout.close() //Not necessary in C++, because C++ do it automatically
- //Copy the whole file
- int main(){
- ofstream fout ("SourceCodeCopy.cpp");
- ifstream fin ("SourceCode.cpp");
- string str;
- while(getline(fin, str)){ //Discards newline char
- fout << str << endl; //... must add it back
- }
- return 0;
- }
- //calculate the average number
- int main(){
- int i, num, cur;
- cin >> num;
- //double* array = (double*) malloc(num * sizeof(double)); //C style
- double* array = new double[num]; //C++ style
- double ave = 0.0;
- for(i = 0; i < num; ++i){
- cin >> array[i];
- ave += array[i];
- }
- cout << "Ave is the " << ave / num << endl;
- //free(array); //C style
- delete[] array; //[] means delete all the Array, if "delete array" means delete only the array[0]
- return 0;
- }
- //one double number array Example
- int main(){
- double* pd = new double;
- cin >> *pd;
- cout << *pd;
- delete pd;
- return 0;
- }
- //Introduce Vector
- int main(){
- vector <double> vc; //init a vector
- vc.push_back(27.8); //insert element to its tail
- vc.push_back(54.2);
- //vc[2] = 89.3 //Don't do in this way, no such spacez
- for(i = 0; i < vc.size(); ++i){
- cout << vc[i] << endl;
- }
- return 0;
- }
- //Answer is 0 0 89.3 27.8 54.2 (5 elements)
- int main(){
- int i;
- vector <double> vc(3); //init a space long for 3
- vc.push_back(27.8);
- vc.push_back(54.2);
- vc[2] = 89.3;//
- for(i = 0; i < vc.size(); ++i){
- cout << vc[i] << endl;
- }
- return 0;
- }
- //Copy an entire file into a vector of string
- int main(){
- vector <string> v;
- ofstream out ("SourceCodeCopy.cpp");
- ifstream in ("SourceCode.cpp");
- string line;
- while(getline(in, line)){
- v.push_back(line);
- }
- for(int i = 0; i < v.size(); ++i){
- out << 1 + i << ": " << v[i] << endl;
- }
- return 0;
- }
- //Class work
- //give a number N, and make n random numbers into a file
- int main(){
- srand((int)time(NULL));
- int i, n;
- vector <int> v;
- ofstream out ("rand_num.txt");
- cin >> n;
- while(n--){
- v.push_back(rand() % 65536);
- }
- for(i = 0; i < v.size(); ++i){
- out << v[i] << endl;
- }
- return 0;
- }
- //make n numbers in the range [0, 1)
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include <fstream>
- #include <string>
- #include <vector>
- #include <cmath>
- #include <algorithm>
- using namespace std;
- int main(){
- srand((int)time(NULL));
- int i, n;
- vector <double> v;
- ofstream out ("rand_num.txt");
- cin >> n;
- while(n--){
- v.push_back((double)rand() / (double)RAND_MAX);
- }
- for(i = 0; i < v.size(); ++i){
- out << v[i] << endl;
- }
- return 0;
- }
面向对象程序设计-C++ Steam & Vector 【第三次上课笔记】的更多相关文章
- {key}面向对象程序设计-C++ polymorphism 【第十三次上课笔记】
Peronal Link: http://segmentfault.com/a/1190000002464822 这节课讲了本门课程 面向对象程序设计中最为重要的一个部分 - 多态 /******** ...
- [.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类
[.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类 本节导读:本节主要介绍通过序列 ...
- [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用
[.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用 本节导读:讨论了表达式树的定义和解析之后,我们知道了表达式树就是并非可执行代码,而是将表达式对象化后的数据结构.是 ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
- «面向对象程序设计(java)»第三周学习总结 周强 201771010141
实验目的与要求 (1)进一步掌握Eclipse集成开发环境下java程序开发基本步骤: (2)熟悉PTA平台线上测试环境: (3)掌握Java语言构造基本程序语法知识(ch1-ch3): (4)利用已 ...
- c++面向对象程序设计 谭浩强 第三章答案
2: #include <iostream> using namespace std; class Date {public: Date(int,int,int); Date(int,in ...
- [.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(三) 利用多线程提高程序性能(下)
[.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(二) 利用多线程提高程序性能(下) 本节导读: 上节说了线程同步中使用线程锁和线程通知的方式来处理资源共享问题,这 ...
- 2017面向对象程序设计(Java)第三周学习总结
白驹过隙,日月如梭,一转眼,我们已经度过了第三周的学习时光,随着时间的一天天流逝,我么对知识的积累也逐渐增多.当然,我们还有许许多多需要改进的地方.下面,我将对第三周的助教工作进行总结,望老师及同学们 ...
- 达拉草201771010105《面向对象程序设计(java)》第三周学习总结
达拉草201771010105«面向对象程序设计(java)»第三周学习总结 第一部分:实验部分 1.实验目的与要求 (1)进一步掌握Eclipse集成开发环境下java程序开发基本步骤: (2)熟 ...
随机推荐
- Linux下nc命来实现文件传输
发送端:cat test.txt | nc -l -p 6666或者nc -l -p 6666 < test.txt 有些版本不要在 -p[监听6666端口,等待连接](设发送端IP为10.20 ...
- 帝国cms语句调用
帝国cms系统,灵动标签,有着非常强大的数据调用功能.这里为广大菜鸟站长普及一下. 我们来看这段代码. [e:loop={,,}] <li>·<a target="_bla ...
- 两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set("utf-8")两种方法)
升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题第一种:在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式 ...
- C#获取桌面壁纸图片的路径(Desktop Wallpaper)
原文 C#获取桌面壁纸图片的路径(Desktop Wallpaper) 利用 Windows 的 API 获取桌面壁纸的实际路径,使用的是 SystemParametersInfo 这个API,此AP ...
- 《UNIX环境高级编程》笔记--文件共享
1.文件共享 内核使用3种数据结构来表示打开的文件,他们的关系如下: 每个进程都有一张进程表项,记录进程打开的文件: fd标志:close_on_exec,若一个文件描述符在close_on_exec ...
- java面试复习 I
1 多线程 在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处: 避免点继承的局限,一个类可以继承多个接口. 适合于资源的共享 ...
- 字符串模式匹配KMP算法
一篇不错的博客:http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html KMP字符串模式匹配通俗点说就是一种在一个字符串中 ...
- 测试横竖屏切换时activity 的生命周期
对于这个面试题,相信大家都见过,网上给出的答案是: 1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2.设 ...
- DontDestroyOnLoad(Unity3D开发之五)
Unity中我们从A场景切换到B场景的时候,A场景全部对象都会销毁,但有时候我不须要销毁某些东西. 比方一个简单的游戏的背景音乐,我不须要多次反复创建,多个场景播放这一个即可了.这个时候就须要用到Do ...
- 【翻译】【中英对照】【企业库6】动手实验 Hands-On Lab 日志应用程序块索引页
Logging Application Block Hands-On Lab for Enterprise Library 企业库的日志应用程序块动手实验 This walkthrough shoul ...