C++ Tablice i kilka pytań

0

Wybaczcie że może niepotrzebnie zakładam nowy temat ale, mam sytuacje z którą nie jestem w stanie sobie sam poradzić...

Chciałem napisać program konsolowy (korzystam z Visual Studio 2005) z wykorzystaniem tablicy. Dodam iż zaczynam dopiero swoją przygodę z programowaniem, korzystam z książki "Od podstaw Visual C++ 2005" Ivora Hortona.

Programik jest dość prosty, ale wyrzuca mi błąd którego nie rozumiem.

Oto kod tego programu:

#include <iostream>

using namespace std;

int main()
{
    char pracownik [2][1000];

    int i;
    int k;
    k = 1;
    i = 1000;

    do
    {
    cin.getline(pracownik[k],i,'\n');

    k++;    
    }while(k <=2);

system("pause");
}

Gdy odpalam program mogę wpisać dane, lecz później wyskakuje mi komunikat:

Run-Time Check Failure #2 - Stack around the variable 'pracownik' was corrupted.

Niestety moja znajomość angielskiego nie pozwala mi na zrozumienie tego komunikatu, a i google translate też nie ułatwia sprawy.

Czy znajdzie się ktoś kto mógłby mi wykazać gdzie jest błąd?

A teraz mam takie pytania do bardziej doświadczonych użytkowników:

  1. Czy Visual Studio 2005 to dobry program na początek? (Jeśli nie to na jaki zmienić)

  2. Czy z polecacie tą książkę z której ja się uczę, osobiście wydaje mi się że robię postępy :) ?

Dziękuje z góry za pomoc i pozdrawiam,

Mateusz.

2

Tablice indeksowane są od ZERA, ZAWSZE:

#include <iostream>
using namespace std;

int main()
  {
   char pracownik [2][1000]; 
   for(int k=0;k<2;++k) cin.getline(pracownik[k],1000,'\n');
   for(int k=0;k<2;++k) cout<<pracownik[k]<<endl;
   cin.get();
   return 0;
  }
0

No tak od zera! Mój błąd.

Dziękuję.

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