c++ prime plus 第三章

来源:互联网 发布:南京水科院怎么样知乎 编辑:程序博客网 时间:2024/05/29 18:03

军训结束了,开始学习。做了一下c++ prime plus的前四个题目。将第一题改成成输入m输出英尺,第二题变成直接输入m,kg。(中国人啊,我怎么知道我几磅)。

第二题遇到一个问题,就是光标没有移动。(用的是windows,codeblocks)。

第三题,不明白为什么

double totalDegree = degree + minute / CHANGE_DEGREE_TO_MINUTE + second / CHANGE_MINUTE_TO_SECOND / CHANGE_DEGREE_TO_MINUTE;

输出了一个double类型的值?

第四题,加入一些判断,目的是让输出中不会出现0s或0分钟的表达,但是没有很完美打好句号,日后改吧。


贴代码:

#ifndef CHAPTER3_H_INCLUDED#define CHAPTER3_H_INCLUDEDclass CChapter3Answer{public:    static void answer();};#endif // CHAPTER3_H_INCLUDED


#include <iostream>#include "Chapter3.h"using namespace std;const double CHANGE_M_TO_IN = 3.28084;//1m=3.28084英尺const double CHANGE_DEGREE_TO_MINUTE = 60;//一度为60分const double CHANGE_MINUTE_TO_SECOND = 60;//1分60秒void c3_7_1(){    double height;    std::cout << "Please input your height(m):______\b\b\b\b\b\b";    //\b表示将光标退一格,输入的时候就会覆盖掉_    std::cin >> height;    std::cout << "Your height:" << height * CHANGE_M_TO_IN << " 英尺"  << std::endl;}void c3_7_2(){    double m = 0;//米    double kg = 0;//重量    std::cout << "Please input your height(m):______\b\b\b\b\b\b"<<std::endl;    std::cin >> m;       //光标没有移动???    std::cout << "Please input your weight(kg):______\b\b\b\b\b\b";    std::cin >> kg;    double bmi = kg / (m*m);    std::cout << "BMI:" << bmi << std::endl;}void c3_7_3(){    int degree = 0;//度    int minute = 0;//分    int second = 0;//秒    std::cout << "Enter a latitude in degrees, minutes, and seconds:" << std::endl;    std::cout << "First: enter the degrees:";    std::cin >> degree;    std::cout << "Next, enter the minutes of arc:";    std::cin >> minute;    std::cout << "Finally, enter the seconds of arc:";    std::cin >> second;    double totalDegree = degree + minute / CHANGE_DEGREE_TO_MINUTE + second / CHANGE_MINUTE_TO_SECOND / CHANGE_DEGREE_TO_MINUTE;    //运算顺序,类型转换?    std::cout << degree << " degrees, " << minute << " minutes, " << second << " seconds = " << totalDegree <<" degrees" << std::endl;}void c3_7_4(){    int totalSecond = 0;    std::cout << "Enter the number of seconds:";    std::cin >> totalSecond;    int num = totalSecond;    int seconds = num % 60;//秒数    num /= 60;//总的分钟数    int minutes = num % 60;//分钟数    num /= 60;//总的小时数    int hours = num % 24;//小时数    num /= 24;//总天数    std::cout << totalSecond << " seconds = ";    if (num!=0)        std::cout << num << " days, ";    if (hours!=0)        std::cout << hours << " hours, ";    if (minutes!=0)        std::cout << minutes << " minutes, ";    if(seconds!=0)        std::cout << seconds <<" seconds.\n";    //.没有很完美打好句号?}void CChapter3Answer::answer(){    c3_7_1();    c3_7_2();    c3_7_3();    c3_7_4();}int main(){    CChapter3Answer::answer();    return 0;}
这些代码的格式参照了另一位博主的,我只是加以修改,并实现自己的想法。

原创粉丝点击