vc++实验.docx

上传人:b****6 文档编号:7450127 上传时间:2023-05-11 格式:DOCX 页数:36 大小:25.19KB
下载 相关 举报
vc++实验.docx_第1页
第1页 / 共36页
vc++实验.docx_第2页
第2页 / 共36页
vc++实验.docx_第3页
第3页 / 共36页
vc++实验.docx_第4页
第4页 / 共36页
vc++实验.docx_第5页
第5页 / 共36页
vc++实验.docx_第6页
第6页 / 共36页
vc++实验.docx_第7页
第7页 / 共36页
vc++实验.docx_第8页
第8页 / 共36页
vc++实验.docx_第9页
第9页 / 共36页
vc++实验.docx_第10页
第10页 / 共36页
vc++实验.docx_第11页
第11页 / 共36页
vc++实验.docx_第12页
第12页 / 共36页
vc++实验.docx_第13页
第13页 / 共36页
vc++实验.docx_第14页
第14页 / 共36页
vc++实验.docx_第15页
第15页 / 共36页
vc++实验.docx_第16页
第16页 / 共36页
vc++实验.docx_第17页
第17页 / 共36页
vc++实验.docx_第18页
第18页 / 共36页
vc++实验.docx_第19页
第19页 / 共36页
vc++实验.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

vc++实验.docx

《vc++实验.docx》由会员分享,可在线阅读,更多相关《vc++实验.docx(36页珍藏版)》请在冰点文库上搜索。

vc++实验.docx

vc++实验

实验1.1

实验一vs2005编程环境基础知识实验

实验目的:

熟悉vs2005编程环境,认识和使用主要的功能面板,掌握在vs2005中创建项目,编写、运行C语言程序。

实验内容:

1、编写一个程序,能够从键盘上接收2个数字,计算这2个数字的积并输出。

2、计算S=1+(1+2)+(1+2+3)+…+(1+2+…+n),n由键盘输入。

3、利用结构变量存储5位学生的姓名和语文、英文成绩,然后分别计算这5位学生的平均成绩,按平均成绩排序输出。

4、在进行上述程序过程中,观察各个项目文件,观察vs2005界面组成。

//1.cpp:

主项目文件。

#include"stdafx.h"

#using

usingnamespaceSystem;

intmain(array

:

String^>^args)

{

String^x;

inta,b,c;

Console:

:

WriteLine("输入第一个数");

x=Console:

:

ReadLine();

a=Int32:

:

Parse(x);

Console:

:

WriteLine("输入第二个数");

x=Console:

:

ReadLine();

b=Int32:

:

Parse(x);

c=a*b;

Console:

:

WriteLine(c.ToString());

while

(1);

}

实验1.2

//2.cpp:

主项目文件。

#include"stdafx.h"

#using

usingnamespaceSystem;

intmain(array

:

String^>^args)

{

String^x;

intn,i,j,num=0,sum=0;

Console:

:

WriteLine("请输入数n");

x=Console:

:

ReadLine();

n=Int32:

:

Parse(x);

for(i=1;i<=n;i++)

{

for(j=1;j<=i;j++)

{

num=num+j;

}

sum=sum+num;

}

Console:

:

WriteLine(sum.ToString());

while

(1);

}

实验1.3

//3.cpp:

主项目文件。

#include"stdafx.h"

#using

usingnamespaceSystem;

refstructperson

{

String^name;

doubleChinese;

doubleEnglish;

doubleaverage;

};

intmain(array

:

String^>^args)

{

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:

:

WriteLine("输入姓名");

student1->name=Console:

:

ReadLine();

Console:

:

WriteLine("输入语文成绩");

ch=Console:

:

ReadLine();

student1->Chinese=double:

:

Parse(ch);

Console:

:

WriteLine("输入英语成绩");

eng=Console:

:

ReadLine();

student1->English=double:

:

Parse(eng);

student1->average=((student1->Chinese)+(student1->English))/2;

Console:

:

WriteLine("输入姓名");

student2->name=Console:

:

ReadLine();

Console:

:

WriteLine("输入语文成绩");

ch=Console:

:

ReadLine();

student2->Chinese=double:

:

Parse(ch);

Console:

:

WriteLine("输入英语成绩");

eng=Console:

:

ReadLine();

student2->English=double:

:

Parse(eng);

student2->average=((student2->Chinese)+(student2->English))/2;

Console:

:

WriteLine("输入姓名");

student3->name=Console:

:

ReadLine();

Console:

:

WriteLine("输入语文成绩");

ch=Console:

:

ReadLine();

student3->Chinese=double:

:

Parse(ch);

Console:

:

WriteLine("输入英语成绩");

eng=Console:

:

ReadLine();

student3->English=double:

:

Parse(eng);

student3->average=((student3->Chinese)+(student3->English))/2;

Console:

:

WriteLine("输入姓名");

student4->name=Console:

:

ReadLine();

Console:

:

WriteLine("输入语文成绩");

ch=Console:

:

ReadLine();

student4->Chinese=double:

:

Parse(ch);

Console:

:

WriteLine("输入英语成绩");

eng=Console:

:

ReadLine();

student4->English=double:

:

Parse(eng);

student4->average=((student4->Chinese)+(student4->English))/2;

Console:

:

WriteLine("输入姓名");

student5->name=Console:

:

ReadLine();

Console:

:

WriteLine("输入语文成绩");

ch=Console:

:

ReadLine();

student5->Chinese=double:

:

Parse(ch);

Console:

:

WriteLine("输入英语成绩");

eng=Console:

:

ReadLine();

student5->English=double:

:

Parse(eng);

student5->average=((student5->Chinese)+(student5->English))/2;

doublearry[]={student1->average,student2->average,student3->average,student4->average,student5->average};

inti,j;

intk;

doublex;

for(i=0;i<4;i++)

{

k=i;

for(j=i+1;j<5;j++)

{

if(arry[k]

k=j;

}

if(k!

=i)

{

x=arry[k];

arry[k]=arry[i];

arry[i]=x;

}

}

inta;

for(a=0;a<5;a++)

{

if(arry[a]==student1->average)

{

Console:

:

WriteLine((student1->name));

Console:

:

WriteLine((student1->average).ToString());

}

elseif(arry[a]==student2->average)

{

Console:

:

WriteLine((student2->name));

Console:

:

WriteLine((student2->average).ToString());

}

elseif(arry[a]==student3->average)

{

Console:

:

WriteLine((student3->name));

Console:

:

WriteLine((student3->average).ToString());

}

elseif(arry[a]==student4->average)

{

Console:

:

WriteLine((student4->name));

Console:

:

WriteLine((student4->average).ToString());

}

elseif(arry[a]==student5->average)

{

Console:

:

WriteLine((student5->name));

Console:

:

WriteLine((student5->average).ToString());

}

}

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个字符:

s->Substring(5,2);

(5)String和int类型的转换方法Convert:

:

ToInt32(String变量);int变量.ToString();

3、找出下面程序的错误

#include"stdafx.h"

usingnamespaceSystem;

classSample

{

private:

intm_nX;

public:

Sample(inta=0)

{

m_nX=a;

}

};

voidfun(constSample&p)

{

Console:

:

WriteLine(p.m_nX.ToString());

}

int_tmain()

{

Samples(10);

fun(s);

return0;

}

实验2.1

//9.cpp:

主项目文件。

#include"stdafx.h"

#using

#include

usingnamespaceSystem;

classCEllipse

{

public:

doublefun1(doublea,doubleb);

doublefun2(doublec,doubled);

doublearea(doubler1,doubler2);

};

doubleCEllipse:

:

fun1(doublea,doubleb)

{

return((b-a)/2);

}

doubleCEllipse:

:

fun2(doublec,doubled)

{

return((d-c)/2);

}

doubleCEllipse:

:

area(doubler1,doubler2)

{

return(3.14159*r1*r2);

}

intmain(array

:

String^>^args)

{

CEllipseA;

String^x;

String^y;

doublex11,y11;

doublex22,y22;

doubler11,r22;

doubles;

Console:

:

WriteLine(L"请输入左上角坐标");

x=Console:

:

ReadLine();

x11=Double:

:

Parse(x);

y=Console:

:

ReadLine();

y11=Double:

:

Parse(y);

Console:

:

WriteLine("您输入的坐标是:

x={0}y={1}",x11.ToString(),y11.ToString());

Console:

:

WriteLine(L"请输入右下角坐标");

x=Console:

:

ReadLine();

x22=Double:

:

Parse(x);

y=Console:

:

ReadLine();

y22=Double:

:

Parse(y);

Console:

:

WriteLine("您输入的坐标是:

x={0}y={1}",x22.ToString(),y22.ToString());

r11=A.fun1(x11,x22);

r22=A.fun2(y22,y11);

s=A.area(r11,r22);

Console:

:

WriteLine(s.ToString());

while

(1);

}

实验2.2

//shiyan2.2.cpp:

主项目文件。

#include"stdafx.h"

#using

usingnamespaceSystem;

refstructDate

{

intd;

inte;

intf;

};

classdate

{

public:

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;

inti,j;

i=date1->IndexOf("-",1);

j=date1->IndexOf("-",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;

date1=s;

String^year1;

String^month1;

String^day1;

inti,j;

i=date1->IndexOf("-",1);

j=date1->IndexOf("-",i+1);

year1=date1->Substring(0,4);

month1=date1->Substring(i+1,2);

day1=date1->Substring(j+1,2);

shuju->d=Int32:

:

Parse(year1);

shuju->e=Int32:

:

Parse(month1);

shuju->f=Int32:

:

Parse(day1);

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;

}

intmain(array

:

String^>^args)

{

Date^riqi;

riqi=gcnewDate;

Console:

:

WriteLine(L"输入日期,格式:

xxxx-xx-xx");

String^s;

s=Console:

:

ReadLine();

String^date1;

date1=s;

String^year1;

String^month1;

String^day1;

inti,j;

i=date1->IndexOf("-",1);

j=date1->IndexOf("-",i+1);

year1=date1->Substring(0,4);

month1=date1->Substring(i+1,2);

day1=date1->Substring(j+1,2);

intyear2,month2,day2;

year2=Int32:

:

Parse(year1);

month2=Int32:

:

Parse(month1);

day2=Int32:

:

Parse(day1);

dateA(year2,month2,day2);

//A.date(year2,month2,day2);

//A.date(s);

riqi=A.GetDate(s);

Console:

:

WriteLine("你输入的日期为:

{0}-{1}-{2}",riqi->d.ToString(),riqi->e.ToString(),riqi->f.ToString());

String^hahaha;

hahaha=A.GetDate(year2,month2,day2);

Console:

:

WriteLine("日期为:

{0}",hahaha);

while

(1);

}

实验2.3

//shiyan6.cpp:

主项目文件。

#include"stdafx.h"

usingnamespaceSystem;

classSample

{

//private:

//intm_nX;

public:

intm_nX;

Sample(inta)

{

m_nX=a;

}

};

voidfun(constSample&p)

{

Console:

:

WriteLine(p.m_nX.ToString());

while

(1);

}

intmain()

{

Samples(10);

fun(s);

return0;

}

实验3.1

实验三类的继承实验

实验目的:

掌握继承的概念,理解派生类与基类的关系

实验内容:

1、分析以下程序,理解继承过程中构造函数的执行次序

2、定义一个大学生类CStudent,私有数据成员包括“姓名”、“学号”与“校名”,并为它定义带参数的构造函数,以及名为ToString()的成员函数,功能是将全部信息组合为一个字符串。

令定义一个研究生类,增加私有数据成员“研究方向”、“导师”,同样定义名为ToString()的成员函数。

在主函数中定义派生类对象进行测试。

3、声明一个Shape(形状)基类,它有两个派生类:

Circle(圆)和Square(正方形)。

Shape类的数据成员包括图形基准点的坐标(对圆就是圆心,对正方形就是一个顶点),以及尺寸。

派生类实现周长和面积的计算。

进行测试输出。

//shiyansan1.cpp:

主项目文件。

#include"stdafx.h"

usingnamespaceSystem;

classA

{

public:

A()

{

Console:

:

WriteLine("Constructor1_A");

}

A(intm):

x(m)

{

Console:

:

Write("Constructor2_A");

Console:

:

WriteLine(x.ToString());

}

~A()

{

Console:

:

Write("Destructor_A");

Console:

:

WriteLine(x.ToString());

}

private:

intx;

};

classB:

publicA

{

public:

B()

{

Console:

:

Write("Constructor1_B");

Console:

:

WriteLine(y.ToString());

}

B(intm,intn,intl):

A(m),a(n),y(l)

{

Console:

:

Write("Constructor2_B");

Console:

:

WriteLine(y.ToString());

}

~B()

{

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2