Wylaczanie sie skompilowanego programu c++

oto kod:

#include 

using namespace std;

int main()

{


 int ile,i;

 cout<<"Podaj ile nazwisk chcesz podac: ";

 cin>>ile;

 string imie[ile];

 int telefon[ile];

 string nazwisko[ile];

 string ulica[ile];

 if (ile==0 || ile<0)

    cout<<"Podales 0 lub liczba mniejsza od 0- blad"<
 else

{ 


for(i=1;i<=ile;i++)

     {

     cout<<"Podaj "<>imie[i];

     cout<<"Podaj "<>nazwisko[i];

     cout<<"Podaj "<>ulica[i];

     cout<<"Podaj "<>telefon[i];


     }


 for (i=1;i<=ile;i++)

     {

     cout<
     cout<<"Telefon: "<
     cout<<"Ulica: "<
     j++;

     } 

} 


 cout<<"Nacisniecie dowolnego klawisza spowoduje zakonczenie.";

 getchar();

 return 0;


}

a po uruchomieniu go:

KLIK

EDIT

Nie wstawiaj bezpośrednio na forum tak dużych obrazków.

Obrazek zastąpiono linkiem

Sdar

To co zrobiłeś jest niedopuszczalne, ilość elementów tablicy musi być znana podczas kompilacji, chyba że tworzysz je operatorem new - ale ty tego nie zrobiłeś. Poza tym nic nie zabezpiecza przed podaniem ujemnej liczby, co również jest nielegalne w tym przykładzie. Natomiast w pętlach for zostanie przekroczony indeks tablicy.

Jedyne co mogę poradzić to lektura na temat podstaw C++.

ale wtedy już kompilator wie jaka ma być tablica, bo była wprowadzona z klawiatury

Złączono Posta : 24.11.2007 (Sob) 21:21

to ze nie moze byc ujemna to wiem, bo to dla siebie pisze, to w ktorych linijkach mam blad

To odpowiedz sobie na pytanie: najpierw kompilujesz program, czy najpierw go uruchamiasz i wprowadzasz wartość? Dynamiczne tworzenie tablicy możliwe jest za pomocą operatora new. Widać musisz się jeszcze trochę pouczyć o C++.

ok to jak go zastosowac?

Wiesz co mi się wydaje że to praca domowa (sam taką miałem tyle, że w Paszczalu, chyba że to czysty przypadek :P). Bez obrazy, ale patrząc na ten kod wnioskuję, że nie wiesz wiele o C++. Cóż z tego, że dam gotowca, skoro nikt na tym nie zyska? No ale masz:

#include 

#include //chcesz używać klasy string - musisz załączyć jej plik nagłówkowy


using namespace std;


int main()

{

	int ile = 0;

	cout << "Podaj ile nazwisk chcesz podac: ";

	cin >> ile;

	cin.ignore(); // konieczne bo cin zostawia znak nowej linii w strumieniu

	if (ile <= 0) {

		cout << "Podałeś liczbę niedodatnią - bład!" << endl;

		return 1;	

	}

	string* imie = new string[ile];

	string* telefon = new string[ile];

	string* nazwisko = new string[ile];

	string* ulica = new string[ile];


	for(int i=0; i < ile; i++) //tablice indeksowane są od 0 do rozmiar-1

	{

		cout << "Podaj " << i+1 << " imie: ";

		getline(cin, imie[i]); //cin wczytuje do pierwszego białego znaku, wspianie spacji spowodowałoby błędy

		cout << "Podaj " << i+1 << " nazwisko: ";

		getline(cin, nazwisko[i]);

		cout << "Podaj " << i+1 << " ulice: ";

		getline(cin, ulica[i]);

		cout << "Podaj " << i+1 << " telefon: ";

		getline(cin, telefon[i]);


	}


	for(int i=0; i < ile; i++)

	{

		cout << i+1 << ". " << imie[i] << " " << nazwisko[i] << endl;

		cout << " Telefon: " << telefon[i] << endl;

		cout << " Ulica: " << ulica[i] << endl;

	}

}

PS. Tak w ogóle to program byłby dobrym przykładem za zastosowanie własnej klasy, ale podejrzewam, że byłoby to dla ciebie niezrozumiałe.

Paker Na forum obowiązuje używanie polskiej pisowni (włączając w to

znaki typu ą, ś, ć, ł, ó itd). Zastosuj się proszę do tej zasady i

popraw błędy. W przeciwnym wypadku temat może zostać usunięty.