matematykaszkolna.pl
c++ dummy: c++ Pytanie o strukturę i pole struktury z tablicą Mam strukturę struct student { string Imie; int oceny[5]={0,0,0,0,0} }; Chcę zainicjować zmienną typu student, ale nie wiem co wstawić tam gdzie napisałem x student numer17 = {"Piotrek", x }; Czy da się w ogóle tak zrobić? Czy muszę po kolei każdą ocenę wpisywać, czyli numer17.oceny[0] = 4; itd.
18 gru 23:53
a: w strukturze sie nie przypisuje wartosci... int oceny[5] zostaw bo to jest tylko opis w mainie tworzysz jakis obiekt tego typu i tam dajesz wartosci. np. student zmienna; (tak jak by bylo int zmienna, to teraz student jest typem danych) zmienna.imie = "Piotrek"; zmienna.oceny[0] = 4; zmienna.oceny[1] = ... zmienna.oceny[2]= ... itd A odp. na twoje pytanie −> zrobiles tablice 5elementowa, wiec tak musisz do kazdego miejsca przypisac
18 gru 23:57
dummy: Dzięki za podpowiedź z tą strukturą, tak jak napisałem też działa, ale dostałem warning że będzie działać tylko dla c++11 i nie wiedziałem dlaczego
19 gru 00:04
jc: dummy, uwaga kompilatora dotyczyła linii int oceny[5]={0,0,0,0,0} w definicji struktury. Jak pozostawisz: oceny[5]; będzie działać. W funkcji main() możesz napisać: student numer17 = {"Piotrek",2,5,5,3,1 }; Nie musisz nawet wymieniać wszystkich wartości.
19 gru 08:44
Dziadek Mróz: Struktura to taki przepis na placek. Masz napisane co jest potrzebne do placka, funkcje (C), metody, konstruktory i operatory (C++) to odpowiednio mieszanie, ucieranie i pieczenie. #include <iostream> #include <string> typedef struct Student { std::string Imie; int *oceny; } Student; void Student_clear(const Student &S) { delete S.oceny; } int main(int argc, char **argv) { Student student1; student1.Imie = "Piotrek"; student1.oceny = new int[5]{1, 2, 3, 4, 5}; Student_clear(student1); return 0; }
19 gru 14:47