Zeilenlänge in einem C-Programm



  • Hallo,

    ich soll ein Programm schreiben, indem die Zeilenlänge 80 Zeichenspalten nicht überschreiten darf.
    Tabulatorzeichen können mehrere Zeichenspalten breit dargestellt werden und sollen mit berücksichtig werden.
    Also die Zeilenlänge soll für das gesamte Programm gelten.

    Und ich hab echt keine Ahnung, wie ich das anstellen soll.

    Könnt ihr mir ein paar Tipps geben? Oder vielleicht einen Ansatz?

    LG



  • Wenn nicht angegeben ist, wie groß Tabulatoren dargestellt werden, dann verwende halt keine Tabulatoren. Bei vielen Editoren kannst du einstellen, dass Tabulatoren durch eine feste Anzahl an Spaces (idealerweise 2) ersetzt werden.



  • Tabulatoren sind festgelegt, daher kann ich sie leider nicht weglassen

    ->Tabulatoren sind 8 Zeichenspalten breit



  • Tabulatoren sind Tabulatoren und haben keine feste größe man kann einen tabulator in 1,2,4,8 spaces übersetzen oder was dazwischen, man kann ihn auch komplett weg lassen, denn es ist ein tabulator, daher bin ich auch dagegen '\t' in leerzeichen zu übersetzten, denn sind 8 leerzeichzen nun 1*'\t' oder 4*'\t', keiner kann es dir sagen und das heraus zu finden erfordert cryptologisches verständnis...



  • Von den Tabulatorn abgesehen würde mich die Antwort auch mal interessieren. Ich habe auch öfters mal solche Aufgaben gelesen und hatte keine Ahnung wie ich anstellen soll die Zeichen zu begrenzen.



  • Jolka schrieb:

    Von den Tabulatorn abgesehen würde mich die Antwort auch mal interessieren. Ich habe auch öfters mal solche Aufgaben gelesen und hatte keine Ahnung wie ich anstellen soll die Zeichen zu begrenzen.

    Das ist einfach:

    Wenn nicht angegeben ist, wie groß Tabulatoren dargestellt werden, dann verwende halt keine Tabulatoren.

    🙂



  • So schwer ist das doch nicht. Du schreibst dein Programm ganz normal. Dann kopierst du den Quelltext zum Beispiel nach Notepad, da sind alle Zeichen gleich breit. Daher siehst du sofort wenn eine Zeile zu lang ist.

    Wenn du so eine Zeile hast musst du eben einen Zeilenumbruch einfügen und fertig.

    Edit: Es geht um Eingaben? scanf("%80s", stringbuffer);



  • LaLeLu1302 schrieb:

    Könnt ihr mir ein paar Tipps geben? Oder vielleicht einen Ansatz?

    LG

    Hallo,
    du kannst die Zeichen zählen, bevor sie angezeigt/geschrieben werden. Addiere die Anzahl der Zeichen des aktuellen Wortes zur der Zeile dazu, die gerade geschrieben wird. Dabei guckst du dir jedes Zeichen einzeln an und wenn es ein '\t' ist, addierst du eben die entsprechende Anzahl der Zeichen dazu. Ist die Zeilenlänge < 80, wird das Wort oder der Tabulator ausgegeben, wird die festgelegte Zeilenlänge überschritten, fängst du eine neue Zeile an.



  • nwp2 schrieb:

    Edit: Es geht um Eingaben? scanf("%80s", stringbuffer);

    Aaaaah. Das ist ja genau die selbe Geschichte wie wenn man bei einer Gleitkommazahl die Anzahal der Kommata begrenzen will. %.2f zum Beispiel. Alles klar. Naja, darauf hätte man wirklich selbst drauf kommen können.


Anmelden zum Antworten