
C++程序设计--原创+转载
文章平均质量分 70
smallgyy
这个作者很懒,什么都没留下…
展开
-
对一个字节表示的补码10000000表示-128的解释
用一个字节8位来表示机器数,用原码、反码、补码来表示,其中最高位为0时表示整数,最高位为1时表示负数。原码表示的范围为-127,。。。,-0,+0,。。。,+127,其中0的表示不唯一,分+0和-0两种。[-0]原码为10000000 [+0]原码为00000000 正数的反码和原码相同, 负数的反码为原码最高位不变其他位求反反码表示的范围为-127,。。原创 2012-10-09 15:09:30 · 6258 阅读 · 0 评论 -
浮点数的比较
http://blog.sina.com.cn/s/blog_53a8498d0101a6cd.html浮点数的精度和有效位影响比较的正确性,如:/*浮点数的比较*/#include using namespace std;int main(){ float f1 = 7.123456789; float f2 = 7.123456785;原创 2012-10-19 09:25:50 · 787 阅读 · 0 评论 -
C++数组引用【转载】
1 .在C++中可以定义数组的引用,用以解决C中无法解决的“数组降价”问题,我们先来看看什么是“数组降价”,先看如下代码: …void Test( char array[20] ){ cout }char array[20] = { 0 };cout Test( array );… 我们看到,对于转载 2012-11-07 19:26:40 · 684 阅读 · 0 评论 -
双重循环的应用实例--直角三角形相关
(1)上直角三角形问题描述:用双重循环实现以下图形的输出 M MM MMM MMMM MMMMM MMMMMM MMMMMMM MMMMMMMM MMMMMMMMM MMMMMMMMMM程序代码如下:/* * Copyright (c) 2012, 烟台大学计算机学院原创 2012-11-06 19:11:13 · 3125 阅读 · 0 评论 -
指针的使用-注意的问题
指针的使用比较灵活,但也比较容易出错。(1)在使用指针时,一定要注意指针与它所指变量的关联。如果只是定义一个指针,而没有给指针赋值(即,没有将指针所指变量进行关联),而直接给指针所指变量赋值时,即使在编译时不会出错,但在运行时必将发生运行时错误。例如: int a=10, *p; p=&a; *p=20; //ok如果缺少第2条语句,则会发生错误:int原创 2012-11-07 19:22:17 · 911 阅读 · 0 评论 -
关于数组的引用
1、数组做函数参数#include using namespace std;void input(int a[]);void output(int a[]);int main(){ int a[5]; input(a); output(a); return 0;}void input(int a[]){ int i; for(i原创 2012-11-07 19:25:49 · 740 阅读 · 0 评论 -
1.绘制正余弦曲线
1.绘制余弦曲线在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线*问题分析与算法设计如果在程序中使用数组,这个问题十分简单。但若规定不能使用数组,问题就变得不容易了。关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。为了获得本文要求的图形就必须在一行中一次输出原创 2012-11-27 21:53:11 · 1894 阅读 · 0 评论 -
迷宫程序(2)
#include #includeusing namespace std; struct PosType /* 迷宫坐标位置类型 */ { int x; /* 行值 */ int y; /* 列值 */ }; #define MAXLENGTH 25 /* 设迷宫的最大行列为25 */ typedef int MazeTyp转载 2012-11-21 18:04:48 · 571 阅读 · 0 评论 -
字符串类string使用的相关问题
include #include using namespace std;void main(){ string s="hello"; cout<<s<<endl<<"length of the string: "<<s.size()<<endl; string *p=&s; cout<<p<<" "<<*p<<endl; cou原创 2012-11-13 21:40:36 · 690 阅读 · 0 评论 -
vc编译器不允许将构造函数设为私有,应该为公有
#include using namespace std;class MyClass{private: MyClass(){a=0;} MyClass(int x){a=x;} int a;public: int get_a(){return a;}};int main(){ MyClass my; cout<<my.ge原创 2012-11-13 21:38:55 · 612 阅读 · 0 评论 -
VC++6.0工具创建文件、编译、链接、运行以及调试基础-顺序结构
熟悉开发环境,程序开发流程,基本调试1.实验目的和要求1.熟悉Visual C++ 6.0的集成开发环境;2.学习完整的C++程序开发过程,理解简单的C++程序结构;3.学习C++程序的建立、编译和调试执行的方法与步骤。2.实验说明开发环境,学习如何建立、编译、执行程序,理解简单的C++程序结构。对于复杂的程序,需要了解程序运行过程中代码的执行情况,学习如何设置断点、单原创 2012-11-07 18:37:34 · 4762 阅读 · 1 评论 -
函数调用三种方式:传值&传引用&传指针
相关概念c++三种传递参数方式传参数的值(称值传递,简称传值),传参数的地址(称地址传递,简称为传址),和引用传递(称为传引用),相应的函数传值调用,传址调用和传引用调用形参、实参 函数定义时参数表中的参数称为形式参数,简称形参;函数调用时参数表中的参数称为实际参数,简称实参。实参和形参之间的数据传递称为形实结合说转载 2012-12-01 19:32:21 · 3045 阅读 · 0 评论 -
c++常用函数所在头文件一览
c++常用函数所在头文件一览 函数 包含 类别 功能 _atold math.h 数学子程序 把字符串转换为浮点数_beginthread process.h 进程控制子程序 启动执行一个新线程_bios转载 2012-12-01 19:27:40 · 3367 阅读 · 0 评论 -
最常见的20种VC++编译错误信息集合
VC编程遇到的问题VC++错误:error LNK2001: unresolved external symbol __endthreadex刚在做MFC程序的时候,由于不是用MFC APPWizard生成的,所以在调试的时候就出现了标题和下面所示的错误了:error LNK2001: unresolved external symbol __endthreadexerror LN转载 2012-11-24 19:30:35 · 746 阅读 · 0 评论 -
迷宫程序(5)
#include#include #include #include#define increasesize 10 //栈的增长长度#define stackinitsize 100 //栈的基础长度#define maxi 10 //矩阵的长度#define maxj 10 //矩阵的宽度typedef struct { int *base;转载 2012-11-23 20:17:06 · 752 阅读 · 0 评论 -
迷宫程序(4)
#include "iostream"using namespace std;struct weizhi{ int hen; int shu;};struct jilu{ int countent; weizhi *array; jilu *next;};void main(){ jilu* head; bool flage1=tru转载 2012-11-23 20:13:52 · 555 阅读 · 0 评论 -
关于输入流状态函数cin.eof()的问题
问题:关于输入流状态函数cin.eof()的问题int main(){char gc;while(!cin.eof()) //直至按ctrl+z键退出!{ cin>>gc; cout}cout}《c++ primer》上说的是遇到文件结束符 cin.eof返回ture,可是我在vc++ 6.0上运行非得输入两个^z才返回ture 是什么原因~?解转载 2012-11-13 21:44:24 · 5568 阅读 · 0 评论 -
构造函数和析构函数调用顺序实例
在设计此类时,为了让大家从运行结果中很好的看出和理解构造函数和析构函数调用的顺序,定义了两个数据成员data和type,data用于给对象编号,type用于给出是全局变量或者哪个函数的局部或静态变量。在定义对象时,同时给出这两个参数来对对象进行初始化工作。代码设计如下: #include #include using namespace std;class Create原创 2012-11-13 21:37:09 · 748 阅读 · 0 评论 -
cin读取出错的解决方案
(1)include#includevoid main() { int choice; cout<<"choice:"; cin>>choice; while(!cin) { cerr<<"Invalid character"<<endl<<"Enter again-choice:"; cin.clear(); int chars_转载 2012-11-13 21:25:52 · 1275 阅读 · 0 评论 -
使用传递变量引用的方式完成两个数的交换
#include using namespace std;int main(){ void swap(int &a,int &b); int a=1,b=2; cout<<a<<" "<<b<<endl; swap(a,b); cout<<a<<" "<<b<<endl; return 0;}void swap(int &原创 2012-11-07 19:34:16 · 1220 阅读 · 0 评论 -
结构体变量中数组成员赋值问题
#include using namespace std;struct student{ char name[20]; int age;};int main( ){ student s; s.name="gyy"; //error return 0;}道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在原创 2012-11-07 19:27:30 · 7785 阅读 · 0 评论 -
static详解
#include using namespace std;class Student //定义Student类{public: Student(int n,int a,float s):num(n),age(a),score(s){ } //定义构造函数 void total( ); st转载 2012-12-01 19:51:43 · 880 阅读 · 0 评论 -
3绘制曲线y=x*x的图形与圆的图形叠加显示
方法1/*绘制y=x*x的图形与圆的图形叠加显示---方法1在屏幕上用"*"画一个空心的圆,用"+"画一个开口向上的曲线y=x*x实现函数y=x*x的图形与圆的图形叠加显示 *问题分析与算法设计(1)打印圆可利用图形的左右对称性。根据圆的方程:R*R=X*X+Y*Y X=sqrt(R*R-Y*Y)R=10 以X=30,Y=0为圆中心,以X=30为圆纵对称轴,以原创 2012-11-30 21:57:06 · 1724 阅读 · 0 评论 -
2绘制两种图形(绘制余弦曲线和直线,绘制余弦曲线和正弦曲线)
(1)绘制余弦曲线和直线 /*绘制余弦曲线和直线 在屏幕上显示0~360度的cos(x)曲线与直线f(x)=45*y+31的迭加图形。其中cos(x)图形用"*"表示,f(x)用"+"表示,在两个图形相交的点上则用f(x)图形的符号。*问题分析与算法设计本题可以在余弦曲线输出的基础上进行修改。图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的原创 2012-11-28 21:43:43 · 5551 阅读 · 0 评论 -
网络最强CASE工具 + 经典UML学习电子资下载汇总
网络最强CASE工具 + 经典UML学习电子资下载汇总,软件设计与开发人员必备http://club.topsage.com/forum.php?mod=viewthread&tid=149103&fromuid=4206828转载 2012-11-28 13:21:22 · 748 阅读 · 0 评论 -
vc编译后生成的文件类型
1, PCH文件预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码.为什么需要预编译头文件?一言以蔽之:提高编译速度.一般地,编译器以文件为单位编译,如果修改了一工程中的一个文件则所有文件都要转载 2012-11-24 19:28:24 · 949 阅读 · 0 评论 -
vector.resize 与 vector.reserve的区别
reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。再者,两个函数的形式是有区别的,reserve函数之转载 2012-11-24 19:27:24 · 587 阅读 · 0 评论 -
逻辑推理题-用C++实现(3)--谜语博士的难题1
1.迷语博士的难题(1)*题目诚实族和说谎族是来自两个荒岛的不同民族,诚实族的人永远说真话,而说谎族的人永远说假话。迷语博士是个聪明的人,他要来判断所遇到的人是来自哪个民族的。迷语博士遇到三个人,知道他们可能是来自诚实族或说谎族的。为了调查这三个人是什么族的,博士分别问了他们的问题,这是他们的对话:问第一个人:"你们是什么族?",答:"我们之中有两个来自诚实族。" 如原创 2012-11-23 13:30:47 · 1934 阅读 · 0 评论 -
逻辑推理题-用C++实现(2)--黑与白
题目:有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,A说:"我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。" 如果A说真话则 B+C+D+E=3,如果A说假话 则B+C+D+E!=3B说:"我看见其它四人额头上帖的都是黑纸。" 如果B说真话则 A+C+D+E=0,如果B说假话 则A+C+D+原创 2012-11-23 13:16:59 · 1701 阅读 · 0 评论 -
迷宫程序(3)
#includeusing namespace std;class T //定义描述迷宫中当前位置的结构类型{public: int x; //x代表当前位置的行坐标 int y; //y代表当前位置的列坐标 int dir; //0:无效,1:东,2:南,3:西,4:北};class LinkNode //链表结点{ friend class Stac转载 2012-11-21 16:06:29 · 648 阅读 · 0 评论 -
逻辑推理题-用C++实现(1)--谁是窃贼
1、题目:谁是窃贼公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说:"乙没有偷,是丁偷的。"乙说:"我没有偷,是丙便的。"丙说:"甲没有偷,是乙偷的。"丁说:"我没有偷。"请根据这四人的答话判断谁是盗窃者。2.问题分析与算法设计假设A、B、C、D分别代表四个人,变量的值为1代表该原创 2012-11-20 09:08:09 · 8523 阅读 · 0 评论 -
循环的应用---(1)判断输入是否合法,不合法要求重新输入(2)某项功能的循环执行
(1)判断输入是否合法,不合法要求重新输入/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者:郭艳燕 * 专业班级:软件工程 * 完成日期:2012 年 11 月 9 日 * 版 本 号:v1.0 * 输入描述:原创 2012-11-12 11:16:30 · 7633 阅读 · 1 评论 -
关于数组做函数形参和指针做函数形参的问题
(1)#include void f(int b[]) //数组做函数形参{ cout}void main(){ int a[5]={1,2,3,4,5}; cout f(a);}程序运行结果输出的两个值(实参数组地址和形参数组地址)是一样的。说明当实参和形参都是数组类型时,实参数组和形参数组共用一块内存空间。(2)#inclu原创 2012-11-07 19:24:05 · 1114 阅读 · 0 评论 -
3绘制圆
/*绘制圆在屏幕上用"*"画一个空心的圆 *问题分析与算法设计打印圆可利用图形的左右对称性。根据圆的方程:R*R=X*X+Y*Y X=sqrt(R*R-Y*Y)R=10 以X=30,Y=0为圆中心,以X=30为圆纵对称轴,以Y=0为圆横对称轴R*R=(X-30)*(X-30)+Y*Y 得到两个坐标 X=30-sqrt(R*R-Y*Y) X=30+sqrt(R*原创 2012-11-30 20:43:47 · 773 阅读 · 0 评论 -
VC工程产生文件后缀名解释
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。.BMP:位图资源文件。.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在projec转载 2012-11-24 19:29:22 · 800 阅读 · 0 评论 -
文件操作 tellg,tellp,seekp,seekg函数
c++ fstream中seekg()和seekp()的用法C++中seekp()和seekg()函数功能seekp:设置输出文件流的文件流指针位置seekg:设置输入文件流的文件流指针位置函数原型:ostream& seekp( streampos pos );ostream& seekp( streamoff off, ios::seek_dir dir );ist转载 2012-11-24 19:25:49 · 3969 阅读 · 0 评论 -
迷宫程序(6)
//迷宫游戏#ifndef MAZE_H_ #define MAZE_H_ #include #include #include using namespace std; class Maze { public: Maze(); // 构造函数 void solve(); // 迷宫求解函数 private转载 2012-11-23 20:25:42 · 766 阅读 · 0 评论 -
迷宫程序(1)
迷宫问题 1设计目的、要求 以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 基本要求: 首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下转载 2012-11-20 19:04:05 · 2246 阅读 · 1 评论 -
有关多重继承虚基类的问题
#include using namespace std;class A{public: int a;};class A1: public A{ };class A2: public A1{ };class B1: public A{ };class B2: public B1{ };clas原创 2012-11-13 21:48:17 · 745 阅读 · 0 评论 -
动态开辟空间new和delete的使用实例
#include void main(){ int *p1=new int; //动态开辟一个整型空间 cout<<"(1)输入一个整数:"; cin>>*p1; cout<<endl<<"输出此整数:"; cout<<*p1<<endl; delete p1; //动态释放此整型空间 int *p2=new int[2];原创 2012-11-07 19:29:44 · 1518 阅读 · 1 评论