hilfe bei ausgabe eines lauflichtes....



  • hallo!

    ich habe ein problem und soll eine art lauflicht programmieren, die daten sollen aus einem array oder struct kommen ( ausgabe von rechts nach links ), es sollen nur ' 0 ' nullen oder das 'Oh' sein.
    so soll es in etwa aussehen:

    0 0 0 0 0 0 0 0 0 0

    wenn man sie versetzt(etwa in 6 zeilen) und in einer linie ausgibt sieht es so aus wie ein lauflicht!

    mein problem ist dies in eine schleife zu packen die auf tastendruck 'RETURN' das programm beendet, wobei der kurser am ende rechts der letzten 0 steht!

    0 0 0 0 0 0 0 0 0 0 [KURSER]

    das ganze sollte einen kleinen algorithmus folgen.
    freue mich über jede hilfe!



  • Mit ANSI-C (Standard) wird das wohl kaum möglich sein.

    Welches Betriebssystem benutzt du?
    Bei Windows, empfehle ich dir die Konsolen-FAQ. Da steht alles drin was du brauchst (Improved Console bzw. conio.h).
    Bei Linux gibt es soviel ich weiß die curses.h (oder wars ncurses.h 😕 ), die die entsprechenden Funktionen bereithält.

    Viel Erfolg!



  • Ich hab die selbe Aufgabe gehabt...Benutze die curses.h.Versuch es erstmal selber.Die Aufgabe ist nicht schwer...Falls du es nicht lösen kannst,kann ich dir ja helfen aber den Lerneffect hast du erst wenn du es selber schaffst. 😉



  • tja erst einmal danke für die tollen tipps 🙂 !

    ich werds dann mal erst weiter versuchen 😞 ! wegen dem lerneffekt 😉

    ach ja ich hab linux redhat und bin ganz begeistert davon!

    bis bald
    euer juergen62m1



  • ich verstehe nicht wie ich einen algorithmus mit nem array oder ner struct in das proggi bekommen soll 😞 da mir die ausgabe ja irgendwie gleich vorkommt! vielleicht hab ich auch im mom meinen kopf net so frei und brauche daher hilfe! 😡

    #include <stdio.h>
    #include <curses.h>
    
    #define TEMPO 5000000
    /************************************************************************/
    void main(void)
    {
      unsigned long int i;
    
     initscr();
     cbreak();
     noecho();
     nonl();
     intrflush(stdscr, FALSE);
     keypad(stdscr, TRUE);
     nodelay(stdscr, TRUE);
    
      do
      {
        move(8,8);
        printw("     O     O     O     O     O     O     O     O     O     O");
        refresh();
        for (i = 1; i <= TEMPO; i++);
    
        move(8,8);
        printw("    O     O     O     O     O     O     O     O     O     O ");
        refresh();
        for (i = 1; i <= TEMPO; i++);
    
        move(8,8);
        printw("   O     O     O     O     O     O     O     O     O     O  ");
        refresh();
        for (i = 1; i <= TEMPO; i++);
    
        move(8,8);
        printw("  O     O     O     O     O     O     O     O     O     O   ");
        refresh();
        for (i = 1; i <= TEMPO; i++);
    
        move(8,8);
        printw(" O     O     O     O     O     O     O     O     O     O    ");
        refresh();
        for (i = 1; i <= TEMPO; i++);
    
        move(8,8);
        printw("O     O     O     O     O     O     O     O     O     O     ");
        refresh();
        for (i = 1; i <= TEMPO; i++);
    
      }while( getch() == ERR );
      endwin();
    }
    /************************************************************************/
    


  • Ok hier die Lösung...

    #include <stdio.h>
    #include <curses.h>
    #define Delay 2000000
    int main()
    {
     initscr();
     cbreak();
     noecho();                                                         
     nonl();
     intrflush(stdscr, FALSE);
     keypad(stdscr, TRUE);
     nodelay(stdscr, TRUE);
    char buchstaben[70]="     O     O     O     O     O     O     O     O     O     O  ";
    char curspos[70]="";
    double i,j;
    do{
     for(j=10;j>4;j--){
     mvaddstr(10,j,buchstaben);
     mvaddstr(10,70,curspos);
     refresh();
    for(i=0;i<Delay;i++){
    }};
    }while( getch() == ERR );
    endwin();}
    

    Gehe den Code durch und falls Fragen aufkommen sollten,frag einfach.Solche Programme sind nichts zu dem was noch kommen wird.Arrays und Structuren sind sehr wichtig in c. 🙄



  • erstmal ein dankeschön! 👍

    werde mir die dinge nochmals vornehmen wenn ich etwas mehr zeit habe!

    c/c++ is garn nicht so einfach zu erlernen und linux auch net, da braucht man bestimmt 3 jahre intensiv lerning 😡 , aber es wird sich lohnen es zu lernen davon bin ich überzeugt. 😋

    ok bis denne und nochmals tx.

    jürgen


Anmelden zum Antworten