C++第8周项目2-5参考解答
2023-09-11 14:15:56 时间
【项目2:计算定期还款额度】
【项目4:关于圆的计算】
(下面是填好空的程序) (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学子的正能量》,帮助处于迷茫中的大学
编程序用来计算贷款的定期还款额度,比如买车的贷款。输入本金、贷款的时间长度、每年偿还的次数、贷款利率,程序就会计算出每次应该偿还的额度。
计算定期还款金额的公式如下
这里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学子的正能量》,帮助处于迷茫中的大学
相关文章
- VC++判断文件夹是否存在,不存在则创建文件夹
- C/C++项目实战--屏幕截图
- 【C/C++学院】(27)项目实战HttpServer--原理分析
- c++ string and wstring conversion
- C/C++每日一练(20230323)
- C/C++基础讲解(三十六)之数值计算与趣味数学篇(数字移动与多项式乘法)
- Open3D(C++) 模型锐化
- 关于VS C++中项目属性的一些名称的含义
- 搜狗面试的经典题(C++map按值排序,class struct的差别)
- [h5棋牌项目]-12-C++调用C#
- [手游项目2]-10-C++怎样关闭一个已经名称的程序的进程?
- [手游新项目历程]-53-c,c++中时间戳与标准时间间的相互转换
- 【华为OD机试 2023】星际篮球争霸赛(C++ Java JavaScript Python)
- 解答私信@被c++折磨头秃的花季美少女 //C++ 编写一个进阶版的进制转换程序,运行功能如下:请选择要输入的数字的进制(2、8、10、16):请输入该数字:请选择要转换成的进制(2、8。。。
- 解答私信@被c++折磨头秃的花季美少女 //C++ 写一个带命令行参数的程序,可以实现将参数求和、求平均值以及排序之后输出(参数的数量不确定)。
- C++ 时间戳转本地时间 函数
- C++调用C++项目中的Python脚本中的函数和类。,在,工程,python
- Qt中纯C++项目发布为dll的方法(超详细步骤)
- c++ vector C++ vector存放结构体 并且排序
- C++ 中的集合与字典
- C++第13周(春)项目1 - 点、圆的关系
- 《Effective C++ 》学习笔记——条款02
- Effective C++:条款38:通过一个复杂的模具has-a要么“基于一些实现”
- C++ STL中的map表的使用问题
- C++_COM 入门
- C++搭建集群聊天室(十八):nginx + redis 发布订阅 升级项目为集群服务器
- C++搭建集群聊天室(七):MySQL数据库配置 及项目工程目录配置