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

Program kompiluje się jednak nie zwraca wartosci struktury w funkcji wyswietl().

Ostatnio zmodyfikowano 2015-11-25 23:48
Autor Wiadomość
Rudnicky
Temat założony przez niniejszego użytkownika
Program kompiluje się jednak nie zwraca wartosci struktury w funkcji wyswietl().
» 2015-11-25 23:48:13
Witam,

 Napisałem program który składa się z dwóch funkcji w oddzielnych plikach. Funkcja main, definicje funkcji oraz biblioteka w której znajduje się struktura oraz prototypy funkcji. Funkcja pobierająca działa dobrze, na końcu funkcji znajduje się "return struktura". Jednak Kiedy wywołuje funkcję wyświetlającą, nie wyświetla się nic. Czy ma ktoś może jakiś pomysł dlaczego?? Pozdrawiam.

C/C++
/* MAIN */
#include <iostream>
#include <string>
#include "biblioteka.h"
using namespace std;

int main()
{
    czlowiek lol; // deklaracja struktury czlowiek znajduje sie w pliku "biblioteka.h"
   
    pobierz( lol );
    wyswietl( lol );
   
    system( "PAUSE" );
    return 0;
}

C/C++
#ifndef BIBLIOTEKA_H_
#define BIBLIOTEKA_H_

using namespace std;

struct czlowiek {
    string name;
    string surname;
    int age;
};

czlowiek pobierz( czlowiek struktura );
void wyswietl( czlowiek struktura );

#endif

C/C++
#include <iostream>
#include "biblioteka.h"
#include <string>

using namespace std;

czlowiek pobierz( czlowiek struktura ) {
    cout << "Podaj imie: ";
    cin >> struktura.name;
    cout << "Podaj nazwisko: ";
    cin >> struktura.surname;
    cout << "Podaj wiek: ";
    cin >> struktura.age;
   
    return struktura;
}

void wyswietl( czlowiek struktura ) {
    cout << "\n\nImie = " << struktura.name << endl;
    cout << "Nazwisko = " << struktura.surname << endl;
    cout << "Wiek = " << struktura.age << endl;
}




EDIT: Zamykam temat. Wystarczyło w prototypie funkcji pobierajacej oraz jej definicji użyć argumentu z referencją " &struktura ". Wszystko działa jak trzeba.
P-140831
« 1 »
  Strona 1 z 1