09考试批次《面向对象程序设计》结课作业讲课讲稿Word格式.docx
- 文档编号:19132113
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:16
- 大小:24.89KB
09考试批次《面向对象程序设计》结课作业讲课讲稿Word格式.docx
《09考试批次《面向对象程序设计》结课作业讲课讲稿Word格式.docx》由会员分享,可在线阅读,更多相关《09考试批次《面向对象程序设计》结课作业讲课讲稿Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
通过递归调用函数S1求得1^2+2^2+3^2+….+n^2的值
3、voidfun5(char*a,constchar*b)
while(*b)*a++=*b++;
*a=0;
实现字符串系统函数strcpy的功能把b所指的字符串拷贝到a所指的字符数组空间中
4、voidfun3(inta[][N],intm,intn,int&
row,int&
col)
intx=a[0][0];
row=col=0;
for(inti=0;
m;
i++)
for(intj=0;
j<
n;
j++)
if(a[i][j]>
x){
x=a[i][j];
row=i;
col=j;
}
找出数组中最大数所在的行和列
5、char*f8(char*str1,constchar*str2)
inti=0,j=0;
while(str1[i])i++;
while(str2[j])str1[i++]=str2[j++];
str1[i]='
\0'
;
returnstr1;
把str2链接到str1后面。
二、【编写程序实现算法】
(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,根据题目要求编写算法实现,要求程序没有语法错误)
1、按照函数原型语句“voidp(intn);
”编写一个递归函数显示出如下图形,此图形是n=5的情况。
55555
4444
333
22
1
voidp(intn){
if(n!
=0){
for(inti=0;
i<
i++)cout<
cout<
p(n-1);
}
2、按照函数原型语句“voidp(intn);
voidp(intn)
{
if(n==1)
printf("
1\n"
);
return;
else
for(inti=1;
=n;
i++)
%d"
n);
\n"
voidmain()
p(5);
3、按照下面函数原型语句编写一个递归函数计算出数组a中n个元素的平方和并返回。
intf(inta[],intn);
intf(inta[],intn)
{if(n<
=0)return0;
elsereturn(f(a,n‐1)+a[n‐1]*a[n‐1]);
4、根据下面类中MaxMin函数成员的原型和注释写出它的类外定义。
classAA{
int*a;
intn;
intMS;
public:
voidInitAA(intaa[],intnn,intms){
if(nn>
ms){cout<
Error!
exit
(1);
MS=ms;
n=nn;
a=newint[MS];
i++)a[i]=aa[i];
intMaxMin(int&
x,int&
y);
//从数组a的前n个元素中求出
//最大值和最小值,并分别由引用参数x和y带回,
//同时若n大于0则返回1,否则返回0。
};
intAA:
:
MaxMin(int&
x,int&
y){
intmx,my;
mx=my=a[0];
for(inti=1;
i++){
if(a[i]>
mx)mx=a[i];
if(a[i]<
my)my=a[i];
x=mx;
y=my;
if(n>
0)return1;
elsereturn0;
5、如果A和B都是m行n列矩阵,且它们对应元素相等,则A==B。
试定义矩阵类,
对“==”运算符重载。
#include<
iostream>
usingnamespacestd;
constintM=3;
constintN=3;
classMatrix{
private:
intX[M][N];
friendintoperator==(Matrix&
A,Matrix&
B);
intoperator==(Matrix*A,Matrix*B){
inti,j;
for(i=0;
M;
for(j=0;
N;
if(A[i][j]!
=B[i][j])
return0;
return1;
三、【程序设计题】
(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题40分,根据题目要求编写完整程序实现,要求程序能够正常运行,没有语法错误)
1、编写一个程序,计算三角形、正方形和圆形三种图形的面积和周长。
(用多态性实现)
#include
#include<
classShape{
virtualdoubleS()=0;
virtualdoubleC()=0;
classTri:
publicShape{
doubler1,r2,r3;
Tri(doubled1=0,doubled2=0,doubled3=0):
r1(d1),r2(d2),r3(d3){};
doubleS(){return(sqrt(0.5*(r1+r2+r3)*0.5*(r1-r2+r3)*0.5*(r1+r2-r3)*0.5*(-r1+
r2+r3)));
doubleC(){return(r1+r2+r3);
classQua:
doubleside;
Qua(doubless):
side(ss){};
doubleS(){return(ss*ss);
doubleC(){return(4*ss);
classCir:
doublerad;
Cir(doubledd):
rad(dd){};
doubleS(){return(3.14*rad*rad);
doubleC(){return(2*3.14*rad);
intmain(){
Shape*a=newTri(3,4,5);
Shape*b=newCir
(2);
Shape*d=newQua(4);
cout<
a->
C()<
endl;
S()<
b->
d->
2、已有若干个学生数据,包括学号、姓名、成绩,编写程序要求输出这些学生数据并计算平均分。
classstudent
intno;
char*name;
intdeg;
student();
~student();
voiddisplay();
staticintsum,num=3;
staticintavg(intsum);
intaver;
studentstu[3];
stu[0].no=1;
stu[0].name="
li"
stu[0].deg=89;
stu[1].no=2;
stu[1].name="
chen"
stu[1].deg=78;
stu[2].no=3;
stu[2].name="
zheng"
stu[2].deg=94;
3;
stu[i].display();
sum+=stu[i].deg;
thesumis:
aver=avg(sum);
theaverageis:
student:
student()
no=0;
name=(char*)malloc(sizeof(char)*8);
deg=0;
~student()
free(name);
voidstudent:
display()
staticintavg(intsum)
aver=sum/num;
returnaver;
3、应用C++的多态性编写一个程序,编写程序计算正方体、球体和圆柱体的表面积和体积。
#definen3.14
classShuju{
virtualvoidbiaomianji()=0;
virtualvoidtiji()=0;
classzhengfangti:
publicShuju{
zhengfangti(inta){this‐>
a=a;
voidbiaomianji();
voidtiji();
inta
voidzhengfangti:
biaomianji()
正方形的表面积为"
6*a*a<
tiji()
正方形的体积为"
a*a*a<
classqiuti:
qiuti(intb){this‐>
b=b;
intb
voidqiuti:
biaomianji(){
球体的表面积为"
4*n*b*b<
tiji(){
球体的体积为"
(4.0/3.0)*n*b*b*b<
classyuanzhuti:
yuanzhuti(intr,intd){this‐>
r=r;
this‐>
d=d;
intr,d;
voidyuanzhuti:
圆柱体的表面积为"
2*n*r*r+2*n*r*d<
圆柱体的体积为"
n*r*r*d<
voidfun(Shuju*ptr)
ptr‐>
biaomianji();
voidfun1(Shuju*ptr)
tiji();
zhengfangtizheng(3);
qiutiqiu(4);
yuanzhutiyuanzhu(3,4);
fun(&
zheng);
fun1(&
qiu);
yuanzhu);
4、编写一个程序,实现图书和杂志销售管理。
当输入一系列图书和杂志销售记录后,将销售良好(图书每月售500本以上,杂志每月2500本以上)的图书和杂志名称显示出来。
string>
intmain(){
stringbookName;
stringmagazineName;
stringa[100],b[100];
intbookNumber;
intmagazineNumber;
inti=0,j=0,c,d;
do{cout<
请输入图书的名称:
cin>
>
bookName;
请输入图书销售的数量:
bookNumber;
if(bookNumber>
500)
{a[i]=bookName;
i++;
请问还有图书需要输入吗?
有请按1,没有请按0"
c;
}while(c==1);
请输入杂志的名称:
magazineName;
请输入杂志销售的数量:
magazineNumber;
if(magazineNumber>
2500)
{b[j]=magazineName;
j++;
请问还有杂志需要输入吗?
d;
while(d==1);
销售良好的图书有:
for(intk=0;
k!
=i;
k++)
a[k]<
'
\n'
销售良好的杂志有:
for(intx=0;
x!
=j;
x++)
b[x]<
system("
pause"
5、一名兽医要记录他所治疗的各种类型的狗以及治疗信息,尤其想了解不同的病症对带斑点的狗和不带斑点的狗所产生的影响。
为该兽医设计一个程序,要求记录狗的品种(breed),身高(height),体重(weight),颜色(color)等信息。
为斑点狗和不带斑点的狗设计不同的类。
下面的程序使用你设计的类。
{//定义一个白色的Dalmatian斑点狗,它身高24,体重60,
斑点为红色
spotted_dogredSpot("
Dalmatian"
24,60,"
white"
"
red"
//定义一个黄色的Labrador无斑点狗,它身高30,体重40
unspotted_dogrover("
LabradorRetriever"
30,40,"
yellow"
redSpot.show_name();
//显示狗名
redSpot.show_breed();
//显示狗品种
redSpot.spot_info();
//显示狗斑点信息
rover.show_name();
rover.show_breed();
}
classunspotted_dog{
//定义无斑点的狗作为基类
charbreed[20],color[10];
//定义字符数组,存放狗的品种和颜色
floatheight,weight;
unspotted_dog(char*br,char*co,floathe,floatwe)//形参为字符型指针,对应实参为字符
串(字符数组)
{strcpy(breed,br);
strcpy(color,co);
height=he;
weight=we;
}//字符赋值得用
strcpyvoidshow_breed()
{cout<
Breedis:
"
breed<
//输出无斑点狗的品种
//还可定义其它函数输出身高、体重和颜色
classspotted_dog:
publicunspotted_dog{//定义有斑点狗为无斑狗的派生类
charspot_color[10];
//斑点颜色为新增成员
§
8-2购物环境与消费行为2004年3月20日spotted_dog(char*br,floathe,floatwe,char*co,char*sp_co):
unspotted_dog(br,he,we,co)
//初始化基类成员
{strcpy(spot_color,sp_co);
据上述部分的分析可见,我校学生就达4000多人。
附近还有两所学校,和一些居民楼。
随着生活水平的逐渐提高,家长给孩子的零用钱也越来越多,人们对美的要求也越来越高,特别是大学生。
他们总希望自己的无论是衣服还是首饰都希望与众不同,能穿出自己的个性。
但在我们美丽的校园里缺少自己的个性和琳琅满目的饰品,所以我们的小饰品店存在的竞争力主要是南桥或是市区的。
这给我们小组的创业项目提供了一个很好的市场机会。
voidspot_info()
4.WWW。
google。
com。
cn。
大学生政策2004年3月23日//初始化新增成员
300元以下918%{cout<
spot_coloris:
spot_color<
}//输出有斑点狗的斑点颜色
(二)大学生对DIY手工艺品消费态度分析};
intmain(void)
3、竞争对手分析{spotted_dogredSpot("
24,60,"
"
//定义斑点狗类的对象
(五)DIY手工艺品的“价格弹性化”unspotted_dogrover("
30,40,"
//定义无斑点狗类的对象
redSpot.show_name();
1、购买“女性化”redSpot.show_breed();
可是创业不是一朝一夕的事,在创业过程中会遇到很多令人难以想象的疑难杂症,对我们这些80年代出生的温室小花朵来说,更是难上加难。
redSpot.spot_info();
rover.show_name();
我们熟练的掌握计算机应用,我们可以在网上搜索一些流行因素,还可以把自己小店里的商品拿到网上去卖,为我们小店提供了多种经营方式。
rover.show_breed();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 09 考试 批次 面向 对象 程序设计 作业 讲课 讲稿