vc++实验Word下载.docx
《vc++实验Word下载.docx》由会员分享,可在线阅读,更多相关《vc++实验Word下载.docx(36页珍藏版)》请在冰豆网上搜索。
WriteLine(c.ToString());
while
(1);
}
实验1.2
//2.cpp:
intn,i,j,num=0,sum=0;
请输入数n"
n=Int32:
for(i=1;
i<
=n;
i++)
{
for(j=1;
j<
=i;
j++)
{
num=num+j;
}
sum=sum+num;
}
WriteLine(sum.ToString());
实验1.3
//3.cpp:
refstructperson
String^name;
doubleChinese;
doubleEnglish;
doubleaverage;
};
person^student1;
person^student2;
person^student3;
person^student4;
person^student5;
student1=gcnewperson;
student2=gcnewperson;
student3=gcnewperson;
student4=gcnewperson;
student5=gcnewperson;
String^eng;
String^ch;
//Srting^huanhang="
/n"
;
Console:
输入姓名"
student1->
name=Console:
输入语文成绩"
ch=Console:
Chinese=double:
Parse(ch);
输入英语成绩"
eng=Console:
English=double:
Parse(eng);
average=((student1->
Chinese)+(student1->
English))/2;
student2->
average=((student2->
Chinese)+(student2->
student3->
average=((student3->
Chinese)+(student3->
student4->
average=((student4->
Chinese)+(student4->
student5->
average=((student5->
Chinese)+(student5->
doublearry[]={student1->
average,student2->
average,student3->
average,student4->
average,student5->
average};
inti,j;
intk;
doublex;
for(i=0;
4;
k=i;
for(j=i+1;
5;
{
if(arry[k]<
arry[j])
k=j;
}
if(k!
=i)
x=arry[k];
arry[k]=arry[i];
arry[i]=x;
inta;
for(a=0;
a<
a++)
if(arry[a]==student1->
average)
{
Console:
WriteLine((student1->
name));
average).ToString());
}
elseif(arry[a]==student2->
WriteLine((student2->
elseif(arry[a]==student3->
WriteLine((student3->
elseif(arry[a]==student4->
WriteLine((student4->
elseif(arry[a]==student5->
WriteLine((student5->
while
(1);
实验二类的定义及使用
掌握类及对象的语法规则,练习类成员变量、成员函数、构造函数的使用方法。
1、设计名为CEllipse的椭圆类。
其属性为外接矩形的左上角与右下角两个点的坐标,并能计算出椭圆的面积,并测试该类。
2、设计一个日期类,包含year、month、day数据成员。
包含2个构造函数,一是能够传3个整数给3个数据成员;
二是传一个日期格式的字符串(xxxx-xx-xx),函数分解字符串赋值给数据成员。
包含2个获取日期的重载函数GetDate(),一是返回3个整数,二是返回一个日期格式的字符串。
提示:
本题中会用到字符串运算,有关的内容如下:
(1)系统字符串类为String
(2)定义字符串对象String^s;
(3)在字符串对象中查找的函数IndexOf(查找的字符,查找开始位置),例
s->
IndexOf("
-"
,4);
表示在s中查找字符"
,从s中第4个字符开始查找。
(4)从字符串中截取一部分子串的函数s->
Substring(开始位置,子串长度),例如从s中的第6个字符开始,取出2个字符:
Substring(5,2);
(5)String和int类型的转换方法Convert:
ToInt32(String变量);
int变量.ToString();
3、找出下面程序的错误
classSample
private:
intm_nX;
public:
Sample(inta=0)
m_nX=a;
voidfun(constSample&
p)
WriteLine(p.m_nX.ToString());
int_tmain()
Samples(10);
fun(s);
return0;
实验2.1
//9.cpp:
#include<
tchar.h>
classCEllipse
public:
doublefun1(doublea,doubleb);
doublefun2(doublec,doubled);
doublearea(doubler1,doubler2);
doubleCEllipse:
fun1(doublea,doubleb)
return((b-a)/2);
fun2(doublec,doubled)
return((d-c)/2);
area(doubler1,doubler2)
return(3.14159*r1*r2);
CEllipseA;
String^y;
doublex11,y11;
doublex22,y22;
doubler11,r22;
doubles;
WriteLine(L"
请输入左上角坐标"
x11=Double:
y=Console:
y11=Double:
Parse(y);
您输入的坐标是:
x={0}y={1}"
x11.ToString(),y11.ToString());
请输入右下角坐标"
x22=Double:
y22=Double:
x22.ToString(),y22.ToString());
r11=A.fun1(x11,x22);
r22=A.fun2(y22,y11);
s=A.area(r11,r22);
WriteLine(s.ToString());
实验2.2
//shiyan2.2.cpp:
#using<
refstructDate
intd;
inte;
intf;
classdate
intyear;
intmonth;
intday;
date(inta,intb,intc)
year=a;
month=b;
day=c;
date(String^s)
String^date1;
date1=s;
String^year1;
String^month1;
String^day1;
i=date1->
1);
j=date1->
i+1);
year1=date1->
Substring(0,4);
month1=date1->
Substring(i+1,2);
day1=date1->
Substring(j+1,2);
year=Int32:
Parse(year1);
month=Int32:
Parse(month1);
day=Int32:
Parse(day1);
Date^GetDate(String^s);
String^GetDate(inth,intk,intl);
Date^date:
GetDate(String^s)
Date^shuju;
shuju=gcnewDate;
String^date1;
shuju->
d=Int32:
e=Int32:
f=Int32:
returnshuju;
String^date:
GetDate(inth,intk,intl)
String^he;
String^ha;
String^hei;
he=h.ToString();
ha=k.ToString();
hei=l.ToString();
String^date11;
date11=he+"
+ha+"
+hei;
returndate11;
Date^riqi;
riqi=gcnewDate;
输入日期,格式:
xxxx-xx-xx"
String^s;
s=Console:
intyear2,month2,day2;
year2=Int32:
month2=Int32:
day2=Int32:
dateA(year2,month2,day2);
//A.date(year2,month2,day2);
//A.date(s);
riqi=A.GetDate(s);
你输入的日期为:
{0}-{1}-{2}"
riqi->
d.ToString(),riqi->
e.ToString(),riqi->
f.ToString());
String^hahaha;
hahaha=A.GetDate(year2,month2,day2);
日期为:
{0}"
hahaha);
实验2.3
//shiyan6.cpp:
//private:
//intm_nX;
intm_nX;
Sample(inta)
m_nX=a;
voidfun(constSample&
p)
intmain()
Samples(10);
fun(s);
实验3.1
实验三类的继承实验
掌握继承的概念,理解派生类与基类的关系
1、分析以下程序,理解继承过程中构造函数的执行次序
2、定义一个大学生类CStudent,私有数据成员包括“姓名”、“学号”与“校名”,并为它定义带参数的构造函数,以及名为ToString()的成员函数,功能是将全部信息组合为一个字符串。
令定义一个研究生类,增加私有数据成员“研究方向”、“导师”,同样定义名为ToString()的成员函数。
在主函数中定义派生类对象进行测试。
3、声明一个Shape(形状)基类,它有两个派生类:
Circle(圆)和Square(正方形)。
Shape类的数据成员包括图形基准点的坐标(对圆就是圆心,对正方形就是一个顶点),以及尺寸。
派生类实现周长和面积的计算。
进行测试输出。
//shiyansan1.cpp:
classA
A()
Constructor1_A"
A(intm):
x(m)
Write("
Constructor2_A"
WriteLine(x.ToString());
~A()
Destructor_A"
intx;
classB:
publicA
B()
Constructor1_B"
WriteLine(y.ToString());
B(intm,intn,intl):
A(m),a(n),y(l)
Constructor2_B"
~B()