fatal error C1004: Unerwartetes Dateiende gefunden
-
Ich bin Anfänger im Programmieren und habe als Aufgabenstellung eine Win32 Konsolenanwendung gehabt und beim kompilieren kommt diese Meldung:
fatal error C1004: Unerwartetes Dateiende gefunden
Ich finde einfach keinen Fehler.So sieht der Quellcode aus:
#include <iostream> #include <cmath> using namespace std; void Uebung01 () { int nZahl; char cBuchstabe; cout << "Bitte geben sie eine beliebige Zahl ein: "; cin >> nZahl; cout << "\nBitte geben sie einen beliebigen Buchstaben ein: "; cin >> cBuchstabe; cout << "\nSie haben die Zahl \"" << nZahl << "\" und den Buchstaben \"" << cBuchstabe << "\" eingegeben.\n\n"; system("Pause"); } void Uebung02 () { int nZahl1, nZahl2, nZahl3, nZahl4, nZahl5, nErgebnis1, nErgebnis2; cout << "Bitte geben sie die erste Zahl an: "; cin >> nZahl1; cout << "Bitte geben sie die zweite Zahl an: "; cin >> nZahl2; cout << "Bitte geben sie die dritte Zahl an: "; cin >> nZahl3; cout << "Bitte geben sie die vierte Zahl an: "; cin >> nZahl4; nErgebnis1 = nZahl1 + nZahl2 + nZahl3 + nZahl4; cout << "Die Summe der eingegebenen Zahlen beträgt: " << nErgebnis1 << endl; cout << "Bitte geben sie eine weitere Zahl ein, welche mit der Summe der vorherigen Zahlen multipliziert wird: "; cin >> nZahl5; nErgebnis2 = nErgebnis1 * nZahl5; cout << "Das Ergebnis der Multiplikation ist: " << nErgebnis2 << endl; system("Pause"); } void Uebung03 () { int nZahl1, nZahl2; cout << "Bitte geben sie zwei Zahlen zur Division an." << endl; cout << "Erste Zahl: "; cin >> nZahl1; cout << "Zweite Zahl: "; cin >> nZahl2; float Ergebnis = static_cast<float>(nZahl1) / static_cast<float>(nZahl2); cout << "Das Ergebnis: " << nZahl1 << " / " << nZahl2 << " = " << Ergebnis << endl; system("Pause"); } void Uebung04 () { const double PI = 3.1415296535898; double Durchmesser; cout << "Bitte geben sie den Durchmesser des Kreises an: "; cin >> Durchmesser; double Radius = Durchmesser / 2; double Umfang = 2 * Radius * PI; double Flaeche = Radius * Radius * PI; cout << "Der Umfang betraegt " << Umfang << " cm und der Flaecheninhalt " << Flaeche << " cm" << char(253) << endl; system("Pause"); } void Uebung05 () { float Schueler1, Schueler2, Schueler3, Schueler4, Schueler5, Schueler6, Schueler7, Schueler8, Schueler9, Schueler10; cout << "Bitte geben sie die Noten der Schueler ein:\n"; cout << "Schueler 1: "; cin >> Schueler1; cout << "Schueler 2: "; cin >> Schueler2; cout << "Schueler 3: "; cin >> Schueler3; cout << "Schueler 4: "; cin >> Schueler4; cout << "Schueler 5: "; cin >> Schueler5; cout << "Schueler 6: "; cin >> Schueler6; cout << "Schueler 7: "; cin >> Schueler7; cout << "Schueler 8: "; cin >> Schueler8; cout << "Schueler 9: "; cin >> Schueler9; cout << "Schueler 10: "; cin >> Schueler10; float Durchschnitt = (Schueler1 + Schueler2 + Schueler3 + Schueler4 + Schueler5 + Schueler6 + Schueler7 + Schueler8 + Schueler9 + Schueler10) / 10; cout << "Der Notendurchschnitt der Schueler liegt bei: " << Durchschnitt << endl; system("Pause"); } void Uebung06 () { char chBuchstabe; cout << "Bitte geben sie einen Grossbuchsteben ein: "; cin >> chBuchstabe; cout << "Sie haben " << chBuchstabe << " eingegeben.\n"; cout << "Dieser Buchstabe existiert auch folgendermassen: " << char(tolower(chBuchstabe)) << endl; system("Pause"); } void Uebung07 () { float AnzahlMaeuse, Einzelpreis; const int nMehrwertsteuer = 0.19; cout << "Bitte geben sie den Einzelpreis fuer Computermaeuse an: "; cin >> Einzelpreis; cout << "Bitte geben sie nun die Anzahl der verkauften Maeuse an: "; cin >> AnzahlMaeuse; double Nettopreis = AnzahlMaeuse * Einzelpreis; double Mehrwertaufschlag = Nettopreis * nMehrwertsteuer; double Bruttopreis = Nettopreis + Mehrwertaufschlag; cout << "Der Nettobetrag liegt bei: " << Nettopreis << " Euro\n"; cout << "Der Mehrwertsteueraufschlag betraegt: " << Mehrwertaufschlag << " Euro\n"; cout << "Der Bruttobetrag liegt bei: " << Bruttopreis << " Euro\n"; system("Pause"); } void Uebung08 () { double Kathete1, Kathete2; cout << "Bitte geben sie den Wert der erste Kathete an: "; cin >> Kathete1; cout << "Bitte geben sie den Wert der zweite Kathete an: "; cin >> Kathete2; double Quadratsumme = Kathete1 * Kathete1 + Kathete2 * Kathete2; double Hypothenuse = sqrt(Quadratsumme); cout << "Die Hypothenuse ist " << Hypothenuse << " cm lang."; system("Pause"); } void Uebung09 () { double Leiterlaenge, Leiterschnitt; const double Kupferwiderstand = 0.0178; cout << "Bitte geben sie die Lange des Leiters in Metern an: "; cin >> Leiterlaenge; cout << "Bitte geben sie den Querschnitt des Leiters in Quadratmillimetern an: "; cin >> Leiterschnitt; double Widerstand = (Leiterlaenge * Kupferwiderstand) / Leiterschnitt; cout << "Leiterlaenge: " << Leiterlaenge << "m\nLeiterquerschnitt: " << Leiterschnitt << char(253) << endl; cout << "Gesamtwiderstand des Leiters: " << Widerstand << "W" << endl; system("Pause"); } void Uebung10 () { const double PI = 3.1415296535898; double Durchmesser; cout << "Bitte geben sie den Durchmesser der zu berechnenden Kugel an: "; cin >> Durchmesser; double Volumen = (PI * Durchmesser * Durchmesser * Durchmesser) / 6; cout << "Das Volumen der Kugel betraegt: " << Volumen << " Liter" << endl; system("Pause"); } int main () { cout << "Dieses Programm enthält die Lösungen des Arbeitsblattes \"Uebungen zu Grundlagen\"\n"; start: cout << "Sie können nun eine der Uebungen auswaehlen, in dem Sie die Nummer angeben.\n"; cout << "Beispiel: Um die zweite Aufgabe zu waehlen geben sie eine 2 ein.\n"; cout << "Um das Programm zu beenden, geben sie \"e\"ein."; char chEingabe; cin >> chEingabe; switch (chEingabe) { case ('1'): { Uebung01 (); } break; case ('2'): { Uebung02 (); } break; case ('3'): { Uebung03 (); } break; case ('4'): { Uebung04 (); } break; case ('5'): { Uebung05 (); } break; case ('6'): { Uebung06 (); } break; case ('7'): { Uebung07 (); } break; case ('8'): { Uebung08 (); } break; case ('9'): { Uebung09 (); } break; case ('10'): { Uebung10 (); } break; case ('e'): { } break; default: { cout << "Falsche Eingabe!\n"; } goto start; return 0; }
-
Das Ende hab ich noch mal verbessert, da ich gerade festgestellt habe, dass etwas fehlte. Aber die Fehlermeldung bleibt natürlich.
case ('e'): { } break; default: { cout << "Falsche Eingabe!\n"; } if (chEingabe == 'e') { cout << "Das Programm wurde beendet." << endl; } else { goto start; } system("Pause"); return 0; }
-
Meines erachtens fehlt die schließende Klammer der schwitch (chEingabe) in der main.
Gruß Matthias
-
Das ging ja fix. Ich war auch so weit gekommen, festzustellen, dass es was mit dem switch zu tun haben muss, da alles andere einwandfrei läuft, aber das da noch eine klammer hingehört, habe ich gar nicht bemerkt.
Ich danke dir, jetzt kann ich doch noch ein wenig schlafen.