Wczytywanie danych obiektu

Odpowiedz Nowy wątek
2015-02-19 00:46
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

edytowany 2x, ostatnio: furious programming, 2015-02-19 12:01
bez kodu to można jedynie wróżyć - twonek 2015-02-19 01:18
@twonek wywróżyłem :) - spartanPAGE 2015-02-19 01:26
@dominik123 - wstawiaj kod w znaczniki kolorujące składnię, czyli np. &lt;code=cpp&gt;&lt;/code&gt; - furious programming 2015-02-19 12:02

Pozostało 580 znaków

2015-02-19 00:52
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;
}
edytowany 2x, ostatnio: spartanPAGE, 2015-02-19 01:03
ale wymyśliłeś :D, a pointer nie wystarczy :D - gośćabc 2015-02-19 10:17
@gośćabc od dłuższego czasu chciałem gdzieś tego użyć :P W ten sposób może operować na wybranych polach niepowiązanych kolejnością występowania w strukturze danych - spartanPAGE 2015-02-19 10:29
+1 za ciekawą technikę - several 2015-02-19 10:38

Pozostało 580 znaków

2015-02-19 00:59
0

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

Zaznacz odpowiedź jako zaakceptowaną (rozwiązującą problem) :) - spartanPAGE 2015-02-19 01:03
WTF a jak ten kod ma się do zadanego pytania? Może pytanie jest i niepełne, ale za to podany kod ma się nijak do tego co jest opisane. - MarekR22 2015-02-19 10:05
@MarekR22 ukazuje poprawne wczytywanie danych w podobnym przypadku. - spartanPAGE 2015-02-19 10:26
no to przeczytaj pytanie jeszcze raz i powiedz mi gdzie widzisz podobieństwo? Ty jeszcze spoko, ale większym WTF jest dominik123, który napisał "Dzięki za trafną i konkretną uwagę!", a po przeczytaniu pytania wygląda na to, że gość sam nie wie z czym ma problem. - MarekR22 2015-02-19 10:32
@MarekR22 przeczytałem i moja diagnoza mówi, że problem leży w sposobie wczytywania, a konkretniej: w zalegających białych znakach - spartanPAGE 2015-02-19 10:36

Pozostało 580 znaków

2015-02-19 10:09
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>)

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

2015-02-19 11:35
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

edytowany 2x, ostatnio: furious programming, 2015-02-19 12:03

Pozostało 580 znaków

2015-02-19 11:36
0

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

Pozostało 580 znaków

2015-02-19 11:39
0

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

Cóż za niewdzięczność :P - spartanPAGE 2015-02-19 12:04

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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