Laufschrift in C



  • Hi ich soll nen Programm schreiben was ne Laufschrift auf den Bildschirm ausgibt.

    Vorgegeben ist ein Text aus 20 Zeichen, dessen Inhalt sich auf dem Bildschirm bewegen soll.

    hab mir das so überlegt die in nen Feld zu packen und dort die position der einzelnen Buchstaben zu schieben

    Also quasi

    [0]=a
    [1]=b
    [2]=c
    [3]=d

    [0]=d
    [1]=a
    [2]=b
    [3]=c

    nur scheint das ne ziemlich komplizierte Angelegenheit zu werden.
    Was wäre eurer Meinung nach die einfachste Möglichkeit das zu realisieren?



  • #include <stdio.h>
    #include <string.h>
    #include <unistd.h>
    
    char const * const foo = "Hallo Welt!";
    
    int main() {
      size_t const length = strlen(foo);
      for(;;) {
        for(size_t i = 0; i < length; ++i) {
          printf("\r%s", foo + i);
          for(size_t j = 0; j < i; ++j)
            putchar(foo[j]);
          fflush(stdout);
          usleep(500000);
        }
      }
      putchar('\n');
    }
    

    man: usleep ist aber keine ANSI C-Funktion!



  • ok mal angenommen ich habe nur die libaries

    <stdio.h>
    <stdlib.h>
    <conio.h>
    <string.h>

    zur verfügung und bin ansonsten auf ANSCI C Befehle beschränkt.
    Welche möglichkeiten bleiben mir dann noch?



  • Dann machst du einfach 3 for-Schleifen ineinander geschachtelt, um usleep(500000); zu "simulieren" so gut es geht.



  • und was genau ist
    usleep() // zeitverzögerun?

    putchar() ?



  • Ist es denn so schwer, einfach nur "usleep" und danach "putchar" bei google einzugeben und auf den ersten oder zweiten Link zu klicken?


Anmelden zum Antworten