C++ Daten Speichern

KingLM97

Lieutenant
🎅Rätsel-Elite ’18
Registriert
Mai 2012
Beiträge
934
Hallo,

vorab: Ich bin recht neu in C++, ich habe das seit 2 1/2 Monaten in der Schule als AG.
Ich möchte nun mehrere Variablen speichern. Jede Variable soll verschiedene Werte haben. Ich stelle mir das ungefähr so vor:
Code:
int PanzerA = Durchschlagskraft(225), SchadenProSchuss(390), SchüsseProMinute(4);
int PanzerB = Durchschlagskraft(223), SchadenProSchuss(240), SchüsseProMinute(8);

Ich hoffe mal das das etwas verständlich ist.
Nun möchte ich die Daten einzeln Abrufen. Ungefähr so:
Code:
cout << PanzerA.Durchschlagskraft << PanzerA.SchadenProSchuss << PanzerA.SchüsseProMinute;
Weiß jemand wie das Funktioniert, bzw, versteht das einer?
Lg
Lukas
 
Die Arrays kannst du dann mit dem index ausgeben.
Wenn du z.B. an erster Stelle, was die 0 ist, die Durschschlagskraft einträgst, kannste es so ausgeben:

cout << "Durchschlagskraft: " << [0] << endl;
 
Structs wären natürlich vom Konzept besser, sind aber gerade für Anfänger (die keine Arrays kennen) etwas komplizierter.
 
powerfx schrieb:
sind aber gerade für Anfänger (die keine Arrays kennen) etwas komplizierter.
Code:
cout << PanzerA.Durchschlagskraft << PanzerA.SchadenProSchuss << PanzerA.SchüsseProMinute;
Sehe ich nicht so. ;)
 
Wie wäre es, wenn du dir mal ein Buch kaufst und damit arbeitest?

Deine Motivation und Eifer in diesem Forum sind bemerkenswert - aber ich bin davon überzeugt dass du mit einem Buch wesentlich schneller Erfolge erzielen kannst, als jede Kleinigkeit nachfragen die du (noch) nicht kannst.
Dabei kannst du auch aus einem Buch direkt Fragestellungen, die dein Projekt angehen, herauslesen und spezifisch implementieren. Daraus resultierender, eventuell fehlerhafter Code kann dir verständlicher erklärt werden.
Aktuell machst du doch, seien wir ehrlich, nichts anderes als blind übernehmen was hier vorprogrammiert wird. Dabei kannst du doch sicherlich mehr!
 
Yuuri schrieb:
Sehe ich nicht so. ;)
Sieht vielleicht so ähnlich aus, aber es ist nicht der erste Thread und aus dem Inhalt der anderen gehe ich mal einfach davon aus. :)

Lieber alles der Reihe nach und nicht gleich mit Pointern anfangen.
 
Kann ich das mit den Arrays auch kürzen? Weil das werden so ca. 150 Panzer... und die Structs kenne ich schon, aber das wird (durch mein super logisches und bildliches denken Oo) auch sehr viel Code.
 
Du kannst auch ein Array von structs machen und dann hast du beide Vorteile kombiniert.

Du hast pro struct die Details für einen Panzer, kannst easy über das Array die Panzer durchzählen, Code bleibt ,kleiner' und einfach(er) erweiterbar.

// Ist dann aber auch insgesamt keine leichter Kost für nen blutigen Anfänger, mit Fleiß aber locker machbar.

edit: Ich empfehle dir aber auch mal ein Buch zu kaufen, damit du auch mal lernst, wie man sowas von vorne herein richtig aufbaut. Sicherlich ist dein Programmierstyle ziemlich ... kacke :P

Sowas in der Richtung:
http://www.amazon.de/C-für-Spieleprogrammierer-Heiko-Kalista/dp/3446421408/ref=pd_bxgy_b_text_b
http://www.amazon.de/3D-Spieleprogr...5968/ref=sr_1_3?ie=UTF8&qid=1349175636&sr=8-3
 
Zuletzt bearbeitet:
@DasBoeseLebt
Könntest du mir davon mal nen Codeschnipsel geben? Ich könnts ja mal probieren...
 
Du könntest aber auch selbst weiter überlegen und herumtesten, von nichts kommt nichts.
Es bringt dir nichts, wenn dir jemand Code gibt, du trotzdem nicht verstehst warum und wie das genutzt wird und du es nur stumpf übernimmst und beim nächsten Mal wenn etwas anderes erforderlich ist, wieder fragst.

Man lernt es halt nicht von jetzt auf gleich.
 
@DaysShadow
Ich Probiere gerade hieran rum!
Code:
struct PanzerInfo{
   int Panzer[10];
   int Panzer[] = Durschlagskraft(225), Schaden(390)...
};
 
Code:
#include "stdafx.h"
#include "stdio.h"
#include <iostream>
 
struct info{
        int Schaden;
        int Durchschlagskraft;        
        int leben;
} panzer[125];

int _tmain(int argc, _TCHAR* argv[])
{
                 for(int ind=0;ind<panzer.length;ind++){
                      panzer[ind].Schaden = 50;
                      // etc.
                 }

                 for(int ind=0;ind<panzer.length;ind++){
                      cout << "Panzer Nummer: "<< ind << "macht " << panzer[ind].Schaden << " Schaden";
                      // etc.
                 }


	return 0;
}

Ich hab jetzt hier das Array angelegt, kann man natürlich machen, muss man aber nicht. So könnte man jetzt 125 haben mit unterschiedlichen Werten und über einen Index auf das jeweilige struct (Panzer) zugreifen.
 
Structs in Verbindung mit Arrays werden im Tutorial (mit Beispiel) erklärt, das ich vorhin verlinkt habe.
 
150 Panzer mit jeweils unterschiedlichen Werten? Soll das ein Spiel werden?

ich denke 10 Panzer reichen, wenn du das System dahinter verstanden hast bezüglich Arrays, Structs oder sogar Objektorientiertem Programmieren(Klassen etc.)
 
@DasBoeseLebt
Danke. ich war davon ja Welten entfernt....
Jetzt darf ich das nur ca. 150x eintippen..

@d0zer

Es ist für ein Spiel :D. Es ist ein (noch) kleines Programm für "World of Tanks", mitdem ich verschinde Daten ausrechnen kann. Bis jetzt nur der Schaden in einer vom Anwender bestimmten Zeit.

Die ganzen Daten von den ca. 150 Panzern brauche ich, um nen Kampf zu simuliern
 
Zuletzt bearbeitet:
d0zer schrieb:
150 Panzer mit jeweils unterschiedlichen Werten? Soll das ein Spiel werden?

ich denke 10 Panzer reichen, wenn du das System dahinter verstanden hast bezüglich Arrays, Structs oder sogar Objektorientiertem Programmieren(Klassen etc.)

Wenn man es richtig macht, dann würde alles von einem Panzer abgeleitet werden. (oder von anderen Basisklassen (Fahrzeug); je nachdem).

Deshalb soll er sich ja auch nen BUCH kaufen. :evillol:
 
Sag deinem Lehrer, dass die Aufgabe stinkt. Bevor du den Code kopierst, schau ihn dir an, versteh ihn, versuch ihn nochmal von 0 auf zu programmieren.
 
Zurück
Oben