水仙花数C++课程设计报告.docx

上传人:b****2 文档编号:1235430 上传时间:2022-10-19 格式:DOCX 页数:21 大小:189.18KB
下载 相关 举报
水仙花数C++课程设计报告.docx_第1页
第1页 / 共21页
水仙花数C++课程设计报告.docx_第2页
第2页 / 共21页
水仙花数C++课程设计报告.docx_第3页
第3页 / 共21页
水仙花数C++课程设计报告.docx_第4页
第4页 / 共21页
水仙花数C++课程设计报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

水仙花数C++课程设计报告.docx

《水仙花数C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《水仙花数C++课程设计报告.docx(21页珍藏版)》请在冰豆网上搜索。

水仙花数C++课程设计报告.docx

水仙花数C++课程设计报告

C++课程设计报告

姓名:

XXXXXXXXXXX

学号:

2011100XXXX

学院:

信息工程学院

专业:

地理信息系统

课程设计报告

实习题目一

【需求规格说明】

题号:

A组第2题

题目:

编写一个程序,求出所有的“水仙花数”。

所谓水仙花数,是指一个三位数,其各位数字的立方和恰好等于该数本身。

例如153=1*1*1+5*5*5+3*3*3,所以153是水仙花数。

问题描述:

设计一个程序,用户可以得到水仙花数。

问题分析:

设计一个程序,可以将一定范围内的水仙花数从中筛选出来。

【算法设计】

(1)设计思想:

具体内容:

定义一个变量i,利用for语句依次对某个范围内的数进行计算,输出符合条件的数。

(2)设计表示:

关系图:

false

true

 

【附录】

具体内容:

源程序清单(必须有必要的注释)、测试数据及运行结果。

#include"stdafx.h"

#include

usingnamespacestd;

intmain(){

inti;//定义一个变量

for(i=100;i<1000;i++)//在初始语句中给循环变量赋初值

if((i%10)*(i%10)*(i%10)+(((i-i%10)/10)%10)*(((i-i%10)/10)%10)*(((i-i%10)/10)%10)+((i-i%100)/100)*((i-i%100)/100)*((i-i%100)/100)=i)

cout<<"Theansweris:

"<

cout<

return0;

}

 

实习题目二

【需求规格说明】

题号:

B组第5题

题目:

试编程解决爱因斯坦台阶问题:

有人走一台阶,若以每步走两级则最后剩一级;若每步走三级则剩两级;若每步走四级则剩三级;若每步走五级则剩四级;若每步走六级则剩五级;若每步走七级则刚好不剩。

问台阶共有几级?

问题描述:

设计一个程序,用户可以得到爱因斯坦台阶数。

问题分析:

一个数分别除以2、3、4、5、6、7,余数分别为1、2、3、4、5、0,计算出这个数。

【算法设计】

(1)设计思想:

定义一个变量n,利用for循环语句依次对某个范围内的数进行计算,输出符合条件的数。

(2)设计表示:

关系图:

false

true

 

【附录】

具体内容:

源程序清单(必须有必要的注释)、测试数据及运行结果。

#include"stdafx.h"

#include

usingnamespacestd;

intmain(){

intn;//定义一个变量

for(n=1;n<=10000;n++)//在初始语句中给循环变量赋初值

if(n%2==1&&n%3==2&&n%4==3&&n%5==4&&n%6==5&&n%7==0)

//嵌套使用if语句

cout<<"Theansweris:

"<

cout<

return0;

}

 

实习题目三

【需求规格说明】

题号:

C组第8题

题目:

以面向对象的概念设计一个类,此类包含3个私有数据:

unlead(无铅汽油)、lead(有铅汽油)以及total(当天总收入)。

无铅汽油的价格是17元/公升,有铅汽油的价格是16元/公升。

请以构造函数方式建立此值。

试输入某天所加的汽油量,本程序将列出加油站当天的总收入。

问题描述:

设计一个程序,用户可以求出加油站当天的总收入。

问题分析:

设计一个程序,已知每种汽油的单价和售出的数量,可以求出加油站当天的总收入。

【算法设计】

(1)设计思想:

定义一个类,在public里构造函数,私有数据为unlead、lead、total,实现成员函数,在主函数中定义类的一个对象a,通过对象a调用成员函数,输出总收入。

(2)设计表示:

关系图

 

 

【附录】

具体内容:

源程序清单(必须有必要的注释)、测试数据及运行结果。

#include"stdafx.h"

#include

usingnamespacestd;

constdoubleUNLEAD_PRICE=17;//无铅汽油的单价

constdoubleLEAD_PRICE=16;//有铅汽油的单价

classOil{//定义Oil类

public:

//外部接口

Oil(doubleun,doublelea,doubleto);//构造函数

doubleGettotal();//成员函数

private:

//私有数据

doubleunlead;

doublelead;

doubletotal;

};

//类的实现

Oil:

:

Oil(doubleun,doublelea,doubleto){//构造函数初始化数据成员

unlead=un;

lead=lea;

total=to;

}

doubleOil:

:

Gettotal(){

total=unlead*UNLEAD_PRICE+lead*LEAD_PRICE;//计算总收入

returntotal;

}

//主函数实现

intmain(){

doubleunlead,lead,total;

cout<<"请输入无铅汽油量:

";

cin>>unlead;

cout<<"请输入有铅汽油量:

";

cin>>lead;

Oila(unlead,lead,total);//定义类的一个对象a

cout<<"总收入是:

"<

return0;

}

 

实习题目四

【需求规格说明】

具体内容:

题号:

C组第10题

题目:

编写一个程序,输入3个学生的英语和计算机成绩,并按总分从高到低排序(要求设计一个学生类Student)。

问题描述:

设计一个程序,分别输入3个学生的英语和计算机成绩,按总分从高到低排序。

问题分析:

输入3个学生的英语和计算机成绩,计算出总分并将总分从高到低进行排序。

【算法设计】

(1)设计思想:

定义一个类,,私有数据为english、computer,声明一个指针数组和一个对象指针,使用for循环,用冒泡排序法为总成绩排序,最后分别输出学生的总成绩和排序后的成绩。

(2)设计表示:

关系图:

 

【附录】

具体内容:

源程序清单(必须有必要的注释)、测试数据及运行结果。

#include"stdafx.h"

#include

usingnamespacestd;

classStudent{//定义Student类

public:

//外部接口

inttotal;//成员数据

voidgetscore(){//成员函数

cout<<"输入英语成绩:

";

cin>>english;

cout<<"输入计算机成绩:

";

cin>>computer;

total=english+computer;

}

voiddisp(){//成员函数

cout<<"英语="<

}

private:

//私有数据

intenglish,computer;

};

//主函数实现

voidmain(){

Student*A[3];//声明一个指针数组

Student*temp;//声明一个对象指针

inti,j,n=3;//声明变量

for(j=0;j

A[j]=newStudent;

cout<<"学生"<

A[j]->getscore();

}

for(j=0;j

for(i=j+1;i

if(A[i]->total>A[j]->total){

temp=A[j];

A[j]=A[i];

A[i]=temp;

}

cout<<"排序结果如下:

"<

for(i=0;i

A[i]->disp();

}

 

实习题目五

【需求规格说明】

题号:

第11题

题目:

求解一元二次方程。

一元二次方程的定义为:

ax2+bx+c=0

(1)如果b2-4ac>0,方程有两个不同的实根,分别是:

(2)如果b2-4ac<0,方程没有实根,但有虚根;

(3)如果b2-4ac=0,方程有一个实根。

请你编写一个程序,使其能求出多个二次方程的根。

该程序要询问用户是否想继续解下一个方程。

用户输入1来继续,输入其它数字,则终止程序。

程序要求用户输入a,b和c,然后根据前面的条件计算,并输出答案。

要求:

使用类实现,

(1)a,b,c为该类的私有成员变量;

(2)求根的实现为该类的成员函数,形式为:

//函数返回值:

实根的个数;

//参数:

x-用以返回实根值的复数类类型的数组;

longCalResult(Complexx[]);

(3)该类还包含有参构造函数、析构函数。

问题描述:

设计一个程序,用户可以得到水仙花数。

问题分析:

设计一个程序,可以将一定范围内的水仙花数从中筛选出来。

【算法设计】

(1)设计思想:

具体内容:

先声明定义类Complex,在公有数据里定义函数,输出虚根,再声明定义类Formula,在public里构造函数,定义一个以数组为参数的成员函数,使用if条件语句,确定有几个根,在主函数中提示用户输入方程的系数,判断根的个数并输出个数和根,提示用户是否继续,使用while循环确定是否继续。

(2)设计表示:

关系图:

 

 

【附录】

具体内容:

源程序清单(必须有必要的注释)、测试数据及运行结果。

#include"stdafx.h"

#include

#include

usingnamespacestd;

intw=0;//在全局命名空间为全局变量赋初值

classComplex{//声明定义类Complex

public:

//外部接口

voidroot(doublep,doubleq){//成员函数

x=p;

y=q;

}

voidshow(){//定义成员函数

if(y>0)

cout<

else

if(y==0)

cout<

else

cout<

}

private:

//私有数据

doublex,y;

};

classFormula{//定义Formula类

public:

//外部接口

Formula(doubleaa,doublebb,doublecc);//构造函数

~Formula();

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

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1