Kalkulator - podstawowe działania

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Viperdiesel
Posty: 3
Rejestracja: 08 lut 2014 22:17
Wersja środowiska: LabVIEW 2013

Kalkulator - podstawowe działania

Post autor: Viperdiesel »

Witam,

Mam problem, przejrzałem kilka programów tego typu (jako przykładowe z tego forum oraz anglojęzycznego) oraz komentarzy związanych z moim problemem i żaden w większym stopniu mi nie pomógł.
Chciałbym stworzyć kalkulator, który umożliwia wykonywanie podstawowych działań: dodawanie, odejmowanie, dzielenie i mnożenie. Doszedłem do momentu kiedy w programie działa funkcja dodawania, jednak pozostałe działania nie funkcjonują. Program powinien mieć koniecznie taką strukturę jaką ma aktualnie (ewentualnie drobne modyfikacje). Gdzie tkwi problem? Prosiłbym o jakieś sugestie związane z możliwością poprawnego wykonania kalkulatora, ja na chwilę obecną po spędzeniu dużej ilości czasu przy zabawie w LabView, poddaję się.

Pozdrawiam.
Załączniki
kalkulator.vi
(28 KiB) Pobrany 435 razy
Awatar użytkownika
J.Sz
Posty: 34
Rejestracja: 09 sty 2014 11:31
Wersja środowiska: LabVIEW 2014
Lokalizacja: Gliwice

Re: Kalkulator - podstawowe działania

Post autor: J.Sz »

Cześć

Jeśli możesz to zapisz vi w np wersji 2012 albo wklej screena z block diagramem.
Może to Ci pomoże jeśli ma być na prawdę prosty: http://www.youtube.com/watch?v=_uXRfVTKqUY
Ja tu tylko wklejam linki ale i tak możesz kliknąć pochwal ;)
Viperdiesel
Posty: 3
Rejestracja: 08 lut 2014 22:17
Wersja środowiska: LabVIEW 2013

Kalkulator - podstawowe działania

Post autor: Viperdiesel »

W załączniku pliki wersji 12 i 11.
Niestety nie chodzi mi o tego typu kalkulator, a raczej o taki podobny do windowsowskiego. Filmy na YT również oglądałem, które dotykały tego problemu, żaden nie pomógł.
Załączniki
kalkulator_12.vi
(18.27 KiB) Pobrany 392 razy
kalkulator_11.vi
(17.06 KiB) Pobrany 377 razy
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Kalkulator - podstawowe działania

Post autor: Pitol »

Architektury nie skomentuję bo... skoro autor tak chce, to jego decyzja.

Problem z odejmowaniem (jak i każdym innym działaniem, które nie jest dodawaniem) jest w stanie 4096.
Zastanów się dlaczego zawsze uruchamia się stan 0, Default (dodawanie).

Jak z tą podpowiedzią sobie nie dasz rady to się zgłoś raz jeszcze.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Viperdiesel
Posty: 3
Rejestracja: 08 lut 2014 22:17
Wersja środowiska: LabVIEW 2013

Kalkulator - podstawowe działania

Post autor: Viperdiesel »

Doskonale wiem o tym, że jest problem w stanie 4096, i że uruchamia się tylko dodawanie, ze względu na to, że kolejny stan to domyślne 0. Jeśli wiedziałbym co dalej zrobić (co zmodyfikować) to nie pisałbym o tym na forum. Dlatego proszę o sugestie.
Awatar użytkownika
J.Sz
Posty: 34
Rejestracja: 09 sty 2014 11:31
Wersja środowiska: LabVIEW 2014
Lokalizacja: Gliwice

Re: Kalkulator - podstawowe działania

Post autor: J.Sz »

Stwierdziłem, że nigdy nie pisałem kalkulatora i klepnąłem coś na szybko.
Obejrzyj sobie załącznik może Ci się przyda.
Pisane w LV2012
Załączniki
kalkulator.vi
(30.52 KiB) Pobrany 452 razy
Ja tu tylko wklejam linki ale i tak możesz kliknąć pochwal ;)
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Kalkulator - podstawowe działania

Post autor: Pitol »

Zastanów się dlaczego zawsze uruchamia się stan 0, Default (dodawanie).
A zastanawiałeś się nad tym co napisałem?

Ok, skoro myślenie boli to wytłumaczę:
w Twoim programie dzieje się co następuje:
Jeśli naciśniesz jakąś operację ( , -, /, x) to do głównej struktury Case wędruje jakaś liczba (nie jako selektor struktury tylko tam niżej masz dodatkowe wejście, jeśli dobrze pamiętam).
Jednak ta liczba nie jest nigdzie zapisywana! Kolejna iteracja pętli głównej (co dzieje się co 200ms) powoduje, że ta informacja jest tracona.
Jakbyś tą wartość zapamiętywał w jakimś rejestrze przesuwnym i odczytywał ją w stanie 4096 to by działało.

Pozdrawiam i polecam ŻARÓWKĘ !!!!
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ