zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C++第8周项目2-5参考解答

C++项目 参考 解答
2023-09-11 14:15:56 时间
【项目2:计算定期还款额度】

编程序用来计算贷款的定期还款额度,比如买车的贷款。输入本金、贷款的时间长度、每年偿还的次数、贷款利率,程序就会计算出每次应该偿还的额度。

计算定期还款金额的公式如下


这里rate代表利率,principal代表本金,payPerYear代表每年偿还贷款的次数,numYears代表贷款的年限。

参考解答:

#include iostream 

#include cmath 

using namespace std;

int main( )

 double principal; //原始的本金

 double rate; //利率,例如,0.075

 double payPerYear; //每年偿还的次数

 double numYears; //偿还的年限

 double payment; //每次偿还的数额

 double number, denom; // 临时的变量

 double b,e; //底数,指数

 cout "输入本金:";

 cin principal;

 cout "输入利率(如0.075): ";

 cin rate;

 cout "输入每年还款次数 ";

 cin payPerYear;

 cout "输入还款年数: ";

 cin numYears;

 number = rate * principal / payPerYear;

 e = -(payPerYear * numYears );

 b = (rate / payPerYear )+1;

 denom = 1 - pow(b,e); //调用pow()计算幂

 payment = number / denom;

 cout "Payment is " payment endl;

 return 0;

}


【项目3:求两点间距离】

输入两个点的坐标,求两点之间的距离并输出。提示:(1)两点的坐标用4个变量x1,y1,x2,y2表示,输入坐标值后,按求两点间距离的公式计算出距离输出即可;(2)求距离要开平方,开平方需要调用函数sqrt()实现。例如,用sqrt(x)可以求出x的平方根。要调用sqrt()函数,必须在程序开始处写:#include Cmath

#include iostream 

#include Cmath //为调用pow必须包含cmath 

using namespace std; 

int main() 

 double x1,x2,y1,y2,d; 

 cout "请输入第一点的坐标x y:"; 

 cin x1 y1; 

 cout "请输入第二点的坐标x y:"; 

 cin x2 y2; 

 d=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1)); 

 cout "两点间的距离为:" d endl; 

 return 0; 


【项目4:关于圆的计算】

输入半径r和高h,计算并输出半径为r的圆的面积、周长,半径为r的球的体积、表面积,半径为r,高为h的圆柱、圆锥的体积、表面积等。要求π值用符号常量表示。

#include iostream 

#include Cmath //为调用sqrt必须包含cmath

#define PI 3.1415926 //将PI定义为符号常量

using namespace std; 

int main() 

 double r,h,s1,s2,s3,s4,l,v1,v2,v3; 

 cout "请输入半径r:"; 

 cin r; 

 cout "请输入高h:"; 

 cin h; 

 s1=PI*r*r; 

 s2=4*PI*r*r; 

 s3=2*PI*r*r+2*PI*r*h; 

 s4=PI*r*r+PI*r*sqrt(h*h+r*r); 

 l=2*PI*r; 

 v1=4*PI*r*r*r/3; 

 v2=PI*r*r*h; 

 v3=PI*r*r*h/3; 

 cout "以 " r " 为半径," endl;

 cout "圆的面积=" s1 endl; 

 cout "圆的周长=" l endl; 

 cout "球的体积=" v1 endl; 

 cout "球的表面积=" s2 endl endl;

 cout "以 " r " 为半径," h " 为高," endl;

 cout "圆柱的体积=" v2 endl; 

 cout "圆柱的表面积=" s3 endl; 

 cout "圆锥的体积=" v3 endl; 

 cout "圆锥的表面积=" s4 endl; 

 return 0; 



【项目5:字符加密】

加密规则为用原来字母后面的第4个字母代替原来的字母。具体见P42第8题。

#include iostream 

using namespace std;

int main()

 char c1,c2,c3,c4,c5;

 c1=C;

 c2=h;

 c3=i;

 c4=n;

 c5=a;

 c1=c1+4;

 c2=c2+4;

 c3=c3+4;

 c4=c4+4;

 c5=c5+4;

 cout "加密后为:";

 cout c1 c2 c3 c4 c5 endl;

 return 0;

}




(下面是填好空的程序) (1)下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整。
【项目2:洗牌】 在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。 参考界面: 参考解答(共4种,可作为程序阅读,品味用STL解决问题的方法,必要时,请查找相关手册) 解法1:初始化一个 vector,顺序加入所有牌,即整数1~54。然后从容器中随机
【项目-数组类模板】 在数组类的基础上,将之改造为类模板,以使数组中可以存储各种类型的数据。 template class T //数组类模板定义 class Array private: T* list; //用于存放动态分配的数组内存首地址 int size; //数组大小(元素个数)
是一个函数模板的两个实例,其功能是将数组a中的前size个元素按从小到大顺序排列。试设计这个函数模板。 参考解答:
【项目1-分数类中的运算符重载】 (1)实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算。
【项目-数组类运算的实现】 设计数组类Array,为了实现测试函数中要求的功能,请补足相关的函数(构造、析构函数)和运算符重载的函数。 实现策略提示:可以将测试函数中的语句加上注释,取消一句的注释,增加相应的函数,以渐增地实现所有的功能,避免全盘考虑带来的困难。
【项目 - 点-圆-圆柱类族的设计】 按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(
贺利坚 烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学