Kann gelöscht werden!



  • X-itex3 schrieb:

    Ich bin/war mir unschlüssig, ob ich in einer Funktion eine Ausgabe machen darf.

    main und printf sind auch nur Funktionen.

    X-itex3 schrieb:

    Nein habe ich nicht benutzt, sollte ich aber schnellstens tun.

    Der Compiler sollte dich mit Warnungen überschütten.
    Wenn nicht, stell den Warnlevel hoch.
    Behandle WArnungen wie Fehler und behebe deren Ursache.



  • .........



  • .......



  • Die Warnungen (und Fehler) gibt der Compiler aus.

    Und bei dem Code müssen Warnungen kommen.

    Die Warnungen und Fehlermeldungen sind nicht nur eine zufällige Ansammlung von Zeichen.
    Die ergeben sogar Sinn. Darum ist der genaue Wortlaut wichtig.

    Manche Compiler geben sogar noch eine Fehlernummer mit an. Nach der kann man auch in der (Online-)Hilfe suchen.

    Ist array ein Array?

    Aber das ist nicht das einzige Problem.



  • .......



  • X-itex3 schrieb:

    hier der Programmcode, damit da auch Personen etwas von haben, die im Internet genausowenig finden werden wie ich.

    Das ist nett gemeint, aber
    - Deklarationen sind sinnvoller, wenn die Parameter mit angegeben werden, damit der Compiler auch die Richtigkeit prüfen und evtl. casten kann.
    - globale Variablen sind Schrott und hier auch nicht nötig.
    - der rekursive Aufruf von main ist eine sehr, sehr schlechte Idee.
    - der Aufruf von main aus einer anderen Funktion heraus ist noch übler.

    Also Dinge, die einen (anderen) Anfänger nur auf falsche Pfade führt.

    Definiere deine Funktionen vor main, dann sparst du die Deklaration.
    Oder kopiere einach die erste Zeile der Definition und mach ein Semikolon dahinter.

    Wenn index in einer Funktiongeändert wird, dann kannst du
    - den Rückgabewert der Funktion nutzen oder
    - ein Call by Reference machen

    Wenn du da Menu mehrfach ausführen willst, dann mach eine Schleife drum herum.
    - z.B. while(1) für eine Endlosschleife (du beendest ja mit return oder exit)
    - oder ein do { } while(a!= 0) (wenn 0 für Ende steht

    X-itex3 schrieb:

    Ich kümmere mich gleich mal darum, die Warnstufe zu erhöhen.

    Das wäre der erste Schritt gewesen.



  • X-itex3 schrieb:

    Nachdem ich nun die ganze Nacht dran gearbeitet hab, habe ich es nun geschafft.

    Was hast du geschafft?
    Dass dein Programm compiliert? Das hat überhaupt nichts zu sagen.
    Das Programm funktioniert nach wie vor nicht.
    Ggü. deinem ersten Versuch hat sich das Design drastisch verschlechtert.



  • Wutz schrieb:

    X-itex3 schrieb:

    Nachdem ich nun die ganze Nacht dran gearbeitet hab, habe ich es nun geschafft.

    Was hast du geschafft?
    Dass dein Programm compiliert? Das hat überhaupt nichts zu sagen.
    Das Programm funktioniert nach wie vor nicht.
    Ggü. deinem ersten Versuch hat sich das Design drastisch verschlechtert.

    Ich weiss ja nicht was du für ein Problem hast, aber das Programm tut genau das, was ich möchte:

    Ein Menü per Switch abfragen aus welchem ich dann in die gefragten Bereiche komme und dort auch alles tun kann.
    - Liste anzeigen
    - Matrikelnummer hinzufügen
    - Matrikelnummer suchen und
    - Matrikelnummer löschen

    Nur dumme Kommentare abgeben hilft an dieser Stelle nicht weiter. Keiner hat dich persönlich gebeten mir in irgendeiner Weise zu helfen.
    Anscheinend befinde ich mich hier in einem falschen Forum. Hilfsbereitschaft für Anfänger (Ich habe mein erstes Programm vor 1 1/2 Monaten programmiert) ist nämlich was anderes.



  • DirkB schrieb:

    X-itex3 schrieb:

    hier der Programmcode, damit da auch Personen etwas von haben, die im Internet genausowenig finden werden wie ich.

    Das ist nett gemeint, aber
    - Deklarationen sind sinnvoller, wenn die Parameter mit angegeben werden, damit der Compiler auch die Richtigkeit prüfen und evtl. casten kann.
    - globale Variablen sind Schrott und hier auch nicht nötig.
    - der rekursive Aufruf von main ist eine sehr, sehr schlechte Idee.
    - der Aufruf von main aus einer anderen Funktion heraus ist noch übler.

    Also Dinge, die einen (anderen) Anfänger nur auf falsche Pfade führt.

    Definiere deine Funktionen vor main, dann sparst du die Deklaration.
    Oder kopiere einach die erste Zeile der Definition und mach ein Semikolon dahinter.

    Wenn index in einer Funktiongeändert wird, dann kannst du
    - den Rückgabewert der Funktion nutzen oder
    - ein Call by Reference machen

    Wenn du da Menu mehrfach ausführen willst, dann mach eine Schleife drum herum.
    - z.B. while(1) für eine Endlosschleife (du beendest ja mit return oder exit)
    - oder ein do { } while(a!= 0) (wenn 0 für Ende steht

    X-itex3 schrieb:

    Ich kümmere mich gleich mal darum, die Warnstufe zu erhöhen.

    Das wäre der erste Schritt gewesen.

    Nunja, wir dürfen in dieses Antestaten nur machen, was wir bisher auch in Vorlesungen oder Übungsstunden durchgenommen haben. Call-by-Reference ist erst im 5. von 6 Antestaten gefragt. Wir befinden uns hier gerade im 4.

    Die Hauptsache ist, dass es erstmal funktioniert, dass ich in die Matrikelnummernliste, Nummern hinzufügen und löschen kann. Sowie nach Nummern suchen. Nun hab ich noch bis Freitag Zeit, dass ganze ein bisschen übersichtlicher zu gestalten. Dazu habe ich mir gerade aus der Bibliothel "C von A bis Z" von Jürgen Wolf ausgeliehen. Ich hoffe das ich damit das ganze besser verstehen kann.

    Ein dickes Danke an dich. 🙂

    Und damit verabschiede ich mich wieder aus dem Forum.



  • X-itex3 schrieb:

    Nunja, wir dürfen in dieses Antestaten nur machen, was wir bisher auch in Vorlesungen oder Übungsstunden durchgenommen

    haben. Call-by-Reference ist erst im 5. von 6 Antestaten gefragt. Wir befinden uns hier gerade im 4.
    "Call by Reference" wird bei scanf benutzt.
    Es geht auch ohne, indem du den Rückgabewert der Funktion benutzt.

    X-itex3 schrieb:

    "C von A bis Z" von Jürgen Wolf ausgeliehen.

    Das Buch ist die Abnutzung der Schuhe/Auto nicht wert, die du auf dem Weg zur Bibliothek gemacht hast.

    Im Übrigen hat Wutz mit seinen Aussagen Recht.



  • X-itex3 schrieb:

    Die Hauptsache ist, dass es erstmal funktioniert, dass ich in die Matrikelnummernliste, Nummern hinzufügen und löschen kann. Sowie nach Nummern suchen.

    Huh? Das ist vielleich Deine Hauptsache.

    Für mich wäre es wichtiger, dass ich den Thread nachvollziehen kann, den Du gerade komplett verstümmelt hast.

    X-itex3 schrieb:

    Und damit verabschiede ich mich wieder aus dem Forum.

    ...und bleibst mir in schlechter Erinnerung.


Anmelden zum Antworten