Problem z wczytywaniem z pliku(wczytuje przypadkowe liczby), struktura, funkcja

0

Czesc,
Mamy napisac program z żółwiem ktory porusza sie po tablicy a krolki wczytuje z pliku. Mam problem z tym wczytywaniem. Program wyglada tak:

typedef struct gra{		//wszystkie elementy potrzebne grze
	bool pioro_opuszczone;
	int x;
	int y;
	int kier_x;           //x=1 - odwrocony w prawo, x=-1 - odwrocony w lewo x=0 - ani w prawo ani w lewo
	int kier_y;           //analogicznie -----"------------
	int plansza[20][20];
}gra;
typedef struct polecenie{		//tych danych potrzebuje zolw aby wykonac polecenie
	int numer;		//1 -podnies pioro 2 - opusc pioro 3 - obrot do gory 4 - obrot w prawo 5 - obrot w dol 6 -obrot w lewo 7 n - przejdz n miejsc do przodu 8 - wypisz plansze na ekranie 9 - zakoncz program
	int parametr;
} Polecenie;
void inicjuj_gre(gra*naszagra);
void wypisz_gre(gra*naszagra);
Polecenie* wczytajPolecenie();
void wykonajPolecenia(Polecenie*program, struct gra*naszagra); //argumentami sa wskazniki, zeby funkcja mogła wykonac operacje na strukturze

int main()
{
	gra NaszaGra;
	inicjuj_gre(&NaszaGra);
	Polecenie*program;
	program=wczytajPolecenie();
	//cout<<(*program).numer;
	system("pause");
	
return 0;
}

/...inne funkcje.../

Polecenie* wczytajPolecenie()	//funkcja pobiera jako argument wskaznik do pustej tablicy i ma zwracac wskaznik do tablicy wypelnionej poleceniami
{
	int liczba_linii=0;
	int i;
	int j;
	ifstream osrodek;
	string lines;
	osrodek.open("polecenia.txt");
	while(getline(osrodek,lines))
		liczba_linii++;
	osrodek.seekg(0,ios::beg);
	Polecenie* program=new Polecenie[liczba_linii*sizeof(Polecenie)];
	for(int n=0;n<=liczba_linii;n++){
		osrodek>>i;
		cout<<i;
		program[n].numer=i;
		if(i==7){
			osrodek>>j;
			cout<<"j"<<j;
			program[n].parametr=j;
		}
		return program;
	}

	osrodek.close();
}

Po uruchomieniu programu na ekranie pokazuja sie jakies przypadkowe liczby, a chce zeby pokazywaly sie licZby z pliku. Jakby bylo potrzebne to umeiszczam jeszcze ten plik.

2
5
7 10
4
7 10
3
7 10
6
7 10
8
9
1
	(...)
	
	osrodek.clear();			//<---
	osrodek.seekg(0,ios::beg);
	
	(...)
	
	for(int n = 0; n < liczba_linii; n++) 
	{
		(...)
	}
0

Dzieki! Nie domyslilabym sie ze chodzi o clear. Chodzilo to że pojawil sie koniec pliku? Teraz juz wypisuje na ekranie dobrze tylko 2 ale pozostalych cyfr nie. Co jest zle?

1 użytkowników online, w tym zalogowanych: 0, gości: 1