SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 (edytowany) . Edytowano Luty 23, 2022 przez SOYER Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Luty 23, 2022 Udostępnij Luty 23, 2022 Krótko: tablica struktur. 1 Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Luty 23, 2022 Udostępnij Luty 23, 2022 Tak jak wczesniej podalem przyklad...w if'ach dopisujesz tylko i ndeksy i w petli for sprawdzasz kolejno kazda strukture.. 1 Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 Dobra spróbuję. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 struct sensors{ int temp, dzien, miesiac, rok; }; struct sensors [grzejnikiMin, grzejnikiMax, cwuMin, cwuMax]; // i tak 30 pozycji? jak potem odnieść się do konkretnej komórki np. cwuMin, poprzez indeks? Ale to musiałbym pamiętać w której co siedzi. Czego nie rozumiem? Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Luty 23, 2022 Udostępnij Luty 23, 2022 Nie, to nie tak. Tablice służą do przechowywania danych które można stablicować, Ty masz 30 różnych zmiennych. Dam Ci przykład - masz 10 identycznych akwariów, każde ma swój numerek, w każdym takie same rybki, mierzysz np. temperaturę i kiedy rybki były karmione: struct akwarium { int tempMin; int tempMax; time_t nakarmione; } akwaria[10]; Wtedy odwołujesz się przez indeks, np.: x=akwarium[7].tempMin; Co innego, gdy masz różne rybk i akwaria są podpisane: struct akwarium { int tempMin; int tempMax; time_t nakarmione; } welony, skalary, piranie, rekiny. Wtedy odwołujesz się normalnie, np.: x=rekiny.tempMin; Oczywiście możesz mieć kombinacje, np: struct akwarium { int tempMin; int tempMax; time_t nakarmione; } welony, skalary[2], piranie[5], rekiny. 1 Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 No to ja mam różne rybki:-) tak? Bo mam 15 czujników, ale w każdym czujniku 2 opcje, czyli ostatni przykład z Twojego ostatniego posta jest ok, si? Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 (edytowany) struct sensors{ int temp, dzien, miesiac, rok; }; struct sensors grzejniki[2], cwu[2], piec[2];// 1 komórka w tablicy to min, 2 komórka to max void saveTemp(struct sensors *wsk, int odczytTemp){ for(int i= 0; i<2; i++) { wsk[i].temp = odczytTemp; wsk[i].dzien = now.day(); wsk[i].miesiac = now.month(); wsk[i].rok = now.year(); }} //gdzieś w kodzie if(temp_grzejniki<grzejniki[0].temp){ saveTemp(&grzejniki[0].temp, temp_grzejniki); } if(temp_grzejniki>grzejniki[1].temp){ saveTemp(&grzejniki[1].temp, temp_grzejniki); } //itd. Coś takiego? EDIT: chyba trochę namieszałem z tą pętlą for Edytowano Luty 23, 2022 przez SOYER Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Luty 23, 2022 Udostępnij Luty 23, 2022 Prawie dobrze, ale "prawie" robi wielką różnicę. Tablice indeksuje się od zera a nie od jedynki. 1 Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 2 minuty temu, ethanak napisał: Prawie dobrze, ale "prawie" robi wielką różnicę. Tablice indeksuje się od zera a nie od jedynki. Poprawiłem od razu po wstawieniu.:-)) Reszta, że dobrze? Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 Nie jest dobrze, bo tak jak jest to funkcja saveTemp zawsze będzie nadpisywać i min i max... chyba Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 struct sensors{ int temp, dzien, miesiac, rok; }; struct sensors grzejniki[2], cwu[2], piec[2];// 1 komórka w tablicy to min, 2 komórka to max void saveTemp(struct sensors *wsk, int odczytTemp){ wsk->temp = odczytTemp; wsk->dzien = now.day(); wsk->miesiac = now.month(); wsk->rok = now.year(); } //gdzieś w kodzie if(temp_grzejniki<grzejniki[0].temp){ saveTemp(&grzejniki[0].temp, temp_grzejniki); } if(temp_grzejniki>grzejniki[1].temp){ saveTemp(&grzejniki[1].temp, temp_grzejniki); } //itd. Lepiej? Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Luty 23, 2022 Udostępnij Luty 23, 2022 Tyle że ja nie wiem co program ma robić (i nie chcę wiedzieć, akurat w tej chwili aż tek się nie nudzę, mam nieprzekraczalny termin uruchomienia nowej wersji softu dla firmy na 1 marca) Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Luty 23, 2022 Udostępnij Luty 23, 2022 Generalnie stworzyles trzy tablice dwu elementowe...wszystkie identyczne...jedyna zaleta ze nazwy inne i prosciej w kodzie sie poslugiwac...wada natomiast to taka ze nie mozesz wszystkiego "obrobic" na raz... 1 Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Luty 23, 2022 Autor tematu Udostępnij Luty 23, 2022 1 minutę temu, farmaceuta napisał: Generalnie stworzyles trzy tablice dwu elementowe będzie ich powiedzmy 15 2 minuty temu, farmaceuta napisał: jedyna zaleta ze nazwy inne i prosciej w kodzie sie poslugiwac no bo jak inaczej(jak nie przez nazwę) mam się odwołać w kodzie do powiedzmy czujnika cwu który jest dajmy na to 12 w kolejności, przez indeks wspólnej tablicy, ale kto będzie wiedział który czujnik na którym miejscu siedzi, jak to ugryźć? czy tak zostawić? 4 minuty temu, farmaceuta napisał: nie mozesz wszystkiego "obrobic" na raz... tak, zgoda, ale na raz obrabiam tylko przy uruchomieniu programu, potem zależnie od odczytów, pytanie czy to jeszcze upraszczać Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!