《VC++程序设计》课程实践.docx
- 文档编号:30387053
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:13
- 大小:17.73KB
《VC++程序设计》课程实践.docx
《《VC++程序设计》课程实践.docx》由会员分享,可在线阅读,更多相关《《VC++程序设计》课程实践.docx(13页珍藏版)》请在冰豆网上搜索。
《VC++程序设计》课程实践
江苏科技大学
课程实践报告
设计题目:
程序设计(VC++)实践
设计时间2012-2-20至2012-3-18
学院(系):
机械工程学院
专业班级:
机械设计制造及其自动化
学生姓名:
周权学号1040202330
指导老师:
张晓如
2012年3月18
1.试建立一个类PP,求出下列多项式的前n项的值。
具体要求如下:
(1)私有数据成员
intn:
前若干项的项数。
doublex:
存放x的值。
double*p:
根据n的大小动态申请存放Pn(x)前n项的数组空间。
(2)公有成员函数
PP(intnum,doublex1):
构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。
~PP():
析构函数,释放p指向的动态内存空间。
doublefun(intn1,doublex):
递归函数,用于求多项式的第n1项。
注意:
将递归公式中的n用作函数参数。
本函数供process函数调用。
voidprocess():
完成求前n项的工作,并将它们存放到p指向的动态数组中。
voidshow():
输出n和x,并将前n项以每行4个数的形式输出到屏幕上。
(3)在主函数中完成对该类的测试。
先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num项的值。
程序内容如下:
#include
classPP
{
private:
intn;
doublex;
double*p;
public:
PP(intnum,doublex1);
~PP();
doublefun(intn1,doublex);
voidprocess();
voidshow();
};
PP:
:
PP(intnum,doublex1)
{
n=num;
x=x1;
p=newdouble[n+1];
}
PP:
:
~PP()
{delete[]p;}
doublePP:
:
fun(intn1,doublex)
{
p[n1]=((2*n1-1)*x*p[n1-1]-(n1-1)*p[n1-2])/n1;
returnp[n1];
}
voidPP:
:
process()
{
p[0]=1;
p[1]=x;
intk=n;
for(k=2;k<=n;k++)
{
fun(k,x);
}
}
voidPP:
:
show()
{
cout< for(intk=0;k<=n;k++) { cout< if((k+1)%4==0)cout< } } voidmain(void) { intnum,x1; cout<<"n="; cin>>num; cout<<'\n'<<"x="; cin>>x1; PPitems(num,x1); items.process(); items.show(); } 编译执行结果为: 0. n=12 x=8 128 1895.51268 17680.42535833.70448e+0065.48207e+007 8.19069e+0081.23283e+0101.86653e+0112.8395e+012 4.33678e+013Pressanykeytocontinue 13.建立一个类MOVE,对数组中元素进行循环换位,即每个元素后移三位,最后三个元素移到最前面。 具体要求如下: (1)私有数据成员 intarray[20]: 一维整型数组。 intn: 数组中元素的个数。 (2)公有成员函数 MOVE(intb[],intm): 构造函数,初始化成员数据。 voidchange(): 进行循环换位。 voidprint(): 输出一维数组。 (3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。 程序内容如下: #include classMOVE{ intarray[20]; intn; public: MOVE(intb[],intm) { for(inti=0;i<20;i++) array[i]=b[i]; n=m; } voidchange() { intb[10]; for(inti=0;i b[i+3]=array[i]; for(;i b[i+3-n]=array[i]; for(intk=0;k array[k]=b[k]; } voidprint() { for(inti=0;i cout< cout< } }; voidmain() { intb[]={21,65,43,87,12,84,44,97,32,55}; MOVEmove(b,10); move.change(); move.print(); } 执行结果: 97325521654387128444 Pressanykeytocontinue 20.定义一个方阵类Array,实现对方阵进行逆时针90度旋转。 如图所示。 1234481216 5678371115 9101112261014 1314151615913 具体要求如下: (1)私有数据成员 inta[4][4]: 用于存放方阵。 (2)公有成员函数 Array(inta1[][4],intn): 构造函数,用给定的参数a1初始化数据成员a。 voidxuanzhuan(): 实现对方阵a进行逆时针90度的旋转。 voidshow(): 在屏幕上显示数组元素。 (3)在主程序中定义数组intb[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}作为原始数组。 定义一个Array类对象test,用b初始化test,完成对该类的测试。 程序内容如下: #include classArray{ inta[4][4]; public: inti,j,k,l; Array(inta1[][4],intn) {for(i=0;i<4;i++) for(j=0;j<4;j++) a[i][j]=a1[i][j]; n=4;} voidxuanzhuan(){ intb[4][4]; for(i=0;i<4;i++) for(j=0;j<4;j++) b[4-1-j][i]=a[i][j]; for(k=0;k<4;k++) for(l=0;l<4;l++) a[k][l]=b[k][l];} voidshow() {for(i=0;i<4;i++) {for(j=0;j<4;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC+程序设计 VC 程序设计 课程 实践