Problem z wynikiem programu!

0

Wstawiam tutaj 2 pliki:

#include "library.h"
#include "classTabela.h"
class BazaDanych
{
	Tabela *tabele;
	int iloscTabel;	
	string nazwa;
	int iloscKolumn;
		
	public:
	BazaDanych();

	void dodajTabele()
	{
		cout<<"Podaj nazwe nowej tabeli: "<<endl;
		cin.ignore();
		getline(cin,nazwa);
		cout<<"Podaj ilosc kolumn: "<<endl;
		cin>>iloscKolumn;

		tabele=new Tabela[iloscTabel+1];
		tabele[1]={iloscKolumn, nazwa};
		tabele[1].print();
	}

};
BazaDanych::BazaDanych()
{
	iloscTabel=0;		
}
#include "library.h"
#include "classRekord.h"

class Tabela
{
	Rekord *rekordy; 
	int kolumny;
	string nazwa;
	public:

	Tabela(){}
	
	Tabela(int X, string Y)
	{
		kolumny=X;
		nazwa=Y;
	}
	void print()
	{
		cout<<kolumny<<endl<<nazwa<<endl;
	}
	
};

Wynik programu jest nastepujacy: Podaj nazwe nowej tabeli:
Ceny
Podaj ilosc kolumn:
3
2037278019
Ceny
Moje pytanie jest takie: Czemu zamiast trojki wyswietla sie ta dziwna liczba ??

1

Może po prostu nie pisz poza zakresem tablicy. Masz tablicę o 1 elemencie czyli masz dostępny indeks 0 a Ty piszesz nie wiadomo dlaczego do indeksu 1.

0

Zapnij tam debugger i zobacz co się dzieje. Nikt tego za ciebie robić nie będzie. Tablice indeksuje się od 0.

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