PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage, seltsame C++ Schreibweise



Whit3z
29.02.2008, 21:43
Hallo Leute,

Ich fang jetzt nochma an mit C++.
Ich habe seit Jahren das Buch
"C++ Objektorientiertes Programmieren von Anfang an"
Klick (http://www.amazon.de/C%2B%2B-Objektorientiertes-Programmieren-von-Anfang/dp/3499600773/ref=sr_1_1?ie=UTF8&s=books&qid=1204320970&sr=8-1)

Das finde ich eigentlich sehr gut. Naja eigentlich habe ich noch nie ein anderes benutzt, aber egal.
Da steht ja auch dass sich das Buch an den ISO Standard oder so hält.


Jetzt mache ich aber einen Wochenend Crash Kurs mit dem E-Book
"C++ Wochenend Crashkurs"

Und da ist eine sehr seltsame Schreibweise, im Vergleich zu meinem anderen Buch.
Schaut euch mal folgenden Source aus dem Buch an:




//
// Programm konvertiert Temperaturen von Grad Celsius
// nach Grad Fahrenheit
// Fahrenheit = Celsius * (212 – 32)/100 + 32
//
#include <stdio.h>
#include <iostream.h>
int main(int nNumberofArgs, char* pszArgs[])
<
// Eingabe der Temperatur in Grad Celsius
int nCelsius;
cout << »Temperatur in Grad Celsius:«;
cin >> nCelsius;
// berechne Umrechnungsfaktor von Celsius
// nach Fahrenheit
int nFactor;
nFactor = 212 – 32;
// verwende Umrechnungsfaktor zur Konvertierung
// von Celsius in Fahrenheit
int nFahrenheit;
nFahrenheit = nFactor * nCelsius/100 + 32;
// Ausgabe des Ergebnisses
cout << »Fahrenheit Wert ist:«;
cout << nFahrenheit;
return 0;
>


So da fällt mir einiges auf,

1. Es werden keine geschweiften Klammern benutzt, ({) sondern spitze Klammern (<) zur Bildung eines Blocks
Ist das erlaubt??

2. Es fehlt using namespace std;

3. bei include, steh <iostream.h>
Wird das nicht normalerweise nur bei C eingesetzt???
Bei C++ sollte man doch <iostream> nehmen oder??

4. Bei cout werden keine Anführungszeichen benutzt, sondern andere Dinger (kA was das ist)
Ist das erlaubt??


Ich habe den Source mal so in Dev C++ kopiert und verushct zu kompielieren, aber es kamen ein Haufen Fehler, bei machen wusste ich selbst nicht was falsch ist, z.B. hier:

nFactor = 212 – 32;



So, ist das nun richtig so oder ist das totaler Mist?
Freue mich über jede Hilfe
MfG
White Window

Cout
01.03.2008, 04:17
1. Es werden keine geschweiften Klammern benutzt, ({) sondern spitze Klammern (<) zur Bildung eines Blocks
Ist das erlaubt??
4. Bei cout werden keine Anführungszeichen benutzt, sondern andere Dinger (kA was das ist)
Ist das erlaubt??


Ich kann dir dazu sagen das es bei CodeBlocks ebenfalls nicht funktioniert. Abgesehen davon hab ich noch nie solch eine Schreibweise bei Cpp gesehen, geschweige den davon gehört.
Vill hat der Autor einen speziellen Kompilierer.



2. Es fehlt using namespace std;

3. bei include, steh <iostream.h>
Wird das nicht normalerweise nur bei C eingesetzt???
Bei C++ sollte man doch <iostream> nehmen oder??


Nimmst du <iostream.h> brauchst du kein using namespace std;
Jedenfalls wird kein Fehler angezeigt.



Ich habe den Source mal so in Dev C++ kopiert und verushct zu kompielieren, aber es kamen ein Haufen Fehler, bei machen wusste ich selbst nicht was falsch ist, z.B. hier:

nFactor = 212 – 32;


Na das liegt daran, dass das kein Minus ist. Schau dir dazu mal die ASCII-Tabelle an. Der Code gibt dir den jeweiligen int Wert von Zeichen aus:


#include <iostream>

using namespace std;

int charToInt(int value){
return value;
}

int main()
{
char value[]="–||-";
cout << charToInt(value[0])<<endl;
cout << charToInt(value[3])<<endl;
return 0;
}

Whit3z
01.03.2008, 08:06
Gut vielen Dank, cout! :wink: