Wczytywanie danych obiektu

0

Witam,

stawiam swoje pierwsze kroki w programowaniu obiektowym stworzyłem sobie plik z nagłówkami klasy i plik z metodami, dodałem wszystko do projektu w codeblocksie, tworze dwa obiekty, wszystko ok na pierwszy rzut oka, wczytuje nazwę,kolor i prędkość ,wypisuje wszystko, potem chcę wczytać dane drugiego obiektu i zamiast wczytywać nazwę, przeskakuje mi od razu do koloru, w czym problem?

#include <iostream>

using namespace std;

class samochod
{
    public:

    string nazwa;
    string kolor;
    string predkosc;

    void wczytaj();
    void wypisz();

};

dodanie znacznika <code class="cpp"> - @furious programming

2

We wczytywaniu danych.

http://ideone.com/zhS1NG

#include <iostream>
#include <string>
#include <vector>
#include <functional>
using namespace std;


struct Foo{
	string these, are, some, naughty, fields;
};

int main() {
	Foo foo;
	vector<reference_wrapper<string>> v = {
		foo.these, foo.are, foo.some, foo.naughty, foo.fields
	};
	for(auto &e : v)
		getline(cin, e.get());
		
	cout << foo.these << foo.are << foo.some << foo.naughty << foo.fields << endl;
	return 0;
}
0

Dzięki za trafną i konkretną uwagę!

1

Chcesz poełnej odpowiedzi to:

  1. podaj dane wejściowe (otocz je znacznikami <code></code>) - to co wpisujesz z klawiatury
  2. podaj kod który wykonuje wczytywanie, a nie samą nawę twojej funkcji. Jeśli cały kod mieści się w 150 liniach spokojnie możesz tu wkleić całość (użyj znaczników <cpp></cpp>)
0
#include <iostream>
#include "obiekt.h"

using namespace std;

void samochod::wypisz()
{
    cout<<"nazwa samochodu:"<<nazwa<<endl;
    cout<<"kolor samochodu:"<<kolor<<endl;
    cout<<"predkosc maksymalna samochodu:"<<predkosc<<endl;
}

void samochod::wczytaj()
{
    cout<<"Podaj nazwe samochodu:"<<endl;
    getline(cin,nazwa);
    cout<<"Podaj kolor samochodu:"<<endl;
    cin>>kolor;
    cout<<"Podaj predkosc maksymalna samochodu:"<<endl;
    cin>>predkosc;
  
}
#include <iostream>
#include "obiekt.h"

using namespace std;

int main()
{
   samochod pierwszy;
   pierwszy.wczytaj();
   cout<<"\n"<<endl;
   pierwszy.wypisz();

 
   samochod drugi;
   drugi.wczytaj();
   cout<<"\n"<<endl;
   drugi.wypisz();
}

to wszystko, no nie wiem z czym mam problem, dopiero zaczynam to robić i nie mam pojęcia dlaczego to w taki dziwny sposób działa, dlatego zwracam się do Was

dodanie znaczników <code class="cpp"> - @furious programming

0

jezeli nie wiesz z czym masz problem to najpierw znajdz problem wtedy pomozemy.

0

ok, problemem były białe znaki, dzięki za pomoc

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