Anfänger sucht hilfe

xXxCloudxXx
Ich bin neu hier und habe so gut wie keine ahnung was Programmieren angeht^^
Kennt jemand so ne art Guide für "Anfänger" wo jeder gleich anfangen kann.

Denn ich meine jeder hatte mal keine ahnung oder.

Ich habe bereits ein Programm mit dem Namen Dev+C++ gedownloadet und suche eure hilfe verwirrt verwirrt verwirrt

Ich habe mir gedacht das es in diesem Abteil gehört da es ja auch +C++ heißt und ich denke das es sich um die gleiche Programmiersprache handelt
Chris Hunter
xXxCloudxXx
Vielen Dank ich hab schon mein erstes Wetter Programm gemacht xD
Habs am anfang nicht gerafft aber jetzt gehts^^

Jetzt fleißig üben^^
Chris Hunter
wetter programm? hehe wie muss ich mir das vorstellen? wenn du fragen zu o.g. tutorial hast. einfach hier reinschreiben. hunterchen wird zur stelle sein..
xXxCloudxXx
ja ich hab mein erstes probelm^^
und zwar bei Eingabe und Ausgabe.
Ich kam am anfng schon damit nicht zurecht also schaute ich mir die Lösung an.

und habe so gut wie alles gleich gemacht aber seht selbst

Zitat:
Original von xXxCloudxXx

#include<iostream>
using namespace std;

int main ()
{
int zahl1;
int zahl2;
int zahl3;

cout<<"Zahl eingeben\n";
cin>>zahl1;
cout<<"Weitere Zahl eingeben\n";
cin>>zahl2;
cout<<"Noch eine Zahl eingeben\n";
cin>>zahl3;
cout<<"Die Zahlen lauten\n";
cout<<zahl1<<" "<<zahl3<<" "<<zahl2<<"\n";
}


Aber wenn ic nun starte sieht man nur " Zahl eingeben" und wenn ich Enter düce komme ich nur eine Zeile runter aber eine Zahl erscheint nicht
Chris Hunter
sieht soweit aber ganz ok aus... seh da keinen fehler... oder ich bin blind?

die zahlen werden nach der eingabe von drei zahlen ausgegeben...
xXxCloudxXx
Ich glaube es war alles richtig denn als ich eine 1 angegeben habe ging es weiter
Lesen hilft^^

Danke Chris hunter^^

Dann mach ich gleich mal weiter muss mir aber noch aufschreiben wie das eine mit den zahlen ging, denn ich will später alles in übersicht haben^^
Chris Hunter
lol - 10 punkte....
xXxCloudxXx
WOW du schreibst schneller wie ich lesen kann xD aber wie meinst du das mit den - 10 punkten
Chris Hunter
na ja dafür das du gemerkt hast das man was eingeben muss. ist mir wiederrum nicht aufgefallen das du nur enter gedrückt hast, aber wie oben erwähnt -> lesen hilft..

hab auch schon seit jahren nix mehr in C/C++ gemacht deshalb weiß ich auch nicht merh so ganz wie da was reagiert oder funktioniert, aber so die anfänge hab ich noch drin da kann ich dir helfen... *g*
xXxCloudxXx
Was kann man den eigentlich mit dieser Programmiersprache alles Programmieren?
Chris Hunter
massig viel :-D
xXxCloudxXx
Wie lange braucht man denn um das Perfect zu lernen?

PS. Ich bin erst 13^^
Chris Hunter
man lernt NIE aus... es gehört viel praxis dazu und lesen lesen lesen...
je nachdem wie sehr du dich angagierst ....
ich sag mal so nach 6-8 monaten haste den dreh raus und kannst fast ernsthaft etwas machen... aber es dauert jahre... glaubs mir :-D
xXxCloudxXx
jetzt bin ich wieder überfordert xD
Also er meinte wann eine Variable tot ist aber woher soll ich das denn bitte wissenverwirrt also wann sie nicht mehr exestiert)
birthdefect
Es gibt da einen Garbage-Collector (zumindest in Java)

Die sorgt dafür, daß "Datenleichen" also Objekte und Variablen, die im
Speicher sind, aber auf die es innerhalb des Programmes keine Refernz,
also keinen Zeiger mehr gibt gelöscht werden.
Dies kann auftreten, wenn man einen Zeiger auf eine Variable oder einen
Speicherbereich bestimmt hat und diesen aber nachher wieder wo anders
hinzeigen lässt. Das ist bei Java so.

Bei C++ muß man, soweit ich weiß, selber den Speicher wieder freigeben.

ABER

Wenn Du nun beispielsweise eine Variable wie Integer oder Real innerhalb
einer IF-Anweisung ins Leben ruft, also sie dort erstellst, dann geht diese
Variable wieder verloren, wenn das Programm diese IF-Anweisung wieder
verlässt.

Es ist wie eine Zwiebel.
Ein Programm ist verschachtelt, jede Verzweigung , jede
Schleife erstellt eine neue Schachtel oder Hülle.
Und aus der innersten Schachtel oder Hülle kannst Du eigentlich
auf alle Variablen der Umgebenden zugreifen.

Dies nennt man eigentlich Verkapselung.

Aber man kann nie auf eine Variable zugreifen, die weiter innen
in einer Schale erstellt/initialisiert/deklariert wurde.

Ich gebe Dir hierzu folgende Schlagworte:
Globale Variablen , Lokale Variablen.


Zitat:
main

erstelle neue Variable Y = "keine ahnung"

if (schönes Wetter) {
Zitat:
erstelle neue Variable X = "sonnencreme"

}
else
{
Zitat:
setze bestehende Variable Y = "regenschirm"

}


In dem Pseudocode* oben siehst Du ein kleines Beispiel dazu.
Anhand der Zitatboxen siehst du die Verkapselung.
Wenn schönes Wetter ist, soll sonnencreme rauskommen,
ansonsten regenschirm.
Nur dumm, daß dieses Programm nur bei schlechtwetter funktioniert.
denn nach der IF-Konstruktion vergisst er die dort lokal erstellte
Variable X wieder und der arme Anwender wird ohne Sonnenschutz
ins Freie gehen.
Da Variable Y bereits vor der IF-Konstruktion existierte, wird innerhalb
dieser nur ein anderer Wert in sie hineingeschrieben, und der
bleibt bestehen.

*Pseudocode : Dieses Wort bezeichnet eine erfundene Programmiersprache, die
es eigentlich gar nicht gibt und nur zu Anschauungszwecken verwendet wird.
Es geht dabei nur darum, gewisse Aspekte herauszuheben, um etwas
zu verdeutlichen. Ich hatte damals große Probleme mit einzelnen Ausdrücken,
und Pseudocode was etwas, was ich gar nicht verstand. Es ist eigentlich nicht
anderes, als eine vereinfachte Darstellung einer Programmiersprache die man
nur zum Verständnisstiften benutzt, also ohne die lästigen Kommas,
Doppelpunkte und Strichpunkte ...

für später:
Wenn Du Dein Programm weiter unterteilst in Abschnitte,
also Funktionen oder Prozeduren, Units, Klassen, Objektklassen, methoden und
wie das ganze Zeug in unterschiedlichen Programmiersprachen heißt,
dann kann man auch von denen heraus üblicherweise nicht mehr auf die
äußere Hülle zugreifen. Dabei wirst Du früher oder später die Macht von
Zeigern erfahren, wo nicht die Variable sondern nur ein Link darauf
im Speicher weitergegeben wird, eine Referenz, eine Ortsangabe in den
Untiefen des Arbeitsspeichers...

Der große Vorteil von C++ ist aber, daß man Variablen nach belieben
selbst in Speicher ablegen kann und von überall, sogar mit anderen Programmen,
wenn man schlau ist, darauf zugreifen kann, aber das ist ein Kapitel,
das schon sehr speziell ist und auch einiges Wissen über die Kontrollstrukturen
bzw. Speicherverwaltung des Betriebssystems vorraussetzt.


Na, ich hoffe, ich hab da jetzt nicht allzuviel geschrieben, und nichts Falsches.
Chris Hunter
C++ gibt datenspeicher nicht automatisch wieder frei den musst du mit dem befehl "free"
freigeben wenn ich mich recht erinnere. die größe einer variabel ermittelst du mit "sizeof"

such mal im netz nach ner C/c++ funktinosreferenz.. hab hier eine kleine gefunden:
http://www.cppreference.com/index.html

die gefällt mir allerdings nicht wirklich gibt bestimmt bessere...

meine empfeholung ist dir auch n buch zu kaufen, das ist meistens keine schlechte lösung. oder schau ob du ne C/C++ befehlsreferenz findest im chm format. die kannst du dann nach schlüsselwörtern durchsuchen...
birthdefect
Ja, klar, wenn man Speicher allokiert oder wie das heißt, dann ist der nunmal für das Programm reserviert. Es ist aber auch vom Betriebssystem abhängig, wie der kernel den Speicher verwaltet, ich denke, der reinigt auch von Zeit zu Zeit die Überbleibsel an Prozesskontexten, also auch an solchen Speicherleichen.
Ja, da gibts so eine freemem-funktion, aber ich weiß ned genau wie die heißt.

Was ist aber mit Variablen und deren Werten?
Lokale Variablen vergehen wieder, nachdem
das programm den entsprechenden Bereich wieder
verlässt, oder? Also die Subroutine abschließt, sozusagen.
ist das ebi C++ etwa anders?
Kann man da überhaupt "unterwegs" weitere Variablen deklarieren?
Augen rollen
Chris Hunter
ja der reservierte speicherbereich von lokalen variabeln einer funktion wird nach verlassen derselben wieder freigegeben...

unterwegs variabeln deklarieren ist schlechte praxis...
mansollte alle variabeln die man benötigt am anfang einer funktion deklarieren...

hier noch ne gute seite: http://www.pronix.de/pronix-4.html
ist soweit ich das sehen kann n OpenBook
xXxCloudxXx
So erstmal danke an alle die mir so viel weiter helfen.
Und ich denke auch das ich mir mal ein buch besorgen werde.
Ich geh gleich ein Kapitel weiter und hoffe das ich da keine Probleme bekomme aber ich glaube das ich dieses Kapitel jetzt schon gut verstehe.