Frage von askandanswer23, 57

Kann mir jmd bei einer einfachen Funktion in C++ helfen?

Ich habe folgenden Quellcode,

int AktuellesStockwerk ( ) 
{
 #include <fstream> 
    int Stockwerk;
    
    Stockwerk = fstream AktuellesStockwerk ( "C:\\AktuellesStockwerk.txt", ios::in )    
    
    return Stockwerk;
 
}

allerdings zeigt er mir irgendeinen fehler an. Kann mir einer Bitte helfen?

MfG askandanswer

Antwort
von ceevee, 21

Den Hinweis von TeeTier solltest du dir unbedingt zu Gemüte führen, er hat damit absolut recht. Denn ich bin mir sicher, dass du nicht erklären könntest, was diese Zeile

Stockwerk = fstream AktuellesStockwerk ( "C:\\AktuellesStockwerk.txt", ios::in ) 

macht. Das sieht nach "ich schreib einfach irgendwas mit fstream" aus... "Stockwerk" ist ein Int, "AktuellesStockwerk" soll vielleicht mal ein fstream-Objekt werden, wenn es fertig ist, die beiden willst du gleichsetzen und warum steht das Wort "fstream" dazwischen? Das kann gar nicht funktionieren. Das hat mitm fstream nix zu tun, jede andere Klasse würde dir da genauso um die Ohren fliegen.

Dein aktuelles Problem könntest du lösen, indem du dir ein Beispiel nimmst (etwa hier http://www.willemer.de/informatik/cpp/fileop.htm ) und das für deinen Fall abwandelst, aber wenn du programmieren lernen willst, dann solltest du nochmal von vorne anfangen.

Expertenantwort
von TeeTier, Community-Experte für programmieren, 57

Dein Quelltext ist von Vorne bis Hinten komplett falsch, und (fast) jede Zeile ist fehlerhaft.

Deshalb lege dein Experiment bei Seite, schnapp dir ein gutes C++ Buch oder Tutorial, und lerne bitte erst mal die Grundlagen.

Bei deinem jetzigen Stand macht es keinen Sinn, weiter auf den Quelltext aus deiner Frage einzugehen.

Also fang nicht mitten drin an, sondern gaaaanz am Anfang! Sonst wirst du C++ leider nicht lernen können!

Viel Erfolg! :)

Kommentar von Omnivore08 ,

Ich stimme TeeTier vollkommen zu! Das ist wirklich das Beste!

Kommentar von askandanswer23 ,

das ist ne eigene funtion nicht der komplette Quelltext... die wird dann im main Programm aufgerufen uso... es geht mir mehr um den teil mit dem fstream, weil er mir da in die namespace header reingeht und dort einen fehle melden was ich sehr komisch finde.

Kommentar von TeeTier ,

Lerne bitte erst mal was ein Header und was ein Namespace ist. Beides verwendest du in deinem Quelltext leider völlig falsch. So, wie es jetzt ist, MÜSSEN an mehreren Stellen Fehler auftreten.

Ganz zu schweigen davon, wie du versuchst einen Integer zu lesen.

Also nochmal: Fang bei den Grundlagen an! :)

Kommentar von askandanswer23 ,

Ich glaube du hast mich missverstanden ich weis was eine header ist und was eine namespace ist. Ich kenn mich nur mit dem Dateien lesen/schreiben nicht aus. Ansonsten kann ich schon n bisschen programmieren... und nochmal das ist ne Funktion kein Programm da ist klar dass keine includ/ namespace/ main methode uso rein kommt, dass wird nur aufgerufen.

Kommentar von TeeTier ,

Warum platzierst du dann die #include Anweisung innerhalb von deiner Testfunktion? Und du verwendest weder std:: als Namespace-Prefix, noch die using-Direktive. Außerdem scheinst du noch nicht verstanden haben, wie eine Objektinstanziierung und eine Zuweisung funktionieren. Ganz zu schweigen vom Datentyp.

Ich rate dir wirklich dringend, nochmal ganz von Vorne bei Null anzufangen. Am Ende sparst du damit sogar Zeit!

Kommentar von askandanswer23 ,

Ich lerne es grad in der Schule (BK) und dann wollt ich des mit dem in eine datei schreiben machen und hab von n paar websites die codes unso angeschaut und dann kan des raus... aber du hast recht ich warte einfach bis wir das durchnehmen.

Keine passende Antwort gefunden?

Fragen Sie die Community