C++ Anfänger braucht hilfe





  • @mecnels nichts gegen dich, aber:

    Die Namen sollen aufsteigend alphabetisch sortiert sein
    Neu erfasste namen sollen an das ende der liste angefügt werden

    in diesem abschnitt sind zwei schlüsselwörter versteckt: liste und sortieren.

    hmm liste-sortieren...ahhh 💡 std::list ist ja perfekt. das ding kann über sort() sortieren, und verhält sich auch sonst wie eine liste.

    nun ist die liste aber auch nicht immer ideal, aber wozu gibts den header <algorithm>? genau, weil es da auch ein std::sort() gibt, der jeden container sortieren kann 😮

    klasse, wir kennen nun 2 möglichkeiten, werte sortiert zu speichern.

    WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
    

    man könnte aber auch einfach ofstream benutzen, damit geht das auch, nur schöner.

    CreateFile(LPCTSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
    ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
    

    ifstream ist auch hier viel schöner.

    [...] in deinem Fall am besten in ein dynamisch erzeugtes Stringarray, weil Du ja nicht wissen kannst, wieviele Schüler auf dem Massenspeicher (genauer in einer Datei) gespeichert sind[...]

    std::liststd::string wie oben schon erklärt.

    auf den anderen 10% der Rechner siehst Du Dich vergeblich nach brauchbaren Schnittstellen zur Sprachausgabe um.

    seitwann kann linux kein sound? und besides: es ist zu 99,999% abgesichert, dass er keine soundabfrage machen muss 😃



  • @Mecnels: Und für diesen Blödsinn machst du dir so viel Mühe? 🙄



  • Mecnels schrieb:

    Das ist aber nur ein Aspekt, der Deine Frage ein bisschen zu unpräzise erscheinen lässt, weil das oben skizzierte, bequeme Verfahren, nämlich nur auf 90% aller Rechner funktionieren wird. Vielleicht habt ihr aber Rechner, die unter die 10% der anderen und teilweise total anderen Rechner fallen, und dann kannst Du Dich mit fopen(), printf(), fclose(), fcloseall(), fputc(), fgetc(), feof() und noch ein paar Dutzend anderer antiquierter Funktionen herumplagen.

    ...oder er nimmt einfach C++.

    Ich frage mich natürlich auch, inwieweit bei diesem Problem DirectX auch nur erwähnt werden darf?! Hilfe in alle Ehren, aber meinst du nicht, dass du mit deinem Geschreibsel einen Anfänger absolut in die falsche Richtung lenkst statt ihm wirklich zu helfen?

    Sortieralgorithmen lernt man eigentlich erst auf der Hochschule

    ?? Wann war das denn bitte ??



  • Oje, vor Euch ist man ja nirgends sicher.
    Da bemüht man sich, einem Anfänger Fragen so gut man eben erklären kann und so kompakt wie möglich etwas zu erklären (wozu keiner von Euch vorher bereit war)und dann seid Ihr schon wieder da, und wisst alles besser, nur damit Ihr mich ärgern könnt.

    An den Thread-Starter:
    Die Frage sieht zwar aus, wie EINE einzige Frage, aber es sind in Wirklichkeit ein gutes Dutzend Fragen, die Du stellst, weil ich (und auch sonst niemand) hier wissen kann, wie weit fortgeschritten Deine Kenntnisse in C/C++ sind.
    Jedenfalls CreateFile()_ReadFile()_WriteFile()_SetFilePointer() sind garantiert mächtiger als ihre Stream-Kollegen ofstream & Co.
    (Aber die Herren Ärgerer wissen das ja selber genau so gut wie ich)


  • Mod

    Mecnels schrieb:

    Man kann mit der Funktion

    WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
    

    ganz einfach Daten in einem beliebigen Format auf einen beliebigen Massenspeicher schreiben.

    etc. etc. etc.

    Bis morgen, denk aber auch selber ein bisschen nach, das ist auf lange Sicht besser für Dich!

    wow 😮 😮 😮 😮 😮 änder doch deine signatur mal auf troll oder so....

    @IceMan: Hör auf otze.

    M.1946 schrieb:

    Jedenfalls CreateFile()_ReadFile()_WriteFile()_SetFilePointer() sind garantiert mächtiger als ihre Stream-Kollegen ofstream & Co.

    Ja und? am besten noch mit FILE_FLAG_NO_BUFFERING und FILE_FLAG_OVERLAPPED? :p

    M.1946 schrieb:

    Da bemüht man sich, einem Anfänger Fragen so gut man eben erklären kann und so kompakt wie möglich etwas zu erklären (wozu keiner von Euch vorher bereit war)und dann seid Ihr schon wieder da, und wisst alles besser, nur damit Ihr mich ärgern könnt.

    Du schmeisst den thread-ersteller ins wasser (es ist ein sumpf !) und erwartest, dass er schwimmt. frag ihn doch mal, wieviel er von deiner antwort tatsächlich verstanden hat.



  • otze schrieb:

    weil es da auch ein std::sort() gibt, der jeden container sortieren kann 😮

    aber sort(list.begin(), list.end()) tut nicht tun wollen

    :p



  • Mecnels, solche Spielchen kannst du gerne im WinAPI Forum abziehen, aber nicht hier. Lies noch mal die Beschreibung des C++ Unterforums.

    Fragen zu bestimmen Funktionen und Abläufen in C++ (nach dem ISO-Standard) ...



  • Shade Of Mine schrieb:

    otze schrieb:

    weil es da auch ein std::sort() gibt, der jeden container sortieren kann 😮

    aber sort(list.begin(), list.end()) tut nicht tun wollen

    :p

    wird wohl der grund sein, wieso die liste ne eigne sort methode hat 😉

    Jedenfalls CreateFile()_ReadFile()_WriteFile()_SetFilePointer() sind garantiert mächtiger als ihre Stream-Kollegen ofstream & Co.
    (Aber die Herren Ärgerer wissen das ja selber genau so gut wie ich)

    erstmal muss man sagen, das formated output und unformated output 2 verschiedene paar schuhe sind, aber von dem öffnen der datei ansich hast du recht. natürlich kann man nicht alldas machen, was mit deinen funktionen geht, die frage ist aber auch, wieoft man eine datei> size_t(-1)Bytes hat. oder wieoft man man eine datei nicht mit exklusivrechten öffnen will. normalerweise braucht man solche dinge garnicht.



  • also hab jetzt nur noch flogendes problem und zwar er fragt ja nach der Schulklasse und falls (also if schleife) die schulklasse schon existiert wie schreib ich das in die schleife?????? 🤡



  • Der ist wirklich gut 😃 😃 😃

    (also if schleife)

    IceMan2oo5 schrieb:

    (also if schleife)


Anmelden zum Antworten