标题:求助——关于循环
只看楼主
ohr798546
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-16
 问题点数:0 回复次数:6 
求助——关于循环
这个程序的功能是用三角函数来求树的高度,内有一个英尺/英寸的转换式。
为了避免一闪而过,使用了do-while循环。
结果不起作用……
之前编过的程序都没有出现这种现象……
问题何在啊……

原代码:
//the hight of the tree
//17-06-08 14:30

#include <iostream>
#include <cmath>
#include <cctype>
using std::cout;
using std::cin;
using std::tan;
int main () {
    float d[3]={0};
    float h=0;
    float angle=0;
    float resault=0;
    const float ipf=12.00;
    char agian='n';
    do {
    cout <<"Enter the hight of Protractor.\nInches:";
    cin >>h;
    cout <<"\nEnter the angle on the Protractor.:\n";
    cin >>angle;
    cout <<"\nEnter the long between the tree and the Protractor.\n";
    cout <<"Feet,Inches:";
    cin >>d[0]>>d[1];
    d[2]=d[0]*ipf+d[1];
    resault=h+d[2]*tan(angle);
    cout <<"\nThe hight of the tree is:\n"<<resault<<" inches";
    cout <<"\nRetry(Y\\N)?";
    cin >>agian;
    } while (tolower(agian)=='y');
    return 0;
}

本人初学C++,编的都是一些练习小程序。
高手指教下哈……
搜索更多相关主题的帖子: float 三角函数 std using include 
2008-07-10 14:03
zhgxy28
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-4-22
得分:0 
出来的结果不符合要求,
问题出在:
resault=h+d[2]*tan(angle)的tan(angle)其算出的值是错的,
应在前定义:
#define PI 3.1415926
该句改为:
resault=h+d[2]*tan((angle/180)*PI)
就可以了。
2008-07-10 15:44
ohr798546
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-16
得分:0 
意思就是说在tan()中应使用弧度值?
了解&谢谢
2008-07-10 15:51
水中无月
Rank: 1
等 级:新手上路
帖 子:190
专家分:9
注 册:2008-6-17
得分:0 
用getch()函数能防止程序“一闪而过”

十里平湖霜满天,寸寸青丝愁华年,对月形单望相互,只羡鸳鸯不羡仙.
2008-07-11 17:11
我是杨过
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-11-23
得分:0 
你是在VC中编的吗,如果不是建议,包含conio.h,然后用getch()

不要幻想,因为那从来不会是真的!
2008-07-12 21:25
ohr798546
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-16
得分:0 
我用的编译器是Dev-C++
至于循环吗……
总不会只输入一轮就算了……
还能多试几下编译成功的那种感觉
嘎嘎……
2008-07-14 13:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-223362-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029182 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved