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

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

11

24.07.2007, 12:35

C-/C++-Quelltext

1
static_cast<float>Z


Dann hilft dir das nichts, weil A jetzt nicth float ist sondern der Befehl lediglich A als Floatvariable zurückgegebn hat. Es passiert also nichts
D.h.

C-/C++-Quelltext

1
float Y = static_cast<float>Z


Jetzt hat Y den Wert von A, der in einen Float Wert umgewandelt wird.

Viktor

Alter Hase

  • »Viktor« ist der Autor dieses Themas

Beiträge: 533

Wohnort: Ludwigshafen

Beruf: Student

  • Private Nachricht senden

12

24.07.2007, 12:49

Ja, ich glaub jetzt müsste es stimmen. Der Fehler lag ausserdem noch darin, dass PH int und nicht float war.

Aber wie das in dem Tut ausgedrückt war, ist auch irgendwie ein bischen blöd:

Zitat

Wenn also eine Typumwandlung geschehen soll, nimmst du natürlich den neuen glänzenden C++ Cast!


Whatever, ich habs jetzt folgendermassen:

C-/C++-Quelltext

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
#include <iostream>
#define c cout <<"\n"<<
using namespace std;


float PH;
char A = 'B';
const int B = 23;
float C = 0.7f;

int main (void)
{
    c "A=" <<A;
    c "B=" <<B;
    c "C=" <<C;
    
    PH= static_cast <float>(A/C);
    c "A/C =" <<PH;
    
    PH = static_cast <float>(A*1.5f);
    c "A*1.5f =" <<PH;
    
    
    PH = static_cast<int>(A*(255-A));
    c "A*(255-A) =" <<PH;
    
    cin >>PH;
    return 0;
}


Zitat von »"David_pb"«


Dir fehlen wohl noch ein paar Grundlagen! :-)

Das liegt wohl daran, dass ich erst seit nen paar Wochen dabei bin ;-)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

13

24.07.2007, 12:54

Schön, schön. Das mit dem Typ hast du ja selbst bemerkt. Noch ein Tip zum Schluss: Gewöhn dir dieses Rumcasten garnicht erst an, ein gutes Programm sollte mit so wenig wie Möglich Casts auskommen!
@D13_Dreinig

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

14

24.07.2007, 13:16

Waru egtl. nicht. Manchmal brauch ich eben einen Wert in verschiedenen Typen und da bieten sich doch casts an oder?

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

15

24.07.2007, 13:18

Jaa... nur das da oben sieht nich so aus, als ob man verschiedene Typen braucht, oder?

Es gibt nat. auch Situationen wo man z.b. den selben Wert einmal als int und einmal als short braucht oder so... da empfehle ich dann das speichern als short und bei bedarf casten zu int.

//
Dieses #define c cout <<"\n"<< find ich übrigens kriminell!!

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

16

24.07.2007, 13:33

Zitat von »"Fred"«

Waru egtl. nicht. Manchmal brauch ich eben einen Wert in verschiedenen Typen und da bieten sich doch casts an oder?


Klar gibts Situationen, aber die sollten so selten wie Möglich sein. Es gibt für viele Sitautionen in denen man mal schnell zu einem Cast greift bessere Lösungen.

Zitat von »"grek40"«


Dieses #define c cout <<"\n"<< find ich übrigens kriminell!!


Ich habs mir verkniffen! ;-)
@D13_Dreinig

Viktor

Alter Hase

  • »Viktor« ist der Autor dieses Themas

Beiträge: 533

Wohnort: Ludwigshafen

Beruf: Student

  • Private Nachricht senden

17

24.07.2007, 23:35

Das sollte nur ein Test sein. Aber dafür fand ich es ganz praktisch... löl.

--Ihr könnt mich ja jetzt einsperren ;-)

Ach übrigens, dass war nicht meine Idee. Das hab ich im Tut gelesen/gelernt :

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
#define NL cout << '\n'; 
int main(void)
{
   NL NL NL
   NL NL NL
   NL NL NL

   return 0;
}

bzw.

C-/C++-Quelltext

1
2
3
4
5
#define NL co\
ut\
<<\
'\n'\
;

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

18

25.07.2007, 07:31

Stell das Tutorial schnell zu den anderen Tutorials mit dem Titel "Bescheuertste Tutorials die diese Welt kennt"! :shock:
@D13_Dreinig

Werbeanzeige