我有些C++程序设计的题不会做,请大仙帮我指点,我将不胜感激,跪谢!!
49.下面程序的运行结果如下:Thisisline1Thisisline2Thisisline3将下列程序补充完整,答案写在答题纸上。源程序如下:#include<ios...
49.下面程序的运行结果如下:
This is line1
This is line2
This is line3
将下列程序补充完整,答案写在答题纸上。源程序如下:
#include <iostream>
#include______
using namespace std;
void main( )
{
fstream fin,fout;
fout.open("my.txt",ios::out);
if(! fout.is_open( ))
return;
for(int i=0;i<3;i=i+1)
fout<<"This is line"<<i+1<<endl;
fout.close( );
fin.open("my.txt",ios::in);
if(! fin.is_open( ))
return;
char str[100];
while(______)
{
fin.getline(str,100);
cout<<str<<endl;
}
fin.close( );
}
50.求两个浮点数之差的cha函数的原型声明、调用方法。
#include <iostream>
using namespace std;
void main( )
{
float a,b;
______;∥函数cha的原型声明
a=12.5;
b=6.5;
float c=__________;∥调用函数cha
cout<<c<<endl;
}
float cha(float x,float y)
{
float w;
w=x-y;
return w;
}
五、程序分析题(本大题共2小题,每小题5分,共1O分)
51.#lnclude<iostream.h>
void func( );
void main( )
{
for(inti=0;i<6;i++)
{
func( );
}
}
void func( )
{
int x=0;
x ++;
static int y=0;
y ++;
cout<<"x="<<x<<";y="<<y<<endl;
}
52.#include <lostream.h>
class A
{
public:
A( );
void Show( );
~A( );
private:
static int c;
};
int A::c=O;
A::A( )
{
cout<<"constructor."<<endl;
c +=10;
}
void A::Show( )
{
cout<<"c="<<c<<endl;
}
A::~A( )
{
cout<<"destrucator."<<endl:
}
void main( )
{
A a,b;
a.Show( );
b.Show( );
}
六、程序设计题(本大题共1小题,共10分)
53.在三角形类tri实现两个函数,功能是输入三个顶点坐标判断是否构成等边三角形
#include<iostream.h>
#include<math.h>
class point { point
private:float x,y;
public:f(float a,float b){x=a;y=b;}
f( ){x=0;y=0;}
Void set(float a,float b){x=a;y=b;}
float getx( ){return x;}
noat gety( ){return y;}
};
class tri{
point x,y,z;
float s1,s2,s3;
public....settri(....);∥用于输入三个顶点坐标
....test(....);∥用于判断是否构成等边三角形
};
请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型) 相关推荐: 展开
This is line1
This is line2
This is line3
将下列程序补充完整,答案写在答题纸上。源程序如下:
#include <iostream>
#include______
using namespace std;
void main( )
{
fstream fin,fout;
fout.open("my.txt",ios::out);
if(! fout.is_open( ))
return;
for(int i=0;i<3;i=i+1)
fout<<"This is line"<<i+1<<endl;
fout.close( );
fin.open("my.txt",ios::in);
if(! fin.is_open( ))
return;
char str[100];
while(______)
{
fin.getline(str,100);
cout<<str<<endl;
}
fin.close( );
}
50.求两个浮点数之差的cha函数的原型声明、调用方法。
#include <iostream>
using namespace std;
void main( )
{
float a,b;
______;∥函数cha的原型声明
a=12.5;
b=6.5;
float c=__________;∥调用函数cha
cout<<c<<endl;
}
float cha(float x,float y)
{
float w;
w=x-y;
return w;
}
五、程序分析题(本大题共2小题,每小题5分,共1O分)
51.#lnclude<iostream.h>
void func( );
void main( )
{
for(inti=0;i<6;i++)
{
func( );
}
}
void func( )
{
int x=0;
x ++;
static int y=0;
y ++;
cout<<"x="<<x<<";y="<<y<<endl;
}
52.#include <lostream.h>
class A
{
public:
A( );
void Show( );
~A( );
private:
static int c;
};
int A::c=O;
A::A( )
{
cout<<"constructor."<<endl;
c +=10;
}
void A::Show( )
{
cout<<"c="<<c<<endl;
}
A::~A( )
{
cout<<"destrucator."<<endl:
}
void main( )
{
A a,b;
a.Show( );
b.Show( );
}
六、程序设计题(本大题共1小题,共10分)
53.在三角形类tri实现两个函数,功能是输入三个顶点坐标判断是否构成等边三角形
#include<iostream.h>
#include<math.h>
class point { point
private:float x,y;
public:f(float a,float b){x=a;y=b;}
f( ){x=0;y=0;}
Void set(float a,float b){x=a;y=b;}
float getx( ){return x;}
noat gety( ){return y;}
};
class tri{
point x,y,z;
float s1,s2,s3;
public....settri(....);∥用于输入三个顶点坐标
....test(....);∥用于判断是否构成等边三角形
};
请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型) 相关推荐: 展开
1个回答
展开全部
原文中有许多中文的标点符号,如“。,;”编译时会有问题。另外有错误的文字,我们按应该的正确文字理解。
49:
<fstream> 文件操作的库函数
!fin.eof() 输入文件流没有到达末尾
50:
float cha(float,float);
cha(a,b)
51:静态变量问题,x不是静态变量,每次调用func()是,都要重新分配内存空间,设置初值,因此x的输出值总是1;y是静态变量,只在第一次调用时分配内存空间,设置初值,以后,这个变量的存储空间不会释放,下次调用,还是同一个内存单元,而且不会重新设置初值,因此,每调用一次func,y的值会增加1,因此y的输出是1,2,3,4,5,6
i 输出
0 x=1;y=1
1 x=1;y=2
2 x=1;y=3
3 x=1;y=4
4 x=1;y=5
5 x=1;y=6
52:类中的静态变量问题。类中的静态变量只有一个,不论有几个实例,静态变量是所有实例公用的。因此,在构造A的两个实例a,b时,其构造函数总是会运行一次,给c增加10,构造两个实例,c的值就增加了两次,因此c的值是20.程序的输出是(后面是我的注释):
constructor. 构造a
constructor. 构造b
c=20 a.show()
c=20 b.show()
destrucator. 析构a
destrucator. 析构b
53:
public....settri(....);∥用于输入三个顶点坐标
void tri::settri(float x1,float y1,float x2,float y2,float x3,floaty3)
{x.set(x1,y1);y.set(x2,y2);z.set(x3,y3);}
....test(....);∥用于判断是否构成等边三角形
int tri::test()
{
float e=0.00001;//判断相等的精度,浮点数一般不会精确相等。
s1=sqrt(pow(x.getx()-y.getx(),2)+pow(x.gety()-y.gety(),2));
s2=sqrt(pow(y.getx()-z.getx(),2)+pow(y.gety()-z.gety(),2));
s3=sqrt(pow(z.getx()-x.getx(),2)+pow(z.gety()-x.gety(),2));
if ((abs(s1-s2)<=e) && (abs(s2-s3)<=e) && (abs(s3-s1)<=e)) return 1;
else return 0;
}
49:
<fstream> 文件操作的库函数
!fin.eof() 输入文件流没有到达末尾
50:
float cha(float,float);
cha(a,b)
51:静态变量问题,x不是静态变量,每次调用func()是,都要重新分配内存空间,设置初值,因此x的输出值总是1;y是静态变量,只在第一次调用时分配内存空间,设置初值,以后,这个变量的存储空间不会释放,下次调用,还是同一个内存单元,而且不会重新设置初值,因此,每调用一次func,y的值会增加1,因此y的输出是1,2,3,4,5,6
i 输出
0 x=1;y=1
1 x=1;y=2
2 x=1;y=3
3 x=1;y=4
4 x=1;y=5
5 x=1;y=6
52:类中的静态变量问题。类中的静态变量只有一个,不论有几个实例,静态变量是所有实例公用的。因此,在构造A的两个实例a,b时,其构造函数总是会运行一次,给c增加10,构造两个实例,c的值就增加了两次,因此c的值是20.程序的输出是(后面是我的注释):
constructor. 构造a
constructor. 构造b
c=20 a.show()
c=20 b.show()
destrucator. 析构a
destrucator. 析构b
53:
public....settri(....);∥用于输入三个顶点坐标
void tri::settri(float x1,float y1,float x2,float y2,float x3,floaty3)
{x.set(x1,y1);y.set(x2,y2);z.set(x3,y3);}
....test(....);∥用于判断是否构成等边三角形
int tri::test()
{
float e=0.00001;//判断相等的精度,浮点数一般不会精确相等。
s1=sqrt(pow(x.getx()-y.getx(),2)+pow(x.gety()-y.gety(),2));
s2=sqrt(pow(y.getx()-z.getx(),2)+pow(y.gety()-z.gety(),2));
s3=sqrt(pow(z.getx()-x.getx(),2)+pow(z.gety()-x.gety(),2));
if ((abs(s1-s2)<=e) && (abs(s2-s3)<=e) && (abs(s3-s1)<=e)) return 1;
else return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询