Kezdőoldal » Számítástechnika » Programozás » C# Hogyan kéne megoldani ezt?

C# Hogyan kéne megoldani ezt?

Figyelt kérdés

Készítettem egy programot, ami pár adat megadásával kiszámít egy éréket, majd kiírja egy labelbe, ezt most nevezzük eredmény label-nek. (Ez az érték nagyon sok féle lehet, attól függ mit adsz meg neki)


Szóval megszeretném azt csinálni, hogy ha lenyomok egy gombot, nevezzük ezt most összesítés gombnak, akkor azt az értéket amit kiszámított az eredmény label-be, valahogyan eltárolja, és ha új adatokat adok meg a programnak, és egy új éréket kapok az eredmény label-ben, akkor az hozzá adja, a legutóbb kiszámított, majd eltárolt érékhez, és persze ezt írja is ki. Ha pedig újra új adatokat adok meg a programnak, és újra új érték lesz az eredmény label-ben, akkor az összesítés gomb lenyomásával szint úgy hozzáadja az előző kettő értékez, majd szintén kiírja, és ez így folytatódjon.

Igazából az a bajom,hogy ha felveszem egy váltózóba az eredmény label értékét, és új adatokat adok meg a programnak, és ugye megváltozik az eredmény label értéke, akkor a változó értéke is megváltozik, és így nem tudom hozzá adni az előzőhöz.


Hogyan kéne ezt megcsinálni? Kérem segítsetek!



2018. máj. 15. 14:51
1 2
 1/16 anonim ***** válasza:

Mondjuk úgy, hogy eltárolod az eredményeket egy listában

[link]

2018. máj. 15. 15:20
Hasznos számodra ez a válasz?
 2/16 tabaki ***** válasza:
Szerintem valahová föltehetnéd a programodat, mert így nem sokat értek a problémából. Ettől független gyanúm, hogy maximum egyetlen újabb változóval meg lehetne oldani, de lehet, hogy még az se kell.
2018. máj. 15. 16:02
Hasznos számodra ez a válasz?
 3/16 A kérdező kommentje:

Jó, de hogyan tudok eltárolni egy listában úgy elemeket? Hozzáadom az eredmény label-ben kapott eredmény a listához, de utána hogyan tovább? Hogy a következő eredményt a listában egy másik elemként tárolja el? Eddig ezt csináltam, de nem tudom hogyan folytassam hogy jó legyen:

double k = double.Parse(EredmenyLabel.Text);

List<double> eredmenyek = new List<double>();

eredmenyek.Add(k)


És innentől elakadtam. Nem tudom hogy kéne folytatni, kiíratni sem tudom hogy kéne. Amikor rákattintok az összesítés gombra, akkor kéne hogy hozzáadja a listához, és összeadja a lista előző elemeivel, majd kiírja ezt egy labelbe. Igazából ez mellé még a nehezítés, hogy az egyszerúség kedvéért azt mondtam hogy a programom a megadott adatok alapján 1 eredményt számol ki, ami ugye különböző lehet. De igazából 4 eredményt számol ki. És úgy kéne megoldani, hogy az első számításkor az első eredményt ne adja öszze a többi eredménnyel, hanem a második számításkor adja össze szintén az első eredménnyel. Szóval az első számításkor tegyük fel kapunk 4 eredményt, ez legyen most a, b, c, d. a második számításkor is kapunk 4 eredményt ez legyen most a2, b2, c2, d2. És az lenne a lényeg hogy az "a"-t csak az "a2"-vel adom össze, (illetve majd még az a3-al, és az a4-el stb..) a b-t pedig csak a b1-el, a c-t pedig a c1-el, c2-vel c3-mal stb stb.. Kérlek segítsetek! Előre is köszönöm!

2018. máj. 15. 16:19
 4/16 anonim ***** válasza:
56%
Alapozni kéne, nem formozni.
2018. máj. 15. 16:27
Hasznos számodra ez a válasz?
 5/16 tabaki ***** válasza:

Nem értek a C#-hoz, a listákhoz még kevésbé, de gondolom, a lista indexelésével egyszerűen megoldható, már amennyiben egyáltalán sejtem, hogy miről van szó. Én úgy képzelem a szavaid alapján, hogy az eredmenyek lista bejegyzései valahogy így néznének ki:


eredmenyek[0] : a

eredmenyek[1] : b

eredmenyek[2] : c

eredmenyek[3] : d

eredmenyek[4] : eredmenyek[0] + a2

eredmenyek[5] : eredmenyek[1] + b2

eredmenyek[6] : eredmenyek[2] + c2

eredmenyek[7] : eredmenyek[3] + d2


Ez a szerkezet egy efféle elágazással létrehozható (a k-t kihagytam, nem egészen világos, mire kell):


if (lista.Count > 3)

      eredmenyek.Add(eredmenyek[eredmenyek.Count - 4] + double.Parse(EredmenyLabel.Text));

else

      eredmenyek.Add(double.Parse(EredmenyLabel.Text));


...de meg kell mondjam, mivel úgyis előre ismert számú eredményt akarsz tárolni, nekem kényelmesebbnek tűnik inkább valami vektor/tömb használata.

„kiíratni sem tudom, hogy kéne” <<< Ezt meg nem értem, de például egy TextBoxban.

2018. máj. 15. 19:40
Hasznos számodra ez a válasz?
 6/16 anonim ***** válasza:

Vagy ha 4 féle eredményed van, akkor előszöris létrehozol egy struktúrát, amiben eltárolod mind a 4 eredményt, pl:


public struct Results{

    int a;

    int b;

    int c;

    int d;

}


Aztán ebből készítesz egy listát:


List<Results> resultsList;


És ezután ha pl össze akarod adni az 'a' eredményeket, akkor:


int sumValue = 0;

foreach(Results res in resultsList){

    sumValue += res.a;

}


Ilyen egyszerű.

2018. máj. 15. 20:21
Hasznos számodra ez a válasz?
 7/16 anonim válasza:

Szia!

Ha jól értem a kérdésedet, akkor nem kell lista.

Felveszel 8 db változót:

szamol_a

szamol_b

szamol_c

szamol_d


ossz_a=0

ossz_b=0

ossz_c=0

ossz_d=0


Kiszámoltatod az értékeket, aztán meg így összegzel:


ossz_a=ossz_a+szamol_a

ossz_b=ossz_b+szamol_b

....


és így tovább, nem írom végig.


Ha nem ez a feladat, akkor bocsi!

2018. máj. 16. 18:35
Hasznos számodra ez a válasz?
 8/16 A kérdező kommentje:
Sajnos nem. A programom kiszámol 4db értéket, amit 4db label-be ki is ír, ez idáig rendben van. Utána vannak a bajok, mert azt szeretném, hogy amikor a program kiszámolt 4 értéket, és az ki is írta mind a 4 darab eredmény labelbe, akkor azokat az eredményeket úgy kéne eltárolni, hogy ha a programom új 4db eredményt számol ki, tehát megváltozik maga a 4db eredmény label is, akkor is ellegyen tárolva az előző eredmény. Mert ha szimplán felveszek egy változót a 4db eredmény label-re, akkor amint a programom új 4db eredményt számol ki, akkor azonnal megváltozna az eredmény label-ek tartalma, vagyis, az eredmény labelekre felvett változók is. Úgy kéne eltárolni az eredmény labelekben kapott eredményeket, hogy ha új eredményeket számol ki a program, akkor is meglegyenek az előzőleg kiszámolt eredmények, és utána lehessen velük dolgozni. Utána meg csak szimplán összeszeretném adni az addig kiszámolt összes eredményt, úgy hogy az "a"-t csak az "a1"-hez, a "b" csak a "b1"-hez, a "b2"-höz, a "c"-t csak a "c1"hez, stb stb...
2018. máj. 17. 19:33
 9/16 anonim ***** válasza:
És mit is bohóckodsz labelekkel meg formokkal, ha egy lista használata gondot okoz?
2018. máj. 17. 19:38
Hasznos számodra ez a válasz?
 10/16 anonim ***** válasza:

Illetve a lista még hagyján, de 4 változó a 4 számnak???

Struktúra? Osztály??

2018. máj. 17. 19:39
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!