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? #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 |
|
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 |
|
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 ;) int we(); { osoba jan; jan.ocena_inf = 5; return jan.ocena_inf; } |
|
R3V0 |
» 2013-12-03 20:42:29 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 |
|
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... |
|
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 |
|
tookie009 |
» 2013-12-03 20:59:59 |
|
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? |
|
« 1 » 2 |