Problem mit eclipse cdt

Dieses Thema im Forum "C/C++" wurde erstellt von chrisnolde, 28.01.2005.

  1. #1 chrisnolde, 28.01.2005
    chrisnolde

    chrisnolde Mitglied

    Dabei seit:
    07.06.2004
    Beiträge:
    30
    Zustimmungen:
    0
    Ich bräuchte hilfe von jemand der sich mit dem cdt plugin für eclipse auskennt.

    ich hab ein kleines c- programm geschrieben das allein wunderbar funktioniert.

    nur wenn ich es in der internen konsole von eclipse anschauen will passiert nichts...


    ich hab echt keine ahnung woran das liegen könnte.

    Code:
    #define FELD_BREITE 9
    #define FELD_HOEHE  5
    
    #define LEER     ' '
    #define SCHWARZ  'x'
    #define WEISS    'o'
    
    #define FALSE 0
    #define TRUE  1
    
    char spielFeld[FELD_BREITE][FELD_HOEHE];
    
    #include <stdio.h>
    #include <stdlib.h>
    
    /**************************/
    /* Funktionsdeklarationen */
    
    void neuesSpiel();
    void zeichneSpielfeld();
    int  setzeStein(char stein, int x);
    int  freiesFeld();
    void dumpBuffer();
    void spielzug(char c); 
    
    
    /******************************/
    /* Funktionsimplementierungen */
    
    /* 
       Initialisiere das zweidimensionale Feld spielFeld mit leeren Einträgen
    */
    void neuesSpiel() {
        int zeile;
        int spalte;
        for (zeile = 0; zeile <= FELD_HOEHE-1 ; zeile++)
        {
            for(spalte = 0 ; spalte <= FELD_BREITE-1 ; spalte++)
            {
                spielFeld[spalte][zeile] = LEER;
            }
        }
        
    }
    
    
    /*
       Zeichne Spielfeld als ASCII-Zeichen auf den Bildschirm.
       Darstellung x entspricht einem schwarzen und o einem weissen Stein.
    */
    void zeichneSpielfeld() {
        int zeile;
        int spalte;
        int i;
        for (zeile = FELD_HOEHE-1; zeile >= 0 ; zeile--)
        {
            for( i = 0; i < FELD_BREITE;i++) printf("+-");
            printf("+\r\n");
            for(spalte = 0 ; spalte <= FELD_BREITE-1 ; spalte++)
            {
                printf("|%c",spielFeld[spalte][zeile]);            
            }
            printf("|\r\n");
        }
        for( i = 0; i < FELD_BREITE;i++) printf("+-");
        printf("+\r\n");
        for( i = 1; i <= FELD_BREITE;i++) printf(" %i",i);
        printf("\r\n");
    }
    
    /*
       Setze einen Spielstein in Spalte x.
       Durchlaufe die Spalte vom Boden des Spielfeldes her bis ein leeres Feld 
       gefunden wird und setze den entsprechenden Stein in der Spielfeldmatrix.
       Falls die Spalte des Spielfeldes voll ist oder der Index der 
       Spaltenindizierung ungültig ist wird -1 zurückgegeben, sonst die 
       y-Koordinate des gesetzen Spielsteins.
       x: [0, FELD_BREITE-1]
       y: [0, FELD_HOEHE-1]
    */
    int setzeStein(char stein, int x) {
        int zeile;
        int treffer = -2;
        zeile = 0;
        while( zeile <= FELD_HOEHE-1 && treffer == -2)
        {
            if (spielFeld[x][zeile] == LEER)
            {
                treffer = x;
                spielFeld[x][zeile] = stein;
            }
            zeile++;
        }
        if ( treffer == -2 )
        {
            printf("Spalte %i schon voll besetzt.\r\n",x+1);
        }
        return treffer+1;     
    
    } 
    
    int freiesFeld() {
        int zeile;
        int spalte;
        zeile = FELD_HOEHE-1;
        for(spalte = 0 ; spalte <= FELD_BREITE-1 ; spalte++)
        {
            if(spielFeld[spalte][zeile] == LEER)
            {
                return TRUE;
            }
        }    
        return FALSE;
    } 
    
    /*  function dumpBuffer
     *  This function reads and dumps any remaining characters on the current input
     *  line.
     */
    void dumpBuffer() {
      int ch;
      while( (ch = fgetc(stdin)) != EOF && ch != '\n' );
    }
    
    void spielzug(char c) {
    
      int zugX, zugY;   
      int spalte;
      
      do {
        spalte = -1;
        printf("Spieler %c: In welcher Spalte soll ein Stein gesetzt werden? [1:%i]\n", 
           c, FELD_BREITE);
        scanf("%i", &spalte);
        dumpBuffer();
        zugX=spalte-1;
        zugY=setzeStein(c, zugX);
      } while(zugY==-1);
      zeichneSpielfeld();
    }
    
    
    int main() {
    
       char weiter = 'j';
       char s1 = WEISS;
       char s2 = SCHWARZ;
       char s;
       int i;
       printf("Hallo es geht los!\r\n");
       while(weiter == 'j' || weiter == 'J') {
         neuesSpiel();  
         zeichneSpielfeld();
         i=0;
         s=s1;
         while(freiesFeld() == TRUE) {
           spielzug(s);
           i++;
           if(i%2==0) s=s1; else s=s2;   
         }
         printf("Neues Spiel? [J/N]\n");
         scanf("%c", &weiter);
         dumpBuffer();
       }
       printf("Ende\n");
       return 0;
    }
    
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Problem mit eclipse cdt

Die Seite wird geladen...

Problem mit eclipse cdt - Ähnliche Themen

  1. Probleme mit Eclipse

    Probleme mit Eclipse: Hi @ all! Ich habe vorgestern meinen Laptop neu aufgesetzt mit OpenSuSe 10.3 (@Kernel: 2.6.22.18-0.2) und kriege jetzt Eclipse nicht mehr zum...
  2. Eclipse Probleme unter x64

    Eclipse Probleme unter x64: Hallo Leute ich wollte mla fragen, ob vone uch auch Leute Probelme mit Eclipse 3.3 haben unter Ubuntu x64 Ich habe mir die PHP Variante von...
  3. Eclipse Geschwindigkeitsprobleme

    Eclipse Geschwindigkeitsprobleme: Hallo zusammen. Ich habe das Problem, das Eclipse sehr viel Arbeitsspeicher frisst. das sind so ca 80-90MB. Und dann bleiben dem System nicht...
  4. Eclipse-Probleme

    Eclipse-Probleme: Hallo, wenn ich innerhalb einer Sitzung Eclipse ein zweites Mal starte erscheint die angehängte Meldung. Woram liegt das? Das nervt. Ich habe...
  5. Probleme mit Eclipse CDT

    Probleme mit Eclipse CDT: Hallo Leute, ich habe unter OpenSuse10.2 Eclipse3.2 und das Plugin CDT für die C++ Entwicklung installiert. Es funktioniert soweit alles. Mein...