JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=694318a9d34cbdb3188e9ec1fa7cbb7bMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

short-Zahl = (short)char-Zahl

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 14:12    Titel: short-Zahl = (short)char-Zahl Antworten mit Zitat

Hab folgendes Problem:

Code:

short Zahl1;
short Zahl2;
char cZahl1[5];
char cZahl2[5];

cin >> cZahl1;
cin >> cZahl2;

Zahl1 = (short)cZahl1;
Zahl2 = (short)cZahl2;

cout << "cZahl1=" << cZahl1 << " cZahl2=" << cZahl2 << "   Zahl1=" << Zahl1 << " Zahl2=" << Zahl2;


Angenommen ich gebe 4 und 7 ein, dann bekomme ich folgende Ausgabe:

cZahl1=4 cZahl2=7 Zahl1=-620 Zahl2=-628

Bei anderen Werten stimmen diese wieder bei den cZahlen, aber die short-Zahlen haben immer denselben Wert von -620 & -628.

Ihr wisst sicherlich was ich eigentlich vor habe, die Zahl im String in die short-Variable schreiben.
Naja funktioniert so jedenfalls nicht. Embarassed

Wie soll's denn sonst funktionieren? Rolling Eyes
_________________
Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 14:44    Titel: Antworten mit Zitat

Das geht so nichtm, wie dus gemacht hast. Bei einzelnen Ziffern kannst dus mit Index schreiben:
Code:

Zahl1 = (short)cZahl1[0];
Zahl2 = (short)cZahl2[0];


Bei mehrstelligen Zahlen würde ich es mit atoi() machen.
Sonst kannst dus auch so machen, dass du aus dem String die letzte Ziffer nimmst. Dann addierst du das 10-Fache der zweitletzten Ziffer, etc...
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 15:52    Titel: Antworten mit Zitat

1. bähh c-casts.
2. cin>>charZahl;
shortZahl=static_cast<short>(atoi(charZahl));
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 16:05    Titel: Antworten mit Zitat

gl_echse hat Folgendes geschrieben:
1. bähh c-casts.


Kannst du mir das begründen? Was soll an static_cast<> besser sein?
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 16:10    Titel: Antworten mit Zitat

Danke für eure Beiträge! Smile
Funktioniert prächtig.
_________________
Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 16:12    Titel: Antworten mit Zitat

1. wenn du nach c-casts in deinem quellcode suchst, wirst du bei "(" 1000ende von ergebnissen haben, wobei max. 1/20 davon casts sind;)
bei c++ ("_cast<") wirst du nur casts finden.
2. ich habe nicht gesagt, dass static_cast besser ist als ein c-cast, ich habe gesagt dass c++-casts besser sind als c-casts, und du musst mir zustimmen, dass es mehr c++-casts gibt als static_cast. zudem kann man mit c++-casts mehr machen als mit c-casts. z.b. kannst du mit const_cast "das const" bei variablen wegcasten, oder mit dynamic_cast sichere downcasts durchführen.
3. gehört es zum guten geschmack: wenn man schon rumschreit, man programmiere c++, dann soll man kein c mit soße coden;)

]edit: reicht das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 16:33    Titel: Antworten mit Zitat

> 1. wenn du nach c-casts in deinem quellcode suchst, wirst du bei "(" 1000ende von ergebnissen haben, wobei max. 1/20 davon casts sind;)

Jepp stimmt aber ich muss zugeben, dass ich noch nie nach Casts suchen musste, da ich sie möglichst vermeide.


> 2. ich habe nicht gesagt, dass static_cast besser ist als ein c-cast, ich habe gesagt dass c++-casts besser sind als c-casts, und du musst mir zustimmen, dass es mehr c++-casts gibt als static_cast.

Es gibt in C nur statische Casts, also kann ich auch nur von einer Art reden. ;)


> 3. gehört es zum guten geschmack

Was ist "guter Geschmack"? Du kannst niemandem vorschreiben, was er gut zufinden hat. :P Ich persönlich finde, dass C-Casts schöner aussehen als static_cast<blub>.

> wenn man schon rumschreit, man programmiere c++, dann soll man kein c mit soße coden;)

C-Casts und static_cast<> unterscheiden sich technisch nicht, also ist es im Endeffekt egal. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 16:45    Titel: Antworten mit Zitat

ja, aber wie gesagt, habe ich gesagt, dass c-cast "schlechter" sind als c++-casts. deine argumentation, nur die statischen casts zu vergleichen, ist völlig schwachsinnig, und wenn man ein mix aus c- und c++-casts schreibt, sollte man zum kochen wechseln Wink

zu 1.: natürlich versucht man casts zu vermeiden, aber es gibt einige stellen im code, bei denen es probleme geben kann. dann muss man beim debuggen, nach entsprechender meldung, nach dem cast suchen. mach dass dann bitte mal mit c-casts Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 21.06.2003, 16:54    Titel: Antworten mit Zitat

> deine argumentation, nur die statischen casts zu vergleichen, ist völlig schwachsinnig

Das war keine Argumentation, sondern das Thema der Diskussion. Wenn du schon debatieren möchtest, dann lerne es vorher. Wenn man das Thema nicht von den Argumenten trennen kann, sollte man erst garnicht den Mund aufmachen. :P

> wenn man ein mix aus c- und c++-casts schreibt, sollte man zum kochen wechseln

Begründung?

> zu 1.: natürlich versucht man casts zu vermeiden, aber es gibt einige stellen im code, bei denen es probleme geben kann.

Bitte ein Beispiel nennen, bei dem man um ein Cast(nicht statisch) nicht drumherum kommt.

> dann muss man beim debuggen, nach entsprechender meldung, nach dem cast suchen. mach dass dann bitte mal mit c-casts

Doppelklick auf den Fehler und du bist in der Zeile...
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 22.06.2003, 14:57    Titel: Antworten mit Zitat

bei runtimefehlern ;P
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 22.06.2003, 17:01    Titel: Antworten mit Zitat

Genau, und deswegen frage ich dich auch nach Beispielen. Du solltest es nochmal lesen, und diesmal aufmerksam. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum