Xcode8 - 程序未正确执行

时间:2017-04-01 18:30:38

标签: c++ xcode input output xcode8

虽然使用Xcode8说它正在运行但没有输出。

输出

10

请输入矩形的长度:

10

请输入矩形的宽度:

矩形的长度为10.00

矩形凝胶的宽度为10.00

矩形区域为100.00

圆的半径是10.00

圆圈的面积是314.16

程序以退出代码结束:0

通缉输出:

请输入矩形长度:10

请输入矩形的宽度:10

矩形的长度为10.00

矩形凝胶的宽度为10.00

矩形区域为100.00

圆的半径是10.00

圆圈的面积是314.16

程序以退出代码结束:0

#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

// Function prototypes
double getLength(); // Function that receives the length
double getWidth(); // Function that receives the width
double getArea(double); //Function calculates area for circle
double getArea(double,double); // Function calculates area for rectangle
void displayData(double,double,double,double, double);
// displayData function is used to display values

int main() {

    // Declares variables
    double length, width, circleArea, rectangleArea;

    length = getLength(); // Stores length
    width = getWidth(); // Stores width
    circleArea = getArea(width); // Stores area of circle
    rectangleArea = getArea(width, length); // Stores are of rectangle

    // Displays the length, width, area of circle, and rectangle area
    displayData(length, width, rectangleArea, width, circleArea);

    return 0;
}

/* This function asks the user to enter the rectangle's length and
 then returns that values as a double */

double getLength() {
    double length;
    cout << "Please enter the rectangle's length: ";
    cin >> length; // User input is stored in variable length
    cout << "\n";
    /* While loop doesn't let user input a
    negative value or a value of zero for 
    the length of the rectangle. */

    while (length <= 0) {

        if (length < 0) { //if statement used when a negative value is entered for length
            cout << "INVALID INPUT!" << endl; // Error message
            cout << "Please enter a positive value for the Length of the Rectangle: ";
            // Asks the user to enter the length again

            cin >> length; // Stores value of length

            if (length > 0) {
                cout << "\n";
            }
        }
        if (length == 0) { // If statement used when a value of zero is entered for length
            cout << "INVALID INPUT!" << endl;//error message
            cout << "Please enter a positive value for the Length of the Rectangle: ";
            // Asks the user to enter the length again

            cin >> length;// Stores the value of length

            if (length > 0) {
                cout << "\n";
            }
        }
    }

    return length;
}

/* This function asks the user to enter the rectangle's width and
 then returns that values as a double */

double getWidth() {
    double width;
    cout << "Please enter the rectangle's width: ";
    cin >> width; // User input is stored in variable width
    cout << "\n";

    /* While loop doesn't let user input a
     negative value or a value of zero for the
     width of the rectangle. */

    while (width <= 0) {
        if (width < 0) { // If statement used when a negative value is entered for width

            cout << "INVALID INPUT!" << endl; // Error message
            cout << "Please enter a positive value for the Width of the Rectangle: ";
            // Asks the user to enter the width again
            cin >> width; //Stores the value of width in the variable, width
            if (width > 0) {
                cout << "\n";
            }
        }
        if (width == 0) { // If statement used when a value of zero is entered for width
            cout << "INVALID INPUT!" << endl; // Error message
            cout << "Please enter a positive value for the Width of the Rectangle: ";
            // Asks the user to enter the width again
            cin >> width; // Stores the value of width in the variable, width
            if (width > 0)
            {
                cout << "\n";
            }
        }
    }


    return width;
}

double getArea(double radius) {
    const double PI = 3.14159;
    double circleArea;

    circleArea = PI * pow(radius, 2); // Formula for the area of a circle
    return circleArea;

}

/* This function accepts the rectangle's length and width as arguments and returns
 the rectangle's area. The area is calculated by multiplying the length by the
 width. */

double getArea(double length, double width) {
    double rectangleArea;

    rectangleArea = length * width; // Formula for the area of a rectangle
    return rectangleArea;
}

/* This function accepts the rectangle's length, width, and area as arguments
 and displays them in an appropriate message on the screen */

void displayData(double l, double w, double ra, double r, double ca) {

    cout << setprecision(2) << fixed;
    cout << "The length for the rectangle is " << l << endl;
    cout << "The width for the rectangle is " << w << endl;
    cout << "The area for a rectangle is " << ra << endl << endl;
    cout << "The radius for the circle is " << r << endl;
    cout << "The area for the circle is " << ca << endl;

}

1 个答案:

答案 0 :(得分:1)

<<cout一起使用时,它不会立即推送到屏幕。正如您所示,发送输出的常用方法是endl。如果您不想要换行,请使用flush

cout << "Please enter the rectangle's length: " << flush;

<击>

编辑:Xcode 8.3似乎在同一行上有关于cincout的新规则。