Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

11

28.04.2011, 12:59

Logischerweise an den unsinngen Post direkt ueber mir.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

12

28.04.2011, 13:05

ja ich war etwas verwirrt weil fuxii auch unsinn geschrieben hat weil level ja direkt nach der eingabe dekrementiert wird.
wenn man einen anfänger auf einen fehler hinweist, der keiner ist, ist er erstmal verwirrt und dann passieren solche fehler. das ist kein grund ihn so anzufahren...
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Raidenkk

Treue Seele

  • »Raidenkk« ist der Autor dieses Themas

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

13

28.04.2011, 13:07

um die Verwirrung aus der Welt zu schaffen hier die Lösung ^^

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// #########################
// Charakter Stats
// #########################

#include <iostream>

using namespace std;

int levelStats (int level, int str[], float ges[]);

int main()
{
    //Variablen
    int level; //Level (1-6)
    int str[] = {3, 6, 8, 10, 12, 18}; //Stärke
    float ges[] = {2.1, 1.8, 1.5, 1.2, 1.0, 0.8}; //Geschwindigkeit

    //Level Eingabe
    do
    {
    cout << "##### Eingabe #####" << endl;
    cout << "Gib das Level an (1-6): ";
    cin >> level;
    } while (level < 1 || level > 6);

    //Level Stats ausgeben
    levelStats (level, str, ges);

    system("pause");
    return 0;
}

int levelStats (int level, int str[], float ges[])
{
    system ("cls");
    cout << "Level: " << level << endl;
    cout << "Stärke: " << str[--level] << endl;
    cout << "Geschwindigkeit: " << ges[level] << endl;

    return 0;
}

14

28.04.2011, 13:10

ist klar das level = 3 ein zuweisungsoperator ist es. Ich habe es als beispiel genutzt um zu sagen (Hey wir sind jetzt auf level 3)


level = 3 (ist das level klar)
str (level -1 das level ist jetzt auf 2 und auch noch ok)
ges (level-1 das level ist nun auf 1 und gibt den falschen wert aus)

ich denke mal das str -1 reicht


ich habs mir angewöhnt die beispiele von anderen gleich zu verwenden und auch als beispiel zu verwenden, deshalb war bei mir level auch 3.

du musst bedenken, dass str[level -1] den Wert "level" nicht verändert.

würdest du str[--level] oder str[level-=1] nehmen, würde es gehen, weil diese operatoren den Wert "level" verändern.


edit: wiso hast du die ganze zeit von level-1 gesprochen wenn du --level verwendest?

Zitat

Basically, there are only 10 types of people in the world. Those who know binary, and those who don't.

Raidenkk

Treue Seele

  • »Raidenkk« ist der Autor dieses Themas

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

15

28.04.2011, 13:16

sorry Fuxii du hast recht ich habe mich bei den Operatoren vertan :)

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

16

28.04.2011, 13:16

er hat es dir ganze zeit richtig gemacht bis du ihn gesagt hast er würde es falsch machen. -.-
anstatt ihn anzumachen könntest du dich für DEINEN fehler entschuldigen.
die richtige lösung hab ich übrigens schon im dritten post gepostet und Raiden ist, als anfänger ;), gerade dabei die operatoren zu lernen...
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

17

28.04.2011, 13:25

sagt mal spinn ich?
aber in der letzen "angeblich richtigen" version von Raidenkk

is doch noch immer ein fehler:
cout << "Stärke: " << str[--level] << endl;
cout << "Geschwindigkeit: " << ges[level] << endl;

bei einer eingabe von 6, was erlaubt ist wird ges[level] nicht funktionieren...
ges hat doch auch nur 5 einträge.

korrigiert mich, wenn ich mich irre...

lg

18

28.04.2011, 13:26

sorry Fuxii du hast recht ich habe mich bei den Operatoren vertan :)


ne, sry ich hab mich vertan, ich habe eine zeile übersehen, die recht wichtig war, dadurch hab ich dich so verwir, dass du dann auch den fehler gemacht hast, das mit den operatoren wurde dann zu einen missverständniss.
es tut mir leid

Zitat

Basically, there are only 10 types of people in the world. Those who know binary, and those who don't.

19

28.04.2011, 13:28

sagt mal spinn ich?
aber in der letzen "angeblich richtigen" version von Raidenkk

is doch noch immer ein fehler:
cout << "Stärke: " << str[--level] << endl;
cout << "Geschwindigkeit: " << ges[level] << endl;

bei einer eingabe von 6, was erlaubt ist wird ges[level] nicht funktionieren...
ges hat doch auch nur 5 einträge.

korrigiert mich, wenn ich mich irre...

lg


wenn ich mich richtig erinnere verringert --level den wert um 1 und gibt danach den wert zurück, wärend level-- den wert zurückgibt und dann um 1 verringert.

edit: einmal zuoft auf zitiren gedrückt

Zitat

Basically, there are only 10 types of people in the world. Those who know binary, and those who don't.

20

28.04.2011, 13:37

ah klar!

dummer denkfehler meinerseits... level is dann eh schon um ein reduziert.. SRY
is mir jetzt fast a bissi peinlich

lg

Werbeanzeige