Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

C# Kalkulator - Historia wykonywanych operacji

#1
Exclamation  C# Kalkulator - Historia wykonywanych operacji
Witam,

zacząłem ostatnio zabawę z C# (Visual Studio). Napisałem sobie kalkulator, jednakże muszę dodać do niego jedną funkcjonalność, a mianowicie historię wykonywanych operacji. Z tym, że nie bardzo wiem jak się za to zabrać;/
Czy jest ktoś w stanie powiedzieć mi z jakich metod warto skorzystać, podać algorytm lub jakąkolwiek inną pomoc?
 System operacyjny: windows_seven Przeglądarka: firefox
#2
RE: C# Kalkulator - Historia wykonywanych operacji
Nie wiem dokładnie, co rozumiesz poprzez "każdą operację" oraz jak to w kodzie wygląda, ale samą historię możesz zrealizować za pomocą klasy stosu - Stack. Polecam tę z System.Collections.Generic, bo pozwala okna na określenie typu obiektów, które będzie przechowywać (np. Stack<string> to stos stringów).
Obiekt klasy posiada metody Push oraz Pop, które pozwalają wsadzić coś na stos, albo z niego ściągnąć. Jest też Peek do podglądu ostatniej (najświeższej) wartości na stosie.
Jeśli chodzi o sam algorytm, to możesz albo zapisywać konkretne operacje (np. +, - itd.), albo zapisywać kolejne stany po operacjach. Druga opcja ma tę zaletę, że nie trzeba kombinować, jak przeliczyć obecny stan do stanu wcześniejszego dysponując tylko informacją o wykonanej operacji.
A SQL query goes into a bar, walks up to two tables and says, "Can I join you?"

[Obrazek: 15j3phh4_1 kopia2a.jpg]
 System operacyjny: windows_seven Przeglądarka: opera
#3
RE: C# Kalkulator - Historia wykonywanych operacji
1. Nie pisałem "każdą operację", ale historię operacjiWesoły
2. OK jutro poczytam sobie o owej klasie stosu i w razie pytań/wątpliwości jeszcze się odezwę;)

Ogólnie zasada ma być taka:
Robię sobie np. działania po kolei:
- 5+4
- 7*7
- sin90
- 5!

itp itd. Po kliknięciu buttona ma mi się wyświetlać historia operacji od najświeższej do najstarszej...mogę to również ograniczyć np. do 10 ostatnich operacji.
 System operacyjny: windows_seven Przeglądarka: firefox
#4
RE: C# Kalkulator - Historia wykonywanych operacji
Najprostszym rozwiązaniem byłoby zapisywanie do pliku i późniejsze ich odczytanie - zwłaszcza gdy historia nie ma być tracona gdy zamkniesz program.
Żaden kraj nie może być dobrze rządzony, dopóki wszyscy jego obywatele nie będą pamiętać, że oni są strażnikami prawa.




 System operacyjny: linux_fedora Przeglądarka: firefox
#5
RE: C# Kalkulator - Historia wykonywanych operacji
(07.04.2011, 00:50)danon1989 napisał(a): itp itd. Po kliknięciu buttona ma mi się wyświetlać historia operacji od najświeższej do najstarszej...mogę to również ograniczyć np. do 10 ostatnich operacji.
W takim wypadku użyj listy, bo stos nie pozwala na przeglądanie całej zawartości (taka jego idea).

oskarzet -> No nie wiem, czy takim najprostszym rozwiązaniem będzie jeżdżenie po pliku tam i z powrotem. Owszem, zrzucić do pliku przed zamknięciem programu i wczytać przy otwarciu tak - jeśli program ma to wspierać.
A SQL query goes into a bar, walks up to two tables and says, "Can I join you?"

[Obrazek: 15j3phh4_1 kopia2a.jpg]
 System operacyjny: windows_seven Przeglądarka: opera
#6
RE: C# Kalkulator - Historia wykonywanych operacji
w takim wypadku co proponujecie??

Na razie wolałbym się skupić na prostocie implementacji (jak się uda to będę mógł urozmaicać lub też postarać się wdrożyć wydajniejszy sposóbWesoły).

wiesniak napisał(a):W takim wypadku użyj listy...

Jakiej listy?? Możesz podać dokładnie z jakich metod skorzystać??
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#7
RE: C# Kalkulator - Historia wykonywanych operacji
System.Collections.Generic.List<>
Poczytaj trochę o kolekcjach http://msdn.microsoft.com/en-us/library/7y3x785f.aspx
A SQL query goes into a bar, walks up to two tables and says, "Can I join you?"

[Obrazek: 15j3phh4_1 kopia2a.jpg]
 System operacyjny: windows_seven Przeglądarka: opera
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
c# kalkulator graficznykalkulator historiakalkulator i focus c#visual studio historia kalkulatora

Podobne wątki (C# Kalkulator - Historia wykonywanych operacji)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Początki z bashem - jak napisać skrypty: wysłanie maila i kalkulator? Kristov81 4 14632 21.03.2018, 18:32
Ostatni post: Szachista
  Kalkulator problem z funkcjami lub czymś takim. Pan_Gronostaj 1 6790 17.02.2015, 20:37
Ostatni post: Raciawelli
Sad Zrobi Kalkulator graficzny [java] Milus47 2 7285 12.01.2015, 18:00
Ostatni post: flowslow

Skocz do:


Wybrane wątki (C# Kalkulator - Historia wykonywanych operacji)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Toungue Wybór szkoły średniej przez potencjalnego programistę Zikinan 1 640 09.02.2020 15:58
Ostatni post: dzikuu86
  Skrypt pod sklep internetowy Talcia 4 3074 14.12.2019 19:48
Ostatni post: hexopex760
  Poszukuję pomysłu na prosty program ;) janciu96 5 9404 13.12.2019 23:32
Ostatni post: Ajgor
  Programowanie Batch (CMD) Informatyk2019 0 1853 11.12.2019 18:30
Ostatni post: Informatyk2019
  [JavaScript] Znajdowanie przedziału czasu rafal12999 0 841 10.12.2019 17:58
Ostatni post: rafal12999
  Przekazywanie wskaźnika przez referencję w Qt Trojan3000 3 9353 10.12.2019 13:16
Ostatni post: Ajgor
  Proszę o pomoc w uzupełnieniu ankiety dt. Zawodu Programisty MaleMonki 0 1308 17.11.2019 12:47
Ostatni post: MaleMonki
  Spring framework – jakie strony polecacie do nauki? olek23 5 4055 15.11.2019 15:57
Ostatni post: Alsenas
  Programowanie windy (problem) w C++ mysza2323 2 2828 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 3230 22.10.2019 17:48
Ostatni post: Szachista
  Książki do nauki C# olek23 14 11874 17.10.2019 13:06
Ostatni post: Ajgor
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 4380 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 2903 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 13734 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 5979 15.08.2019 07:41
Ostatni post: Szachista