cin.getline namiesto cin // C++

Programovacie jazyky, rady, poradňa...
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

cin.getline namiesto cin // C++

Príspevok od používateľa Fata! ChaoS »

Napísal som nasledovný program, lenže háčik je v tom, že meno žiakov viem udať len jedno slovo, lebo po bielom znaku cin končí.

Kód: Vybrať všetko

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    int znamka,i;
    string ziak;
    i=0;
    vector<int> znamky;
    vector<string> ziaci;
    cout << "Zadaj mena ziakov." << endl;
    do
    {
         cin >> ziak;
         ziaci.push_back(ziak); 
         i++;      
    }while(i<5);
    i=0;
    int x;
    x=0;
    do
    {
         cout << "Zadaj 4 stvrtrocne znamky ziaka s menom " << ziaci[i] << endl;
         while(x<4){
              cin >> znamka;
              znamky.push_back(znamka);
              x++;
         }
         x=0;
         i++;
    }while(i<5);
    i=0;
    x=0;
    int y;
    y=0;
    while(i<5){
         cout << ziaci[i] << " ma nasledovne znamky ";
         while (x<4){
               cout << znamky[y] << ",";
               y++;
               x++;
         }  
         cout << endl; 
         i++;
         x=0;  
    }
    
    cin.get();
    cin.get();
return 0;
}
Tak som dal cin.getline(ziak,30);, ale tak mi už písalo chybu, ale neviem prečo. V jednodochších programoch som už tiež používal cin.getline a tam mi to v pohde fungovalo, ale tuto z nejakého dôvodu nejde. Viete mi poradiť prečo? Alebo nejaký iný spôsob na vyriešenie problému?
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

getline(cin, ziak); :idea:

(tvoje cin.getline(ziak, 30) je pre pripad ze ziak nie je typu string ale char[])
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

aha, díky za nové poznatky, k+
Napísať odpoveď