Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Das ist kein C++, sondern C++/CLI. Das sind zwei unterschiedliche Sprachen.
  2. Könntest du bitte mal das konkrete Problem beschreiben, nicht deine Interpretation? PHP-Quellcodedateien sind keine Bilddateien, die kannst du mit einem Bildbearbeitungsprogramm natürlich nicht öffnen.
  3. Sinnvoll wäre es wohl nach der Ausgabe.
  4. Praktisch genauso wie in Java. Der Unterschied zum Java-Code liegt eigentlich nur in der Signatur der main-Funktion, der leicht anderen Syntax der Zugriffsspezifizierer, der Konsolenausgabe und der Tatsache, dass man Klassenexemplare in C++ nicht mit new anlegen muss. #include <iostream> class Formen { public: double quader (double a, double b,double c) { double quader; quader = (a*b*c); return quader; } }; int main() { Formen m1; //Deklaration double quader; double a = 5; double b = 10; double c = 15; quader = m1.quader(a, b, c); std::cout << "Volnumen Quader: " << quader << " cm3" << std::endl; }[/code]
  5. Wenn es ein Syntaxfehler wäre, würde der Compiler das Programm nicht übersetzen können. Du hast da bei der Umsetzung einiges geändert, das man nicht hätte ändern müssen: Die Datentypen von double nach int, den Klassennamen von Haupt nach quader, den Methodennamen von quader nach test, und den Rückggabetyp von double nach void. Und aufgerufen hast du die Methode in C++ auch nicht. Es wird ja nie etwas berechnet, daher gibst du den Wert der uninitialisierten Variablen ergebnis aus, und der ist mehr oder weniger zufällig.
  6. Mach die Tabs raus und sorg dafür, dass die Strings vor dem Formatfeld gleich lang sind.
  7. Und diese Klassen haben offenbar nichts miteinander zu tun. Damit du auf Amplitude zugreifen kannst, brauchst du erst einmal ein Exemplar der Klasse Wand. Davon ist aber in AnimatedActor.act weit und breit nichts zu sehen.
  8. Du brauchst <stdlib.h> (für C) bzw. <cstdlib> (für C++). Falls es nicht daran liegt, solltest du eine etwas genauere Fehlerbeschreibung abliefern. Mit "ein Problem beim Buildvorgang" kann man nichts anfangen.
  9. Wenn du die Daten binär verarbeitest (fread, fwrite), kannst du fseek benutzen, denn dann ist jeder Eintrag sizeof(double) Bytes groß. Wenn es auf Geschwindigkeit ankommt, und die Datenmenge nicht zu groß ist, sind vielleicht Memory Mapped Files eine Lösung. Das ist dann aber betriebsystemspezifisch.
  10. Die Zahlen sind rechtsbündig. Da du aber keine Breite angegeben hast, ist die Ausgabebreite für jede einzelne Zahl nur so groß, dass die jeweilige Zahl gerade eben hineinpasst. Die Breite kannst du zwischen dem % und dem Punkt angeben, z.B. so: "%8.2f"
  11. Bei dieser Formatierung sind negative Zahlen schon einmal ein Zeichen länger, wegen des Vorzeichens. Das könntest du beispielsweise durch "%+E" oder "% E" (mit Leerzeichen in der Mitte) umgehen. Der C-Standard sagt, dass der Exponent mindestens zwei Zeichen haben soll, und darüber hinaus nur soviele wie nötig. Auch hier hast du also keine feste Länge. Der Compiler von Visual C++ 2008 hält sich hier übrigens nicht an den Standard. Dort hat der Exponent immer 3 Ziffern. Und schließlich gibt es noch double-Werte, die gar keine Zahlen darstellen, z.B. "inf" oder "nan". Außerdem solltest du bedenken, dass bei der Formatierung als Text die Werte sehr häufig gerundet werden müssen. Genaue Werte kannst du nur erreichen, indem du die Werte binär speicherst. Dann hättest du auch eine einheitliche Größe, egal wie der Wert aussieht. Allerdings verlierst du dann die Portierbarkeit, denn weder die Größe noch die interne Darstellung von Gleitkommatypen ist standardisiert.
  12. Erstens öffnest du die Eingabedatei zweimal (zähl mal die fopen-Aufrufe). Die Erfolgsmeldung gibst du allerdings aus, ohne das Ergebnis des ersten Versuchs zu prüfen. Zweitens ist es Unsinn, fclose aufzurufen, wenn das Öffnen fehlschlägt, weil es nichts zu Schließen gibt. Statt dessen solltest du die weitere Verarbeitung abbrechen oder den Fehler sonst irgendwie behandeln. Bisher gibst du nur eine Meldung aus und machst dann weiter, als wäre nichts passiert.
  13. Richtig. Diese Funktion benutzt die Suchfunktion, und ist damit auch deaktiviert.
  14. Richtig. In deinem Fall liegt es vermutlich daran, dass die weitere Verarbeitung (Zusammensetzen des Pfades, Dateioperationen) innerhalb deiner Einleseschleife geschieht, und damit schon beim ersten Schleifendurchlauf, also bevor überhaupt alle dafür notwendigen Daten eingelesen wurden. Das gehört also hinter die Einleseschleife.
  15. Geht's ein wenig genauer als "der Fehler"? Was willst mit j? Du brauchst keine weitere Variable, du hast doch bereits eine int-Variable, die den Wert aufnehmen soll. Und strcpy brauchst du dafür auch nicht.
  16. Der Parameter von atoi muss der String sein, den du umwandeln willst. Das ist nicht operat. Das Ergebnis musst du der int-Variablen zuweisen, in der die umgewandelte Zahl stehen soll. Der Compiler beklagt sich vermutlich darüber, dass du einerseits atoi mit einem int-Parameter aufrufst, und andererseits in einem case-Block eine Variable definierst. Das geht nur, wenn du den ganzen Block in geschweifte Klammern steckst. Nicht dass das hier nötig wäre.
  17. fgets kann nicht EOF zurückgegeben. Der zweite Parameter von strtok muss ein nullterminierter String sein, kein Einzelzeichen. Siehe mein Hinweis zum Umwandeln von String nach int. Siehe Zeile 44. remove gibt kein FILE* zurück, sondern int.
  18. Strings kannst du mit strcpy kopieren. Für den int musst du den String, den dir strtok liefert, zunächst mit atoi in int umwandeln.
  19. An dem Ausdruck summe / (anzahl - 1) sind nur ints beteiligt, das Ergebnis ist also wieder ein int - es findet eine Ganzzahldivision statt, bei der alle Nachkommastellen des Ergebnisses wegfallen. Es sollte schon ausreichen, wenn du statt dessen summe / (anzahl - 1.0) schreibst.
  20. Nein, musst du nicht. Es reicht doch, wenn du die Summe nachhältst, und wieviele Zahlen eingegeben wurden.
  21. Aber es geht doch kein Fenster auf mit dem Text "Es ist irgendein Fehler aufgetreten", oder? Je genauer du das Fehlverhalten beschreibst, desto besser können wir dir helfen.
  22. Ein wichtiger Tipp für die Zukunft: Mit "irgendein Fehler" kann niemand etwas anfangen. Mag ja sein, dass dir die Fehlermeldungen des Compilers nicht viel sagen, aber den Helfern hier vielleicht schon, deswegen wäre es besser, wenn du den Wortlaut der Fehlermeldung nicht verschweigst. Und zum goto-Problem: Da du einfach nur aus der Schleife rausspringst, reicht es, wenn du dein goto durch ein einfaches break ersetzt.
  23. Klotzkopp

    Pls helfen

    Du hast keine Variable namens string deklariert. Und du kannst Variablennamen nicht zur Laufzeit zusammensetzen. Warum benutzt du nicht einfach ein Array von std::string?
  24. Klotzkopp

    Pls helfen

    Und geht's ein wenig genauer als "einen fehler"?
  25. Visual Studio 2005 Service Pack 1 Update for Windows Vista ist drauf?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...