Unverständliche Frage, die irgendwas mit ncurses zu tun hat (war: Nekropost aus gotoxy gpp, courses)



  • Der Thread ist älter aber um genau dieses Thema geht es mir. Ich habe auf meinem System curses.h installiert und bereits erste Sachen entdecken können. In der man Page wird dieses Beispiel gegeben:

    #include <ncurses.h>			/* ncurses.h includes stdio.h */  
    #include <string.h> 
    
    int main()
    {
     char mesg[]="Just a string";		/* message to be appeared on the screen */
     int row,col;				/* to store the number of rows and *
    					 * the number of colums of the screen */
     initscr();				/* start the curses mode */
     getmaxyx(stdscr,row,col);		/* get the number of rows and columns */
     mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
                                    	/* print the message at the center of the screen */
     mvprintw(row-2,0,"This screen has %d rows and %d columns\n",row,col);
     printw("Try resizing your window(if possible) and then run this program again");
     refresh();
     getch();
     endwin();
    
     return 0;
    }
    

    Das läuft aber ist nicht was ich möchte. Derzeit habe ich folgenden Output:

    cout << endl; 
    print << endl; 
    cout << "Binäre Muster {0,1}"  << "                        Bipolare Muster {-1,1}" << endl ;
    print << "Binäre Muster {0,1}"  << "                        Bipolare Muster {-1,1}" << endl ;
    for( ik=0; ik<MAX_MUSTER; ik++ ) {
       for(il=0; il<ADSIZE; il++ ) {cout << setw(2) << muster_bin[ik][il] << setw(2); print << setw(2) << muster_bin[ik][il] << setw(2);} 
       cout << "               "; 
       print << "               "; 
       for(il=0; il<ADSIZE; il++ ) {cout << setw(2) << muster_bip[ik][il] << setw(2); print << setw(2) << muster_bip[ik][il] << setw(2);}
       cout << endl; 
       print << endl; 
    }
    

    Würde mir bitte jemand zeigen, wie ich das mit curses mache, dass auf die linke Hälfte des screen die eine Ausgabe und auf dem rechten die andere ist? Mit mvprintw muss das doch irgendwie möglich sein?

    Danke und Gruß


  • Mod

    Deine Frage hat absolut nichts mit dem Inhalt des alten Threads zu tun. Warum lässt du dann jeden Leser zuerst 12 Jahre alte Beiträge lesen, bevor deine Frage kommt? Weil es irgendwie grob um das selbe Thema geht? Das ist äußerst unhöflich.

    Ich habe das mal abgetrennt.

    Deine Frage ist schlecht gestellt und kaum zu beantworten. Mittlerweile solltest du doch mal mitbekommen haben, wie man Fragen richtig stellt.



  • Hi

    eigentlich war die alte Frage ganz präzise das was ich suche aber okay.

    Meine Frage ist ebenfalls sehr präzise. Jetzt mal ehrlich, es muss doch mit einer so "mächtigen" Programmiersprache wie C++ möglich sein Matrizen an bestimmmten Koordinaten ausgeben zu lassen, sowie in ein file schreiben zu lassen.

    Nach Recherche fand ich heraus, dass curses.h das kann, ich steig da nur noch nicht durch und das ist meine Frage, deutliche Frage...

    Gruß
    cpp_Jungspund



  • Sorry, ich verstehe deine Frage genauso wenig wie SeppJ. Du wirst dir mehr Mühe geben müssen, wenn du Hilfe möchtest.

    Was genau hast du schon, was genau möchtest du und was funktioniert nicht?

    http://www.catb.org/esr/faqs/smart-questions.html#usefora



  • Ich habe die Auflösung meines Bildschirms. Dann habe ich eine Koordinate (x,y) und an dieser soll eine Matrix ausgegeben werden. Was ist daran so unverständlich?



  • cpp_Jungspund schrieb:

    Ich habe die Auflösung meines Bildschirms. Dann habe ich eine Koordinate (x,y) und an dieser soll eine Matrix ausgegeben werden.

    OK, das ist eine Frage.

    Was ist daran so unverständlich?

    Hier nochmal deine ursprüngliche "Frage":

    Würde mir bitte jemand zeigen, wie ich das mit curses mache, dass auf die linke Hälfte des screen die eine Ausgabe und auf dem rechten die andere ist? Mit mvprintw muss das doch irgendwie möglich sein?

    Siehst du das Problem?

    Zu deiner Frage: Keine Ahnung ob curses irgendwas passendes für Arrays, Matrizen oä. hat, aber du kannst deine Matrizen zeilenweise zusammensetzen und dann mit printw ausgeben ( mvprintw nicht vergessen).

    Wenn du damit Schwierigkeiten hast, dann komm nochmal, beschreib deinen Lösungsansatz, beschreib dein Problem und zeig deinen Code. (Bitte vorher vernünftig formatieren.)



  • nman schrieb:

    Siehst du das Problem?

    Das hast du aus dem Kontext gerissen. Ich habe ja ein Beispiel gepostet und genau das will ich mit curses machen.



  • Du hast als Frage ein nicht funktionierendes Beispiel gepostet, dem nicht zu entnehmen war was du eigentlich machen möchtest. Siehst du hier das Problem?

    Wie gesagt: Versuch es mal mit printw und mvprintw . Das Lesen der Doku dazu wird dir niemand ersparen können.


Anmelden zum Antworten