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

Jak wypisać dane ze struktury w funkcji?

Ostatnio zmodyfikowano 2013-12-04 13:12
Autor Wiadomość
mazowiecki_dziad
Temat założony przez niniejszego użytkownika
Jak wypisać dane ze struktury w funkcji?
» 2013-12-03 20:26:57
Jak zamiast zmiennej jan.ocena_inf wyświetlić jej wartość: 5? Czy w ogóle tak się to robi?

C/C++
#include <iostream>
#include <stdlib.h>
using namespace std;

struct osoba
{
    int ocena_inf;
};

void we()
{
    osoba jan;
    jan.ocena_inf = 5;
}

void wy()
{
    cout << "Twoja ocena to: " << jan.ocena_inf << endl;
}

int main()
{
    we();
    wy();
   
    system( "pause" );
    return 0;
}

Błąd kompilacji:
In function 'void wy()':
[Error] 'jan' was not declared in this scope
P-98202
R3V0
» 2013-12-03 20:32:50
nie jest to poprawnie zrobione. nie deklaruje się zmiennej "osoby" w funkcji, gdyż widzi ją tylko dana funkcja. spróbuj wrzucić deklarację w main'a

zaraz przypomnę sobie jak się odnosiło do zmiennych w strukturach i Ci napiszę co i jak
P-98203
tookie009
» 2013-12-03 20:36:22
jan jest zdeklarowany tylko w funkcji we, w funkcji wy jan nie istnieje. Wiec albo deklarujesz jana ;) w funkcji wy lub tez globalnie albo musisz wywolac ta funckje i ona musi zwracac jana ;)

C/C++
int we();
{
    osoba jan;
    jan.ocena_inf = 5;
    return jan.ocena_inf;
   
}
  
P-98204
R3V0
» 2013-12-03 20:42:29
C/C++
struct osoby
{
    int ocena;
};

int main()
{
    using namespace std;
    osoby jan;
   
    jan.ocena = 5;
   
    cout << "Ocena: " << jan.ocena << endl;
   
    return( 0 );
}

tak mnie uczono o strukturach. Funkcje są tu zbędne. funkcje przydają się przy klasach, niekoniecznie przy strukturach. nie spotkałem się jeszcze z funkcją przypisania do struktury
P-98206
mazowiecki_dziad
Temat założony przez niniejszego użytkownika
» 2013-12-03 20:46:40
dziękuję, dodałem: return jan.ocena_inf;
i niestety doszedł nowy błąd kompilacji
In function 'void we()':
[Error] return-statement with a value, in function returning 'void' [-fpermissive].

Próbuję,zamiast wstawić wszystko w main (),  połączyć strukturę z funkcjami, bo mam takie zadanie do zrobienia:

"Dana jest lista studentów o strukturze: nazwisko, imię, kierunek studiów, ocena z
programowania. Napisz program, który:
· Wprowadzi dane,
· Wypisze dane,
· Wypisze osoby o największej średniej,
Użyj funkcji."

proszę pomoc bo utknąłem...
P-98207
R3V0
» 2013-12-03 20:50:02
void nic nie zwraca ;) zamień void na int albo odpowiednik zadeklarowanej zmiennej np. string do stringów, float do floatów
P-98209
tookie009
» 2013-12-03 20:59:59
jezeli masz zamiar samemu cos zrozumiec


Poza tym polecam powyzszy kurs od poczatku ;)
P-98210
mazowiecki_dziad
Temat założony przez niniejszego użytkownika
» 2013-12-03 21:08:39
dzięki :) funkcje trochę używałem dla tablic i zmiennych, i było ok.
Ale przy strukturach jest słabo. Nie wiem jak funkcja wypisz ma odczytać wartości z funkcji wprowadź. Ona chyba ich nie widzi, tych wartości?
Przenosiłem strukturę do globalnych i do main() i niestety wciąż to samo...Wartości są widoczne w obrębie tej funkcji.
Jakieś pomysły?
P-98214
« 1 » 2
  Strona 1 z 2 Następna strona