C++编写程序:输入三角形的三边,判断三角形的类型。
【需求描述】
1.使用C++语言编写程序。
2.三角形的三边长度为整数且限制在1~100之间。
3.有良好的排错机制。(程序不接受非数字字符等)
4.友好的交互提示。(输入错误提示,是否继续提示等)
【开发环境】
1.windows10
2.Dev-C++ 5.1.0
【程序源码】
#include <iostream>
#include <limits>
#include <sstream>using namespace std; class Triangle{
private:int length_a,length_b,length_c;
public:Triangle(int a,int b,int c){length_a=a;length_b=b;length_c=c;}~Triangle(){}//测试单边长度是否在要求范围 bool lengthtest(int tlen) {if(tlen>=1&&tlen<=100){return true;}else{return false;}}/*校验三边长度是否合法的方法*/ bool lengthCheck(){ /*判断三边的值是否在要求的范围*/if(lengthtest(length_a)){if(lengthtest(length_b)){if(lengthtest(length_c)){return true;}}}return false;}// 校验三边长度是否可以组成三角形bool composeCheck(){if(length_a+length_b>length_c){if(length_b+length_c>length_a){if(length_a+length_c>length_b){return true;}}}return false;}//判断三角形的类型int TypeCheck(){if(length_a==length_b||length_a==length_c||length_b==length_c){if(length_a==length_b&&length_b==length_c){return 3;}return 2;}return 1;
}};
int main() {int a,b,c;if(!isdigit(a)){} A:for(int i=1;i<=3;i++) {cout<<"请输入三角形第"<<i<<"边的长度[1,100]:";int num;while( !(cin>>num) || cin.peek()!='\n' ){cin.clear();cin.ignore( numeric_limits<streamsize>::max(), '\n' ); cout << "输入有误,请重新输入有效数字[1,100]:" << endl;}if(i==1){a=num;}else if(i==2){b=num;}else{c=num;}} Triangle triangle(a,b,c);if(!triangle.lengthCheck()){cout<<"输入的三边长度超出范围,请重新输入:"<<endl; triangle.~Triangle();goto A; }if(triangle.composeCheck()) {int temp = triangle.TypeCheck();switch(temp){case 1:cout<<"该三角形是一个普通三角形"<<endl;break;case 2:cout<<"该三角形是一个等腰三角形"<<endl;break;case 3:cout<<"该三角形是一个等边三角形"<<endl;break;default:break;} }else{cout<<"输入的三边无法组成三角形。"<<endl; }cout<<"是否继续?请选择[Y/N]:";char d;cin>>d;if(d==89||d==121) {triangle.~Triangle();goto A;}system("pause");return 0;
}
【运行测试效果】
【改进意见】
本次实验由于受到需求束缚,无法拓展更多功能,正常情况下,可以有以下改进:
1.三角形类型判断应该可以更加丰富:普通、等腰锐角三角形,普通、等腰钝角三角形,普通、等腰直角三角形。
2.支持输入小数作为边长。
3.不强制性三边数据都要输入,但有提示输入数据不完整以及重输措施。
C++编写程序:输入三角形的三边,判断三角形的类型。相关推荐
- java语言编程三角形图形_编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用......
导航:网站首页 > 编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用... 编程题:编写程序输入三角形的3条边长,计算并输出... 求助 ...
- python表示三个数升序_编写程序,输入三个数,然后以升序显示_学小易找答案
[简答题]按照软件开发的顺序,实现下列程序: 计算三角形面积的公式为:s = (side1 + side2 + side3) / 2,area = (s - side1)(s - side2)(s - ...
- python输入半径求圆的面积、保留三位小数_编写程序,输入圆的半径,求该圆的面积与周长(保留三位小数)。 /* 程序功能:输入圆的半径,计算圆的面积与周长*/_学小易找答案...
[编程题]从字符串中删除指定的字符.同一字母的大小写按不同字符处理. 例如:若程序执行时,输入字符串为: turbo c and Borland c++ ,从键盘上输入字符: n ,则输出后变为: t ...
- python求1到n的奇数和_编写程序。输入任意整数n,计算1到n的奇数和。C语言编写程序 输入整数N 显...
编写程序.输入任意整数n,计算1到n的奇数和. C语言编写程序 输入整数N 显 www.zhiqu.org 时间: 2020-11-23 解题思路:循环判断1到N的每一个数: 若除以2是结果为整数,也 ...
- c语言编写程序,输入正整数n,计算0到n以内所有奇数的和,c语言输入正整数n,计算1~n中的奇数和以及偶数和并输出....
用C语言编写程序,输入一个正整数n(1 #include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x0 ...
- c语言编写一个程序计算某年某月有几天,c语言编写程序,输入某年某月,求该月的天数...
c语言编写程序,输入某年某月,求该月的天数 #包括 voidmain() { 年.月.日: 请输入当前日期(年月以空格分隔): ': 中国年月 而(月=0 | |月12) { cout '输入时间有误 ...
- java源程序求圆的周长和面积_编写程序,输入圆的半径,求出圆的周长和面积. PI=3.14...
C语言程序 编写函数,求圆面积的值,主函数输入半径,并在主函数中调它. #includemain(){\x09floatS(floatr);\x09floatr;\x09printf("in ...
- 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出。...
编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 题目描述 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 输入描述 编写程序输入一个5x5的矩阵 ...
- c语言中输入n一个整数存入一维数组,编写程序输入n个整数到一维数组(先输入数据的个数n,再输入n个数据),然后以输入的顺序输出这些数。...
满意答案 王毛毛00000 2014.05.25 采纳率:58% 等级:7 已帮助:613人 首先声明:我是来被骗的!因为根据经验绝大部分的一级头衔的人都是想到问题才注册百度的,别人回答了基本不 ...
- 用PHP编写圆的半径和周长,在C++中编写程序输入半径计算圆的周长和面积
现在计算机语言应用是很多的,如果你使用电脑又会使用计算机语言那就是更加的吃香了,今天我们就来说说C语言,在C++中编写程序输入半径计算圆的周长和面积. 工具/材料 电脑.VC++软件 我们首先要下载安 ...
最新文章
- 基于SSH的在线音乐点评网站-java在线音乐点评网站
- 概念理解#1 第一类公民(First-class Citizen)
- 修改win10 默认网卡 --其实就是改网卡接口跃点
- wxWidgets 的打印演示
- Spring(1)—初识
- 洛谷 P1090 合并果子
- Machine Learning——Homework1
- Smarty自学笔记
- token 自动续期的方案
- openwrt 使用自定义 DNS
- wechat-0010,微信公众号,接入微信公众平台
- 30.一张图理解EOS是什么
- Latex beamer 制作 PPT
- Bloomberg彭博终端函数和EXCEL插件
- 让你不再害怕指针——C指针详解(经典,非常详细)
- 变分自编码器(VAE,Variational Auto-Encoder)
- 中国移动飞信免费发短信API接口(第三方 Fetion API)
- Linux下防御ARP欺骗
- 谈谈JS 的图片压缩
- 第八章软件项目质量管理
热门文章
- 5. http://kb.cnblogs.com/page/90838/
- 27. Location reload() 方法
- centos java进程号_centos中分析java占用大量CPU资源的原因
- js中的 toUpperCase()中开头的u和c一定要大些
- CSS-行内框、行框、行高
- JavaWeb将图片显示在浏览器中
- WIN7下的ORACLE精简版客户端(ORACLE Instant Client)安装与配置指南
- Flask开发系列之初体验
- yarn依赖管理工具,和fis3构建工具 gulp详细用法
- Spring Struts2 整合