Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 00:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Spalten addieren

Discussion on Spalten addieren within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1

 
EisKaffee"'s Avatar
 
elite*gold: 15
Join Date: Mar 2009
Posts: 909
Received Thanks: 295
Spalten addieren

hi!
Ich habe folgendes Problem in Visual Basics



wie kann ich das umsetzen?

Teamspeak + Teamviewer wär das beste, wäre schön wenn sich wer findet
EisKaffee" is offline  
Old 02/06/2013, 21:46   #2
 
Yakiyo's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 1,898
Received Thanks: 303
Einfach in einer Schleife durchlaufen lassen und in einer Variable addieren (Stichwort CINT).
Yakiyo is offline  
Old 02/07/2013, 08:02   #3
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Modulo.
MoepMeep is offline  
Old 02/07/2013, 11:22   #4
 
beefm4ker's Avatar
 
elite*gold: 0
Join Date: Dec 2009
Posts: 572
Received Thanks: 90
Quote:
Originally Posted by MoepMeep View Post
Modulo.
Du weißt schon was der Modulo Operator macht?

Zu deinem Problem:
Ich würde aus deiner bisherigen Spalteneinteilung
Artikelname|Anzahl| Einkaufspreis
die Einteilung
Artikelname|Anzahl|Gold|Silber|Bronze
machen.
Somit kannst du dann die einzelnen Elemente einfacher addieren, da jetzt nur noch in einer Spalte Gold bzw Silber bzw Bronze steht. Mit deiner Spaltenteilung müsstest du erst die einzelnen Preise rausfiltern, da in deiner Spalte Einkaufspreis ja die Preise in dem Format (G: 12 S: 13 B: 15).
Wenn du es so einteilst wie ich kannst du einfach jede Spalte addieren, indem du jedes einzelne Zeile,Spalte-Paar ansprichst und den Wert in einer Variable speicherst und dann ausgibst.
beefm4ker is offline  
Old 02/07/2013, 13:02   #5
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
Quote:
Originally Posted by beefm4ker View Post
Du weißt schon was der Modulo Operator macht?
so ungerne ich das sage aber unrecht hat MoepMeep damit nicht...

schneller wärs mit separaten spalten das stimmt schon aber so wie es jetzt ist gehts auch
tolio is offline  
Old 02/08/2013, 07:39   #6
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Seperate spalten, dafug. Ich weiß zwar nicht wie verkrüppelt ihr alle Programmiert, aber wenn ich schon so einen bullshit höre, muss es wirklich schlimm sein. Er hat dort oben doch eine Eingabemaske für die Daten, folglich sollte er das ganze schon als Objekt vorliegen haben.
MoepMeep is offline  
Thanks
1 User
Old 02/09/2013, 21:16   #7
 
Der4StoryMan's Avatar
 
elite*gold: 180
Join Date: Oct 2010
Posts: 228
Received Thanks: 136
Ja ich würde des Subitem einfach nach dem ":" spliten, dann das " " removen und den wert in zB Wert1 as Integer schreiben...

Das gleiche dann mit dem 2. Subitem...
Dann einfach addieren...
Und neu ausgeben...

Sind vllt 10 Code Zeilen...
Der4StoryMan is offline  
Old 02/11/2013, 08:05   #8
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Quote:
Originally Posted by Der4StoryMan View Post
Ja ich würde des Subitem einfach nach dem ":" spliten, dann das " " removen und den wert in zB Wert1 as Integer schreiben...

Das gleiche dann mit dem 2. Subitem...
Dann einfach addieren...
Und neu ausgeben...

Sind vllt 10 Code Zeilen...
dafug². Und damit wären wir wieder beim verkrüppeltem Programmieren.

Man nehme eine Klasse(natürlich mit entsprechenden Konstruktoren):

Code:
class Geld {
   public int bronze { get; set; }
   public int silber { get; set; }
   public int gold { get; set; }
}
Erzeuge eine Liste
Code:
List<Geld> geldListe = new List<Geld>();
und speichert alle Werte dort ab.

Zählt alles zusammen
Code:
int bronze = 0;
int silber = 0;
int gold = 0;
foreach(Geld geld in geldListe) {
   bronze += geld.bronze;
   silber += geld.silber;
   gold += geld.gold;
}
Geld gesamtGeld = new Geld(bronze, silber, gold);
Rechnet das ganze entsprechend aus

Code:
public string ausrechnen(Geld gesamtgeld) {
return "G:" + (gold + (silber/100)) + "S:" + ((silber%100) + bronze/100) + "B:" + (bronze%100);
}
Macht es noch ein wenig schöner, benennt alles sinnvoller und behebt gegebenenfalls fehler.

Es ist echt verdammt schwer halbwegs vernünftigen Code zu schreiben. :|
MoepMeep is offline  
Old 02/12/2013, 15:37   #9
 
elite*gold: 50
Join Date: Oct 2005
Posts: 29
Received Thanks: 7
Hey Leute,

ich gebe MoepMoep so ziemlich Recht. Sein Lösungsansatz ist deutlich besser als hässliches gesplitte.

Du solltest deine Daten die du anzeigst immer als Objekt halten. In deinem Fall eine Collection.

Zu MoepMoeps Lösungsvoschlag würde ich etwas ändern, aber nur wenn folgende Umstände richtig sein sollten.

Sollte die Werte Gold, Silber und Bronze einfach nur Kategorien sein um es leichter zu erkennen wie bei World of Warcraft ( oder wie im Verhältnis bei Gramm, Kilogramm und Tonnen ), dann würde ich vorschlagen diese Kategorien nur zum Anzeigen zu nutzen und in deiner Klasse eine Property erstellen die nur die kleinste Einheit speichert.

Deine Klasse könnte so aussehen:

Code:
        public class Order
	{
		//Eindeutige Bezeichner sind immer nett!
		public int Id { get; set; }
		//Artikelname
		public string Name {get; set;}
		//Anzahl
		public int Amount {get;set;}
		//Preis für ein Artikel
		public UInt32 Price { get; set; }
		//Gesampreis
		public UInt64 OverallPrice 
		{
			get { return ((UInt64)Amount) * ((UInt64)Price);}
		}
	}
zum Anzeigen rechnest du dann einfach die Anzahl von Bronze, Silber und Gold aus. Das kannst du auch schon in der Klasse machen wenn du magst, mit folgenden Gettern:

Code:
		//Berechnung auf Grundlage der Annahme, dass 1 Silber == 100 Bronze und 1 Gold == 100 Silber sind.
		public int Gold {
			get { return (int) (OverallPrice / 10000); }
		}

		public int Silver {
			get { return (int) (OverallPrice % 10000) / 100; }
		}

		public int Bronze {
			get { return (int) (OverallPrice % 100); }
		}
Je nachdem wie Oft du auf die Daten zugreift ohne sie zu Ändern macht es sicher auch sinn die Ergebnisse der Properties die berechnet werden in einer privaten Variable zu cachen. So musst du dich auch nicht darum kümmern wie du die Sachen addierst, da ich einfach davon ausgehe, dass zwischen den drei Preiswerten eine Verbindung besteht. ( Geht darum, dass wenn du zu 80 Bronze noch 30 addierst du wahrscheinlich 1 Silber und 10 Bronze haben möchtest ).

P.S.: Es handelt sich hierbei um C# Code und nicht VB.NET.
Popicker is offline  
Reply


Similar Threads Similar Threads
C++ frage Pointer Addieren
06/21/2011 - C/C++ - 17 Replies
Wie der name ja eigetlich schon sag würde ich mal gerne wissen wie pointer addiert Wen ich Google finde ich nix was mir weiter hilft Thx in Vorraus ~Mfg~
3 Day's Pass addieren sich?
05/21/2011 - WarRock - 6 Replies
Ja hallo erstmal. :awesome: wenn ich zumerstenmal 1x einen base pass aktiviere , dann habe ich ja 3 tage gold prem , kann ich dann sofort nocheinen aktivieren damit ich 6 Tage habe und immer so weiter? oder geht das nicht?
string addieren,multiplizieren,....????
11/03/2010 - General Coding - 6 Replies
string addieren,multiplizieren,....???? Hi, die Überschrift ist etwas verwirrend ich weiß, aber ich habe keine Ahnung wie ich das Formulieren soll, deßhalb konnte ich auch nicht via sufu suchen oder Google...:D Also ich sitze gerade daran einen Binomischen Formelrechner zu programmieren, da meine Klasse und ich, das Thema gerade in Mathe haben (für mich trivial) und ich meinen Mitschülern bei den Hausaufgaben etwas unter die Arme greifen möchte.:D So, das ist mein Code: #include <iostream>...
++ Addieren
10/30/2010 - General Coding - 13 Replies
Hallo wie kann ich in einer while mehr als 1 addieren ? Also wenn z.B.: int a ; in der while dann while(bla) a++
Variabeln addieren
08/08/2009 - AutoIt - 13 Replies
hai leuts hab hier ein kleines prog in arbeit. ist zwar kein bot aber es soll eine überraschung für mein grossvater werden. er liebt es ein schweizer kartenspiel names "jasse" zu spielen und dieses programm soll für ihn rechnen und schreiben. nun zu meinem problem: ich mächte auf der linken seite bei punkte eine zahl ein geben können welche es danach zur gesammtpunktzahl addiert, komishcer weise stimmen die zahlen jedoch nicht wenn ich 10 eingebe und auf den button schreiben drücke...



All times are GMT +1. The time now is 00:11.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.