Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]Prosty blad z klasa

Ostatnio zmodyfikowano 2012-09-10 07:32
Autor Wiadomość
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
[C++]Prosty blad z klasa
» 2012-09-05 18:17:59
Prosty, ale nie wiem jak go rozwiazac ;p Blad pokazuje sie, jako: multiple types in one declaration. Wskazuje na 21 linijke, wiec ma to pewnie cos zwiazanego z klasa.

Kod:
C/C++
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <time.h>

using namespace std;

struct Position2D
{
    int x, y;
}

class Game //KLASA GRY
{
    Position2D player;
public:
    void lol()
    {
        cout << "lol";
    }
}; //KONIEC KLASY GRY

int main()
{
    cout << "Hello world!" << endl;
    getch();
    return 0;
}
P-64411
waxx
» 2012-09-05 18:20:57
strukture tez sie konczy srednikiem
P-64412
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
» 2012-09-05 18:23:44
Sorry, juz kiedys sie o to pytalem, wiedzialem, ze kiedys juz taki problem rozwiazywalem. Dzieki, na przyszlosc bede pamietal.
P-64413
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
» 2012-09-07 22:16:38
Nastepny blad ;c
Wywala dziwne znaki, az program przestaje dzialac.
C/C++
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <time.h>

int i = 1, j = 1; //do for rysujacych

char map[ 5 ][ 5 ] {
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.'
};

using namespace std;

struct Position2D
{
    int x, y;
};

class Game //KLASA GRY
{
    Position2D player;
   
   
public:
   
    void draw_map()
    {
       
        for(; i <= 5; i++ )
        {
            for(; i <= 5; j++ )
            {
                cout << map[ i ][ j ];
            }
            cout << endl;
        }
       
    } //draw_map
   
}; //KONIEC KLASY GRY

int main()
{
    Game g;
    g.draw_map();
    getch();
    return 0;
}
P-64551
DejaVu
» 2012-09-07 22:29:21
Błąd w kodzie:
C/C++
for(; i <= 5; i++ )
{
    for(; i <= 5; j++ )
Jakbyś rozsądniej zmienne nazywał to byś nie miał takich problemów :)

PS. » Kurs STC » Kolorowanie składniKolorowanie składni języka C++ lekcja

/edit:
Tak swoją drogą to śmiem wątpić czy umiesz poprawnie pętli używać...
P-64552
cyklopek11
» 2012-09-07 22:31:16
1.) Zgubiły cię zmienne globalne... Jak masz pętle zagnieżdżona to powinny mieć zwoje lokalne zmienne licznikowe ( chyba że zmienne globalne będziesz po jednym przebiegu zerował ).

2.) W pętli wewnętrznej for wkradła się literówka
3.) Licz od zera tak jak przystało na programistę c++  :-)
C/C++
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <time.h>

//int i=1,j=1;//do for rysujacych

char map[ 5 ][ 5 ] {
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.',
    '.', '.', '.', '.', '.'
};

using namespace std;

struct Position2D
{
    int x, y;
};

class Game //KLASA GRY
{
    Position2D player;
   
   
public:
   
    void draw_map()
    {
       
        for( int i = 0; i < 5; i++ )
        {
            for( int j = 0; j < 5; j++ )
            {
                cout << map[ i ][ j ];
            }
            cout << endl;
        }
       
    } //draw_map
   
}; //KONIEC KLASY GRY

int main()
{
    Game g;
    g.draw_map();
    getch();
    return 0;
}
P-64554
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
» 2012-09-07 22:34:51
Hah, dzieki ;D To przez to, ze duplikowalem linijke za pomoca ctrl+d ;p
Zaraz poprawie na jakas lepsza nazwe, bo rzeczywiscie da sie pomylic ;p
Mozesz mi powiedziec, czemu pokazuje 5 kropek i 4 endl zamiast 5x5 kropek?
Jest tak samo na: i<5[tu pokazuje 4 kropki, wiec jest ultra bledne ;p)  i<=5   i<6



#include <iostream>
#include <conio.h>
#include <windows.h>
#include <time.h>

int i=1,j=1;//do for rysujacych

char map[5][5]{
'.','.','.','.','.',
'.','.','.','.','.',
'.','.','.','.','.',
'.','.','.','.','.',
'.','.','.','.','.'
};

using namespace std;

struct Position2D
{
    int x,y;
};

class Game//KLASA GRY
{
    Position2D player;


public:

void draw_map()
{

for(;i<=5;i++)
{
    for(;j<=5;j++)
    {
        cout<<map[i][j];
    }
    cout<<endl;
}

}//draw_map

};//KONIEC KLASY GRY

int main()
{
    Game g;
    g.draw_map();
    getch();
    return 0;
}

EDIT:
@down Powyzszy kod nie pokazuje 5x5

Dopiero teraz zorientowalem sie co bylo nie tak:(dzieki up) indeks w tablicach zaczyna sie od zera. Teraz juz rozumiem, dzieki.

Dzialajacy kod:


#include <iostream>
#include <conio.h>
#include <windows.h>
#include <time.h>


char map[5][5]{
'.','.','.','.','.',
'.','.','.','.','.',
'.','.','.','.','.',
'.','.','.','.','.',
'.','.','.','.','.'
};

using namespace std;

struct Position2D
{
    int x,y;
};

class Game//KLASA GRY
{
    Position2D player;


public:

void draw_map()
{

for(int i=0;i<5;i++)
{
    for(int j=0;j<5;j++)
    {
        cout<<map[i][j];
    }
    cout<<endl;
}

}//draw_map

};//KONIEC KLASY GRY

int main()
{
    Game g;
    g.draw_map();
    getch();
    return 0;
}
P-64555
cyklopek11
» 2012-09-07 22:36:50
Poprawiony kod przecież pokazuje 5x5 kropek. Twój kod odwołuje się do nieistniejących elementów tablicy ( tablica[5][5] nie ma komórki [5][5] )
P-64556
« 1 » 2
  Strona 1 z 2 Następna strona