Frage

Hier ist der Code.

int a;
int pi = 3.14;
int area;
int main()
{
    cout << "Input the radius of the circle ";
    cin >> a;

    a *= a *= pi >> area;

    cout << "The area is " << area;


}
War es hilfreich?

Lösung

Die Fläche eines Kreises ist pi * r * r deshalb möchten Sie tun wollen;

a = a * a * pi

Ich hoffe, das hilft

, und sie alle müßten Schwimmer sein.

Andere Tipps

Der >> Operator, wenn sie mit Zahlen verwendet wird, ist Rechtsverschiebung, nicht Zuordnung. Sie wollen so etwas wie

area = a * a * pi;

Update

Sie müssen auch einen Floating-Point-Typen oder Ihre Antwort verwenden, wird nicht das sein, was Sie erwarten.

float a;
float pi = 3.14f;
float area;

Ich habe nicht genug Geduld Ihren seltsamen Code zu entschlüsseln. Wie wäre es nur area = a * a * pi?

Ihr Code macht keinen Sinn machen.

pi (und alle Ihre anderen Variablen) müssen doppelt oder Schwimmer sein, ... nicht int. Ein int kann nur eine ganze Zahl enthalten. Und pi ist offensichtlich nicht integral.

a *= a *= pi >> area; sollte area = a * a * pi;

sein

>> ist ein bitshift, nicht eine Zuordnung zu der rechten Seite
*= ist mehrfach assign und nicht nur vermehren. das heißt, es ist ähnlich wie left=left*right

Ihr Code nicht tut, was ich denke, Sie wollte es tun. Sie vergeben nicht auf Variablen mit >>; Das ist nur für den Strom-Extraktion (und bitshifting).

Auch a *= a *= pi wahrscheinlich nicht tun, was Sie denken, es tut.

Auch Sie wollen Gleitkommawerte, nicht int. Ein "int" pi ist nur 3.

Außerdem sollten Sie die Fehlerüberprüfung auf Ihrem Stream Extraktion haben!

Versuchen Sie:

int main()
{
    const float pi = 3.14;
    float a;

    cout << "Input the radius of the circle ";
    if (!(cin >> a)) {
         cout << "Invalid radius!";
         return 1;
    }

    float area = (a * a * pi);

    cout << "The area is " << area;
}
int pi = 3.14;

Falscher Datentyp. Zuweisen von doppeltem Wert zu int? Das ist falsch.

Schreiben Sie:

double pi = 3.14;

Und ebenso ändern andere Datentypen zu double auch.

Weil Sie verwenden int oder integer, für alle Ihre Variablen. Sie wollen doubles oder sogar floats verwenden. (doubles sind präziser).

Alle Ihre Variablen werden als int deklariert, die einfach jeden Bruchteil ihm zugeordneten fällt. Um die Arbeit mit Gleitkommazahlen, die Verwendung doppelt statt.

Auch in der Gleichung fast unverständlich. Nicht sicher, was Sie versuchen, es zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top