Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wprowadzanie danych za pomocą metody getline()

Ostatnio zmodyfikowano 2016-09-18 15:24
Autor Wiadomość
bati22
Temat założony przez niniejszego użytkownika
Wprowadzanie danych za pomocą metody getline()
» 2016-09-18 13:55:44
Witam!
Kod jest następujący:

C/C++
#include <iostream>
#include <string>
int main()
{
    using namespace std;
   
    struct car
    {
        char Marka[ 20 ];
        int RokBudowy;
    };
   
    cout << "Ile aut pragniesz skatalogować? ";
    int LiczbaAutDoSkatalogowania;
    cin >> LiczbaAutDoSkatalogowania;
   
    car * AutaDoSkatalogownia = new car[ LiczbaAutDoSkatalogowania ];
   
    for( int i = 0; i < LiczbaAutDoSkatalogowania; i++ )
    {
        cout << "Samochód #" << i + 1 << ": " << endl;
        cout << "Proszę podać markę: " << endl;
        cin.getline( AutaDoSkatalogownia[ i ].Marka, 20 );
        cout << "Rok produkcji: ";
        cin >> AutaDoSkatalogownia[ i ].RokBudowy;
    }
   
    for( int i = 0; i < LiczbaAutDoSkatalogowania; i++ )
    {
        cout << AutaDoSkatalogownia[ i ].RokBudowy << "\t" << AutaDoSkatalogownia[ i ].Marka << endl;
    }
   
    delete[] AutaDoSkatalogownia;
   
    return 0;
}

Po skompilowaniu niestety nie jestem w stanie podać marki egzemplarzy moich samochodów. W którym miejscu popełniłem błąd i jak mogę go naprawić?
P-151798
pekfos
» 2016-09-18 15:15:27
Wywołaj std::cin.ignore() po wczytywaniu liczby.
P-151804
bati22
Temat założony przez niniejszego użytkownika
» 2016-09-18 15:21:19
Ok, działa. Dziękuję za pomoc.
P-151805
bati22
Temat założony przez niniejszego użytkownika
» 2016-09-18 15:24:32
Już kminie o co chodzi. Równie dobrze mogę dać po wczytywaniu liczby cin.get() i wyjdzie na to samo?
P-151806
« 1 »
  Strona 1 z 1