Wert wird nicht im 2d-Array verzeichnet wieso???



  • hi, wollte mal schiffe versenken programmieren, doch wird der werd 'x' nicht in die karte eingezeichnet, wieso? hier der code:

    //---------------------------------------------------------------------------
    
    #include <conio.h>
    #include <vcl.h>
    #include <iostream>
        using namespace std;
    
    const char X = 9;
    const char Y = 10;
    char Feld[X][Y];
    
    void int_field( char Feld[X][Y] );
    void draw_field( char Feld[X][Y] );
    void draw_pos( char Feld[X][Y] );
    
    bool enter( char Feld[X][Y], int xin, int yin );
    
    int main()
    {
        int xin;
        int yin;
    
        bool spiel = true;
        do {
    
            int_field( Feld );
            spiel = enter( Feld, xin, yin );
    
            clrscr();
    
        } while(spiel);
    
    }
    
    void draw_field( char Feld[X][Y] ) {
    
        for ( int y = 0; y < 10; y++ ) {
    
             for ( int x = 0; x < 9; x++ ) {
    
                Feld[x][y] = '.';
    
            }
        }
    }
    
    void draw_pos( char Feld[X][Y] ) {
    
        cout << "\n     1   2   3   4   5   6   7   8   9 " << "\n\n ";
        for (int y = 0; y < Y; y++) {
    
            cout << ( char ) ('A' + y )  ;
            for (int x = 0; x < 9; x++ ) {
    
                cout << "   " << Feld[x][y];
    
            }
            cout << "\n\n ";
        }
    }
    
    void int_field( char Feld[X][Y] ) {
    
        draw_field( Feld );
        draw_pos( Feld );
    }
    
    bool enter( char Feld[X][Y], int xin, int yin ) {
    
        char cx, cy;
    
        gotoxy( 45, 5 );
        cout << "Enter x.Koordinate: "; cin >> xin;
        gotoxy( 45, 6 );
        cout << "Enter y.Koordinate: "; cin >> yin;
    
        xin = cx - '1';
        yin = cy - 'A';
    
        Feld[yin][xin] = 'x';
    
        return true;
    }
    


  • T0bi schrieb:

    hi, wollte mal schiffe versenken programmieren, doch wird der werd 'x' nicht in die karte eingezeichnet, wieso?

    Weil du versuchst, aus cx und cy Werte auszulesen, die du in xin und yin eingelesen hast. Warum letztere Parameter von enter sind, und warum enter bool zurückgibt, ist mir auch schleierhaft.



  • auch wenn ich das weglasse und nur die zahlen einlesen will u´m dann an pos 1/5 nen X zumachen passiert gar nix... .hmmmm


Anmelden zum Antworten