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

Wpisywanie do <vector> struktury zwracanej przez funkcję

Ostatnio zmodyfikowano 2014-11-25 20:12
Autor Wiadomość
Oxynium
Temat założony przez niniejszego użytkownika
Wpisywanie do <vector> struktury zwracanej przez funkcję
» 2014-11-25 20:01:06
Witam, stawiam powolutku pierwsze kroki w C++ i mam pewien problem z push_back() mianowicie utworzyłem strukturę paru zmiennych różnych typów a potem <vector> tych struktur (Wszystko przed main(), widoczne globalnie).

Teraz chcę dodać do vectora strukturę zwróconą przez funkcję do dodawania nowych pozycji w mojej bazie danych, jednak po wywołaniu funkcji profile ShowProfile() cout nic nie wyświetla tak jakby vector był pusty. Gdzie leży błąd?

C/C++
#include <iostream>
#include <vector>
#include <string>
#include <fstream>

using namespace std;

struct profile
{
    string fname;
    string lname;
    string number;
    profile()
    {
        fname = "";
        lname = "";
        number = "";
    }
};

vector < profile > Base;

profile AddProfile();
profile ShowProfile();
profile FindProfile();
profile EditProfile();



int main( void )
{
   
    cout << "[1]Dodaj kontakt" << endl << "[2]Odczytaj kontakt" << endl << "[3]Edytuj kontakt" << endl << "[4]Szukaj" << endl << "[5]Zakoncz program" << endl;
   
    int a = 0; cin >> a; //Wybór opcji
   
    switch( a )
    {
    case 1:
        Base.push_back( AddProfile() ); main(); break;
    case 2:
        profile ShowProfile(); main(); break;
    case 3:
        profile EditProfile(); main(); break;
    case 4:
        profile FindProfile(); main(); break;
    case 5:
        int Exit( void ); break;
        default:
        cout << endl << "Wybrano zla opcje" << endl;
        main();
    }
}


profile AddProfile()
{
    profile o;
    cout << endl << "Dodawanie kontaktu" << endl << "Podaj imie:"; cin >> o.fname;
    cout << "Podaj nazwisko:"; cin >> o.lname;
    cout << "Podaj numer telefonu:"; cin >> o.number; cout << endl;
    cout << "Dodano: " << o.fname << endl;
    return o;
}

profile ShowProfile()
{
    cout << endl << "Odczytywanie kontaktow" << endl;
    int i = 0;
    for( i = 0; i < Base.size(); ++i )
    {
        cout << Base[ i ].fname << endl;
    }
   
}

profile EditProfile()
{
   
}

profile FindProfile()
{
   
}

int Exit()
{ }

[/i]
P-121393
Quirinnos
» 2014-11-25 20:12:05
Radzę doczytać podstawy języka, bo błędy straszne.
P-121396
« 1 »
  Strona 1 z 1