c++综合运用
tobe_numberone
黑龙江科技大学在读本科生
展开
-
c/c++知识点---内存复制函数memcpy的使用
memcpy 也就是memory和copy的简写。memcpy实现的功能:从一个指针所指向的地址作为开始,复制一定大小的内容,给另一个指针所指向的地址。代码:#include #include using namespace std;int main(){ int *p = new int[5]; for (int i = 0; i < 5; i++) {原创 2017-10-06 17:44:33 · 3796 阅读 · 0 评论 -
c++知识点---文件的简单读写
c++进行文件读写,都是基于对象,即用一个对象去关联一个文件。然后对象里面有各种函数可以操作文件,最简单的就是open和close(打开文件和关闭文件)其中open函数有很多参数可以选择,即文件打开方式文件打开方式:ios::in 打开文件进行读操作,即读取文件中的数据ios::out 打开文件进行写操作,即输出数据到文件中ios::at原创 2017-10-04 17:09:21 · 340 阅读 · 0 评论 -
c++经典题----统计一个文件“is”单词的个数
main.cpp#include #include using namespace std;int main(){ fstream in;//文件读入流 in.open("k:\\file1.txt", ios::in | ios::_Nocreate);//以读入不创建模式打开,即如果不存在则打开失败 if (!in) { cout << "打开失败" << endl;原创 2017-10-04 17:41:26 · 5110 阅读 · 6 评论 -
c++重要知识点---模板、重载输入或输出运算符的运用
题目:设一个程序,利用重载输入运算和重载输出运算实现对一个2X3的矩阵输入输出,重载‘+’运算符实现两个矩阵相加。利用模板的知识,使矩阵可以是int类型、double类型等其他类型注意:在定义一个类模板的时候,如果使用到友元函数的时候,要给友元函数另外定义一个函数模板。原因:友元函数不属于类,它是类外函数。而类模板只对类里面的数据成员和成员函数起作用main.cpp#include原创 2017-10-04 19:11:24 · 974 阅读 · 1 评论 -
c++知识点---举例说明 转换构造函数 和 类型转换函数
转换构造函数:基本数据类型(或者对象) -----转换-----> 对象(或另一个对象)类型转换函数:对象 ----转换-----> 基本数据类型举例说明:以Complex复数这个类为例子class.hclass Complex{public: Complex(double x1, double y1);//普通构造函数 Complex(d原创 2017-10-06 15:17:13 · 449 阅读 · 0 评论 -
c++入门2---while循环的使用
参考书《c++ primer 》第五版。题目:p11页练习题1.9使用while循环将50到100的整数相加#include int main(){ int i = 50,sum = 0; while (i <= 100) { sum += i; i++; } std::cout << "1+2+……+99+100 = " << sum << std::en原创 2017-10-10 18:26:33 · 3308 阅读 · 0 评论 -
c++小项目---求用户输入任意数字中的最大值
题目:为了方便用户,让用户可以自由结束输入,并逐个提示用户输入的是第几个数字,不能用固定大小的数组来保存用户输入的数据。输入完输出最大值,并且可以按回车再次计算。可以参考运行结果看看main.cpp:#include using namespace std;#include "class.h"int main(){ max m1;//求最大值的对象 do { m1原创 2017-10-14 21:58:49 · 2069 阅读 · 0 评论 -
纯C++ STL 练习题 给定string,分割字符串,按字典顺序输出
#include <stdio.h>#include <iostream>#include <set>#include <string>#include <sstream>#include <algorithm>using namespace std;int main(){ string str = "HEL...原创 2018-05-16 22:44:51 · 861 阅读 · 0 评论 -
C++ STL练习题2 给定一个数字字符串,按5分隔出整型数据,从小到大输出
Sample Input0051231232050775 Sample Output0 77 12312320#include<set>#include<string>#include<iostream>#include <sstream>using namespace std;int main(){ string str1 = "...原创 2018-05-16 23:26:01 · 442 阅读 · 0 评论 -
c++经典题---巧用算法输出A组成的三角形
题目:编写一程序,在屏幕上显示一个由字母A组成的三角形,如图。算法:此三角形是左右对称的。最后一行(左边A--->中间A)就是行数。可以定义一个长为行数的字符串,循环输出每一行,先输出行左边,再输出行右边,其中要巧妙运用到结束字符'\0'的作用。main.cpp#include using namespace std;#include //输出宽度控制必备头原创 2017-10-04 10:34:44 · 4968 阅读 · 1 评论 -
c++知识点 --- 输出宽度及填充的使用
题目:编写一程序,分别计算1!到9!的值,使用setw()控制“ = ”左边的数值宽度。main.cpp#include using namespace std;#include //输出控制必备的头文件#include "class.h"int main(){ cout.fill('-');//不够宽度的用-填充 factorial f1; for (int原创 2017-10-04 10:04:14 · 6727 阅读 · 0 评论 -
c++知识点---类模板的使用
类模板是什么?首先,如果不用类模板去定义一类来保存一些数据类型,或者计算。而数据类型有很多,那不同的数据类型岂不是要定义多个类呢?显然这样十分麻烦。使用类模板,可以将类中的数据成员、成员函数的返回类型以及参数类型设置为未定的,当用类模板去创建一个对象的时候,对象里面的各种未定的数据类型此时就确定了。例子:建立一个用来实现求3个数和的类模板(将成员函数的定义在类的外部),原创 2017-10-02 11:40:51 · 707 阅读 · 0 评论 -
c++知识点----成员函数重载运算符
题目:编写一个程序,用成员函数重载运算符“+”和“-”将两个二维数组相加和减,要求第一个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入用到的文件maincpp.cpp#define M 2#include using namespace std;#include "class.h"int main(){ cout << "请输入4个数组成原创 2017-09-29 19:58:40 · 7418 阅读 · 0 评论 -
c++知识点----友元函数重载运算符
定义一个类complex,含private变量:double real与imag,并定义构造函数初始化这两个变量。用友元函数重载运算符“+”,使两个对象real相加,imag相加。输出相加后的对象的值加以验证使用到的文件main.cpp#include using namespace std;#include "class.h"int main(){ complex原创 2017-09-29 21:09:45 · 9447 阅读 · 2 评论 -
c++知识点----定义抽象基类(纯虚函数)
题目:写一个函数,定义抽象基类Container,由它派生出3个派生类:Sphere(球体)、Cylinder(圆柱体)、Cube(正方体)。用虚函数分别计算几种图形的表面积和体积用到的文件main.cpp#include using namespace std;#define PI 3.14159#include "class.h"int main()原创 2017-09-29 21:53:53 · 7070 阅读 · 0 评论 -
c++知识点----输出宽度填充以及运算符重载
题目:编写一个程序,其中设计一个时间类,用来保存时、分、秒等私有数据成员,通过重载运算符“+”实现两个时间相加。要求将小时限制>=0,分钟[0,59]区间,秒[0,59]区间,输出时、分、秒各保持两个宽度,并用0填充。用到的文件:main.cpp:#include using namespace std;#include //输出字符宽度setw()需原创 2017-09-30 19:47:49 · 1126 阅读 · 0 评论 -
c++项目--集合的并差交综合运算
题目:编写一个程序,用于进行集合的并、差和交的运算,例如输入整数集合{9,5 ,4,3, 6, 7 }和{ 2, 4 ,6 ,9 },计算出它们进行集合的并、差和交运算后的结果。使用软件:vs2013注意:vs2013会将Enter 和 ctrl+Z作为标准输入流结束,而vs2015不能将Enter作为标准输入流结束,可以将ctrl + Z作为结束,但是不能再进行输入,就算是重原创 2017-10-01 12:02:04 · 12092 阅读 · 6 评论 -
c++知识点---函数模板的使用
设计一个函数,可以计算三个类型相同数的最小数。例如(1,2,3)->1 、(2.1, 5.6, 9.8)->2.1 (‘b’,‘a’,‘y’)->'b函数模板,一种可以提高代码重用性的模板。其中关键是函数的返回类型、参数类型是可以是未定的。只有当传递实参的时候才会根据实参的数据类型来确定具体的函数返回类型、参数类型。怎么让编译器知道我们定义了模板:使用template原创 2017-10-01 21:17:31 · 347 阅读 · 0 评论 -
c++知识点---函数模板实现求数组的最大值
题目:编写一个函数模板,求数组中的最大元素,并写出调用此函数模板的完整程序,使的到函数调用时,数组的类型可以是整型也可以是双精度类型。知识点:利用函数模板来解决数组问题,使用数组的引用来传递参数不太友好。数组引用必须指明数组的元素个数,比如int (&arr)[5]。表示含有5个元素的数组引用,这里的5是不能被省略的。这样极大的限制了自定义函数模板处理数组的范围。所以,在函数模板中原创 2017-10-02 09:45:41 · 15007 阅读 · 0 评论 -
如何用好vs2015的调试器 ---- 新手必看
首先调试的作用是什么?按照我们的编程思路,我们设想程序的每个步骤是按照自己的思路去运行的,然后在某些代码段利用调试功能去验证是否代码按照了我们的思路去执行。如果发现和自己想法有出入的地方,就得去仔细思代码是否有逻辑错误并改正。我并不是什么大神,自己也是一个初学者,只是将自己的心得分享一下,有些人可能觉得很简单,这还用说。额。。。我不管,我不管。要利用调试的代码:-----代原创 2017-10-02 10:35:29 · 15466 阅读 · 5 评论 -
C++ STL 练习题3 vector迭代器的使用入门
题目:读一组整数到vector对象,计算并输出每对相邻元素的和.如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值.然后修改程序:头尾元素两两配对(每一个和最后一个,第二个和倒数第二个,以此类推),计算每对元素的和,并输出.input: 1 2 3 4 5 6 7 8 9output: 9 9 9 9 #include <iostream>#include <v...原创 2018-05-17 14:02:07 · 785 阅读 · 0 评论