[Variablen] - kurtze frage
-
Hallo.
Tut mir leider das ich gleich schon nach paar stunden den 2ten Thearth aufmache aber ich möchte es wirklich lernen und da ich gerade nicht wirklich geld für das buch habe da ich nicht arbeite möchte ich es so halbwegs lernen.
meine frage:
Habe nun die Variablen gelernt
- int meineZahl; habe so verstanden das [meineZahl] der name der (variable) dan ist
- float meine Kommazahl;(variable für komma zahlen wie 1,08)
- double meineLangKommaZahl;(variable für mehr stellen hinter dem komma 1,99879)
- char meinZeichen;(eine variable von endweder zahlen von -128 bis 127 oder für ein "Buchstaben"
- unsigned char meinZeichen2;(fals ich die -128 ins positive machen möchten sodas 0 - 255 zeichen gesetzt werden dürfen muss ich einfach hinter dem "char" ein "unsigned" hinschreiben.
- bool meinJaNein (eine variable wo endweder ein ja oder nein endsteht, kann als schalter verwendet werden)so nun wie kann ich daraus z.b etwas machen? wenn ich jetzt z.b ein "pointer" habe wie kann ich dan dort die "Variablen" hinein machen , oder wie soll ich die nummer dort oben einstellen sodas etwas daraus entsteht?
Hoffe wider auf eine schöne antwort die sogar "dummis" verstehen

-
Nacho schrieb:
Tut mir leider das ich gleich schon nach paar stunden den 2ten Thearth aufmache aber ich möchte es wirklich lernen und da ich gerade nicht wirklich geld für das buch habe da ich nicht arbeite möchte ich es so halbwegs lernen.
Es gibt auch kostenlose Bücher. Beispiel! Außerdem gibt es durchaus vernünftige Tutorials, mit denen man einiges lernen kann. Du musst dir halt irgendeine Art von Lehrmittel besorgen. Ohne wird's nicht klappen. Such dir irgendwas aus und arbeite es von vorne bis hinten durch.

-
Nacho schrieb:
ich möchte es wirklich lernen und da ich gerade nicht wirklich geld für das buch habe da ich nicht arbeite möchte ich es so halbwegs lernen.
Es gibt auch gratis-Tutorials und sogar ein gratis-Buch zum runterladen. Soll auch ein wikibook geben, weiß aber ncith wie gut das ist...
- int meineZahl; habe so verstanden das [meineZahl] der name der (variable) dan ist
- float meine Kommazahl;(variable für komma zahlen wie 1,08)
- double meineLangKommaZahl;(variable für mehr stellen hinter dem komma 1,99879)
- char meinZeichen;(eine variable von endweder zahlen von -128 bis 127 oder für ein "Buchstaben"
- unsigned char meinZeichen2;(fals ich die -128 ins positive machen möchten sodas 0 - 255 zeichen gesetzt werden dürfen muss ich einfach hinter dem "char" ein "unsigned" hinschreiben.
- bool meinJaNein (eine variable wo endweder ein ja oder nein endsteht, kann als schalter verwendet werden)jup, passt in etwa.
so nun wie kann ich daraus z.b etwas machen? wenn ich jetzt z.b ein "pointer" habe wie kann ich dan dort die "Variablen" hinein machen , oder wie soll ich die nummer dort oben einstellen sodas etwas daraus entsteht?
Du hast erstmal keine Pointer. Lerne mit den Variablen erstmal zu arbeiten (rechnen, Eingabe, Ausgabe usw.), die Pointer kommen einiges später. Wie dir im anderen Thread schon gesagt wurde geht das nicht von jetzt auf gleich, plane einige Wochen ein, bis du die Grundlagen drauf hast.
-
_matze schrieb:
Nacho schrieb:
Tut mir leider das ich gleich schon nach paar stunden den 2ten Thearth aufmache aber ich möchte es wirklich lernen und da ich gerade nicht wirklich geld für das buch habe da ich nicht arbeite möchte ich es so halbwegs lernen.
Es gibt auch kostenlose Bücher. Beispiel! Außerdem gibt es durchaus vernünftige Tutorials, mit denen man einiges lernen kann. Du musst dir halt irgendeine Art von Lehrmittel besorgen. Ohne wird's nicht klappen. Such dir irgendwas aus und arbeite es von vorne bis hinten durch.

danschön für deine hilfe , natürlich lerne ich das mit youtube tutorials dort gibt es ein 2h part über die standart sachen von C++ nur dort wird leider nicht erklärt wie man die Variablen mit einbinden kann sondern es wird nur erklär wie man sie halt erstellt.
daher kommt auch meine frage mit den variablen.
PS: Danke wegen dem buch das hohle ich mir wenns wirklich hilft

-
Okay, kurtze antwort :p
Nacho schrieb:
- int meineZahl; habe so verstanden das [meineZahl] der name der (variable) dan ist
korrekt
Nacho schrieb:
- float meine Kommazahl;(variable für komma zahlen wie 1,08)
wenn "meine Kommazahl" der name sein soll gibts nen fehler, es dürfen keine Leerzeichen in Variablennamen sein. Kommas werden mit '.' geschrieben.
Nacho schrieb:
- double meineLangKommaZahl;(variable für mehr stellen hinter dem komma 1,99879)
jaaiin, nee, Kommazahl mit mehr signifikanten Stellen (15 wenn ich mich nicht irre)
Nacho schrieb:
- char meinZeichen;(eine variable von endweder zahlen von -128 bis 127 oder für ein "Buchstaben"
Jain. erstmal werden Buchstaben in ' ' gepackt. Es ist Compiler-abhängig, ob ein char signed oder unsigned ist.
Nacho schrieb:
- unsigned char meinZeichen2;(fals ich die -128 ins positive machen möchten sodas 0 - 255 zeichen gesetzt werden dürfen muss ich einfach hinter dem "char" ein "unsigned" hinschreiben.
same here
Nacho schrieb:
- bool meinJaNein (eine variable wo endweder ein ja oder nein endsteht, kann als schalter verwendet werden)
jain, ein bool in C(++) wird intern als Ganzzahl gehandhabt. false: zahl==0, true: zahl!=0 = !false
Nacho schrieb:
so nun wie kann ich daraus z.b etwas machen? wenn ich jetzt z.b ein "pointer" habe wie kann ich dan dort die "Variablen" hinein machen , oder wie soll ich die nummer dort oben einstellen sodas etwas daraus entsteht?
Die Stichworte im anderen Topic waren nicht ohne Grund, guck dir Referenzen an (&)
Edit: Youtube-Videos sind in 99% der Fälle

-
naja rechnen kann ich (schonmal etwas)
und eingaben und ausgaben ebenfalls fals du soetwas meinst:#include <iostream> #include <windows.h> using namespace std; int main(void) ;cout << "Erste Zeile." << "Immer noch erste Zeile." << endl << "Zweite Zeile.\n"; cin.get(); return 0;
-
Nacho schrieb:
Habe nun die Variablen gelernt
Typen heißen die Dinger: Fundamental types
Nacho schrieb:
wenn ich jetzt z.b ein "pointer" habe [...]
Wenn du einen Pointer hast, dann muss der Zuersteinmal auf irgendetwas "zeigen", das dir "gehört":
#include <iostream> int main() { int number = 47; std::cout << "number = " << number << "\n"; int *pointer = nullptr; // Wichtig: immer initialisieren. Im "schlimmsten" Fall mit 0. Jetzt hamma an "Zeiger auf int" pointer = &number; // Dem pointer per Referenzoperator & (aka "Adressoperator") die Adresse der Integervariable number zuweisen. // Wollen wir nun über den pointer auf die Speicherstelle zugreifen, deren Adresse er bekommen hat, brauchen wir den Indirektionsoperator * *pointer = 815; std::cout << "number = " << number << "\n"; }// edit:

Nacho schrieb:
[...]Eher so:
#include <iostream> using namespace std; int main() { cout << "Erste Zeile." << "Immer noch erste Zeile." << endl << "Zweite Zeile.\n"; }
-
Swordfish schrieb:
...
Zu dem Code sollte gesagt sein, dass es C++11 ist, weiß ja nicht, was für nen Compiler du benutzt (@Nacho). Falls es nicht klappt den Pointer mit NULL oder 0 (wie im Kommentar beschrieben) initialisieren.
-
Swordfish schrieb:
Nacho schrieb:
Habe nun die Variablen gelernt
Typen heißen die Dinger: Fundamental types
Nacho schrieb:
wenn ich jetzt z.b ein "pointer" habe [...]
Wenn du einen Pointer hast, dann muss der Zuersteinmal auf irgendetwas "zeigen", das dir "gehört":
#include <iostream> int main() { int number = 47; std::cout << "number = " << number << "\n"; int *pointer = nullptr; // Wichtig: immer initialisieren. Im "schlimmsten" Fall mit 0. Jetzt hamma an "Zeiger auf int" pointer = &number; // Dem pointer per Referenzoperator & (aka "Adressoperator") die Adresse der Integervariable number zuweisen. // Wollen wir nun über den pointer auf die Speicherstelle zugreifen, deren Adresse er bekommen hat, brauchen wir den Indirektionsoperator * *pointer = 815; std::cout << "number = " << number << "\n"; }// edit:

Nacho schrieb:
[...]Eher so:
#include <iostream> using namespace std; int main() { cout << "Erste Zeile." << "Immer noch erste Zeile." << endl << "Zweite Zeile.\n"; }dankeschön.
-
Cyres schrieb:
Swordfish schrieb:
...
Zu dem Code sollte gesagt sein, dass es C++11 ist, weiß ja nicht, was für nen Compiler du benutzt (@Nacho). Falls es nicht klappt den Pointer mit NULL oder 0 (wie im Kommentar beschrieben) initialisieren.
es kommtn kleiner error:
"nullptr undeclared" (first use this function)
-
Dann unterstützt dein Compiler (by default) kein C++11 (tut das eig überhaupt schon einer by default?). Also mit 0 oder besser mit NULL initialisieren. NULL ist glaube ich in <cstddef> deklariert.
Edit: Der Grund liegt übrigens in der Auflösung von überladenen Funktionen
-
Dann nimm stattdessen
NULL. Welche IDE/welcher Compiler?// edit: toooooo late.
-
NULL hat keinen Mehrwert, nimm 0.
-
Kellerautomat schrieb:
NULL hat keinen Mehrwert, nimm 0.
Wenigstens der gcc kann mit NULL mehr anfangen als mit 0. Außerdem wird NULL nur in Verbindung mit Pointern benutzt und man sieht beim lesen schneller, was es heißen soll. NULL matcht eher Pointer als ints.
-
Cyres schrieb:
Wenigstens der gcc kann mit NULL mehr anfangen als mit 0.
NULL ist 0.
Cyres schrieb:
Außerdem wird NULL nur in Verbindung mit Pointern benutzt
Noe. Wird oft missbraucht.
Cyres schrieb:
und man sieht beim lesen schneller, was es heißen soll.
Ich lehne mich mal so weit aus dem Fenster, um zu behaupten, dass das nicht noetig ist.
-
Kellerautomat schrieb:
Cyres schrieb:
Außerdem wird NULL nur in Verbindung mit Pointern benutzt
Noe. Wird oft missbraucht.
Hast du ein Beispiel? Hab ich noch nie gesehen.
-
Kellerautomat schrieb:
Cyres schrieb:
Wenigstens der gcc kann mit NULL mehr anfangen als mit 0.
NULL ist 0.
laut Makrodefinition ja, aber der gcc erkennt NULL und deutet es als Pointer. Andere Compiler hingegen nicht.
Kellerautomat schrieb:
Cyres schrieb:
Außerdem wird NULL nur in Verbindung mit Pointern benutzt
Noe. Wird oft missbraucht.
Habe ich noch nie gesehen, aber es gibt auch leute die Konstrukte mit 20 Pointern schöner als Vektoren finden oder generell C in C++ programmieren, aber die lasse ich in dem Punkt außen vor

Kellerautomat schrieb:
Cyres schrieb:
und man sieht beim lesen schneller, was es heißen soll.
Ich lehne mich mal so weit aus dem Fenster, um zu behaupten, dass das nicht noetig ist.
Ich benutze eh immer nullptr, aber danke für die Blumen

-
Also ich würde 0 nehmen.
Ich zitiere Bjarne Stroustrup:In C war es populär, ein Makro NULL zu definieren, um den Nullzeiger zu repräsentieren. Durch die enge Typprüfung von C++ führt die Benutzung der einfachen 0 anstelle des NULL-Makros zu weniger Problemen. Wenn sie meinen, NULL definieren zu müssen, dann benutzen sie:const int NULL = 0;gruß
syntax
-
dankeschön das ihr hier das alles so kräftig durch diskutiert

ich nehme mal die "const int NULL = 0;"ich dencke wenn ich jetzt sozusagen eine "Kiste" mit meinen variablen erstellt habe kann ich sie damit füllen oder? :
{ int alter; alter = 42; ;cout << "Du bist" << alter << endl; int alter2 = 7 ;cout << "Du bist" << alter2 << endl; int alter3 ;cin >> alter3 ;cout << "Das Dritte Alter Beträgt" << alter3 ; int zahl_1,zahl_2,zahl_3; ;cin.sync() return 0;
-
oder einfach c++11 aktivieren und nullptr benutzen

// edit; autsch, Codestyle, hast du das auch von Youtube?
{ int alter = 42; // Wenn möglich immer zusammen cout << "Du bist " << alter << endl; // Leerzeichen nach String verschönert Ausgabe int alter2 = 7; cout << "Du bist " << alter2 << endl; // Same here int alter3; cin >> alter3; cout << "Das Dritte Alter Beträgt " << alter3 << endl; // endl hinzugefügt int zahl_1; int zahl_2; int zahl_3; // Lässt sich drüber streiten, bei mir immer: "Eine Definition/Deklaration pro Zeile", Grund sind ganz einfach Pointer // was sollen die 3 zahlen eigentlich bringen? cin.sync(); // benutz ne vernünftige IDE und du brauchst das nicht mehr return 0; // in C++ in der main implizit, unnötig }Und allgemein das Simikolon IMMER am Ende der Zeile, kein wenn und aber.
So, 5 mal editiert, jetzt reichts aber

// 6 mal...
-
so bin wider bei den rechnungen angelangt da ich sie eher besser meistern will
bei mir kommt bei einer zeile das es nicht "declariert" wurde aber wieso?#include <iostream> #include <windows.h> using namespace std; int main(void) { int ergebnisADD; ergebnisADD = 27 + 3; int ergebnisSub; ergebnisSub = 103 - 3; int ergebnisMul; ergebnisMUL = 7 * 7; int ergebnisDiv; ergebnisDiv = 20 / 2; int ergebnisMod; ergebnisMod = 10 % 3; cout << ergebnisADD << endl << ergebnisSub << endl << ergebnisMul << endl << ergebnisDiv << endl << ergebnisMod << endl ;cin.sync() ;return 0; }es ist die zeile mit "7 * 7"