2017-02-24 3 views
-6
#include <iostream> 
using namespace std; 
int main() { 
    int choice; 
    const double pi = 3.14; 
    double area, radius; 
    cout << "Welcome to the geometry calculator!\n"; 
    cout << " 1. Calculate The Area OF A Circle:\n"; 
    cout << " 2. Calculate The Area Of A Rectangle\n"; 
    cout << " 3. Calculate The Area Of A Triangle\n"; 
    cout << " 4. Quit The Application"; 
    cin >> choice; 
    if (choice == 1) { 
     area = radius * radius * pi; 
     cout << "What is the radius of the circle?"; 
     cin >> radius; 
     cout << "the area of the circle is" << area; 
    } 
    cin.get(); 
    return 0; 
} 

Dies ist ein Teil des Codes, den ich gerade für Hausaufgaben mache. Nachdem ich den Code kompiliert habe, werden mir zahlreiche Fehler präsentiert, die alle im Wesentlichen dasselbe sagen. Ich verstehe nicht, was ich falsch mache, hat jemand irgendwelche Tipps? Warum muss ich den Radius initialisieren, wenn er als Eingabe verwendet wird?Vollständige noob: Error3error C4700: nicht initialisierte lokale Variable Radius verwendet

Danke für die Down-Stimmen Jungs. Gut zu wissen, dass diese Hilfe dich nur lächerlich machen wird. Ich habe schon mehrmals erfolglos nachgeschlagen.

+2

Ahh diese lästigen Fehlermeldungen mit ihren nutzlosen Informationen. Ich weiß nicht, warum wir uns mit ihnen beschäftigen. Vielleicht sollten wir jede Nachricht in "Sie haben einen Boo Boo" geändert haben? Das wäre viel nützlicher als "nicht initialisierte lokale Variable verwendet" ... – John3136

+0

Vielen Dank für die herablassende Antwort. Wie auch immer, ich habe das Problem herausgefunden. Ich hatte den Eindruck, dass ich die Variable nicht initialisieren musste, wenn der Benutzer eine Zahl eingeben würde, aber es stellte sich heraus, dass ich falsch lag. Ich verstehe nicht, warum Sie eher snarky Kommentare machen, anstatt eine einfache Antwort zu geben. –

+1

Sie wissen, dass es einige Sprachen gibt, mit denen Sie die Formel einrichten und dann die Werte eingeben können, aber C++ gehört nicht dazu. Das heißt, ich kann C++ nicht zuerst als "come first served" bezeichnen, entweder aufgrund von Brainfreaks wie diesen: http://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points. – user4581301

Antwort

0

Sie nie eine Variable area zugewiesen und radius

Sie verwenden die radius Variable den area zu berechnen, sondern radius keinen Wert haben; Es wurde nie initialisiert.

einfach

eingeben
double radius = 0.0; 

es beheben wäre. Es empfiehlt sich, Ihre Variablen auf etwas festzulegen (zu initialisieren), wenn Sie sie deklarieren.

+0

Danke! Ja, ich habe es gerade gemerkt, nachdem ich andere Leute gesucht habe, die das gleiche Problem hatten. Ich glaube, es ist mir nie in den Sinn gekommen, eine Variable zu initialisieren, bevor ich sie überhaupt benutzt habe. Ich schätze diese Hilfe informative Antwort. : D –

+0

@AndreFenton Sie können auf das Häkchen auf der linken Seite klicken, um die Frage als beantwortet zu markieren. – Lunatoid

Verwandte Themen