Aktuelle Zeit: So 5. Mai 2024, 01:52

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: C++ Programmier-Schule: Lektion 1
Ungelesener BeitragVerfasst: Fr 29. Okt 2010, 09:14 
Offline
Arenachamp
Arenachamp
Benutzeravatar

Registriert: So 7. Feb 2010, 15:56
Beiträge: 407
Geschlecht: männlich
SG$: 11
Guides: 0
Willkommen zur 1. Lektion!
Thema: Hello world! Ausgabe von Texten und Variablen in der Konsole.

Schritt 1: die Entwicklungsumgebung!
Bevor wir in C++ Schreiben können benötigen wir eine Entwicklungsumgebung, ich werde hier in allen beispielen VC++2008EE
Verwenden.

Schritt 2: Der erste Code!
Klickt auf Datei -> Neu -> Projekt -> Win32 -> Win32 Konsolenanwendung -> Fertigstellen.
VC++2008EE sollte nun folgendes ausspucken:
Code:
// Lektion 1.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
   return 0;
}

Code:
#include "stdafx.h"

Lädt eine Headerdatei, diese ist für die Ausführung von Programmen wichtig.
Code:
int _tmain(int argc, _TCHAR* argv[])
{
   return 0;
}

initialisiert die Mainfunktion, die Mainfunktion muss(!!!) in jedem Programm enthalten sein.
Code:
return 0;

beendet das Programm.

Schritt 3: Code hinzufügen!

So, jetzt lernt ihr euren ersten eigenen Code zu schreiben!
Schreibt zuerst einmal vor return 0; folgendes:
Code:
   system("PAUSE");

damit das Programm sich nicht sofort beendet
danach schreibt nach #include "stdafx.h" :
Code:
#include <cstdlib>
#include <iostream>
#include <string>

um weitere Headerdateien hinzuzufügen.
Klickt nun auf Speichern und dann auf erstellen -> Lektion 1 erstellen und anschließend drückt F5.
Das Programm sollte nun ausgeführt werden und dort sollte stehen, dass ihr eine beliebige Taste drücken sollt.

Schritt 4: euer 1. Text

jetzt werdet ihr euren wahrscheinlich 1. Text in C++ schreiben.
Einen Text schreibt man mit:
Code:
std::cout << "Text";

schreibt nun einfach über system("PAUSE"); :
Code:
std::cout << "Hello";


speichert nun und klickt auf erstellen -> Lektion 1 neu erstellen, und drückt danach F5.
Nun werdet ihr sehen dass das Hello direkt neben dem anderen Text steht, das korrigieren wir indem wir \n hinter Hello schreiben, macht das nun speichert wieder und klickt wieder auf erstellen -> Lektion 1 neu erstellen, und drückt danach F5.

Schritt 5: Variablen!

Variablen sind kleine orte im Speicher die dazu gedacht sind kleine mengen von Daten zu Speichern
Nun lernt ihr den Umgang mit Variablen. Eine normale Variable erstellt man mit:
Code:
int name = inhalt ;

eine solche Variable könnte allerdings nur Zahlen speichern, da wir Text speichern wollen erstellen wir eine Variable mit dem Namen Test und dem Inhalt World auf folgende weise:
Code:
std::string test = "World";

nun müssen wir die variable nurnoch ausgeben, das machen wir indem wir
Code:
std::cout << "Hello\n";

zu
Code:
std::cout << "Hello\n" << test;

ergänzen.
Der vollständige Code müsste nun so aussehen :

Code:
// Lektion 1.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <string>

std::string test = "World";


int _tmain(int argc, _TCHAR* argv[])
{
   std::cout << "Hello\n" << test;
   system("PAUSE");
   return 0;
}

damit nun World und die PAUSE Funktion nicht zusammen geschrieben werden, fügen wir hinter test noch << "\n" ein, jetzt müsste der komplette code so aussehen:
Code:
// Lektion 1.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <string>

std::string test = "World";


int _tmain(int argc, _TCHAR* argv[])
{
   std::cout << "Hello\n" << test << "\n";
   system("PAUSE");
   return 0;
}




klickt jetzt auf speichern und danach auf erstellen -> Lektion 1 neu erstellen und danach drückt F5 und ihr seit fertig.

Schritt 6: Hausaufgaben!
Schreibt ein Programm mit 4-8 Sätzen, davon soll ungefähr die hälfte in variablen verpackt sein, schickt mir das Programm dann per pn.
Deadline ist am 14.11.10
Viel Spaß

_________________
Bild
bitte levelt mein geckarbor!


Nach oben
 Profil Position des Users auf der Mitgliederkarte  
Mit Zitat antworten  
 Betreff des Beitrags:
Verfasst: Fr 29. Okt 2010, 09:14 


Nach oben
  
 
 Betreff des Beitrags: Re: Lektion 1
Ungelesener BeitragVerfasst: Fr 29. Okt 2010, 15:22 
Offline
Ligachampion
Ligachampion
Benutzeravatar

Registriert: Mo 22. Feb 2010, 20:32
Beiträge: 925
SG$: 3
Guides: 0
Also ich kenn mich mit dem Programm ein bisscchen aus und hab schonma nen calculator gemcaht :D

_________________
95% Der Jugend würden weinen, wenn Justin Bieber auf einem Wolkenkratzer stehen würde, und springen will. Wenn du auch zu den 5% gehörst, die Popcorn essen und "DO A BACKFLIP" schreien würden, dann kopiere den Text.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lektion 1
Ungelesener BeitragVerfasst: Fr 29. Okt 2010, 17:59 
Offline
Pokemonforscher
Pokemonforscher
Benutzeravatar

Registriert: Di 22. Jun 2010, 16:48
Beiträge: 2247
Wohnort: Zürich
Geschlecht: männlich
SG$: 83
Guides: 0
Seite gefunden durch: Metroid
Ich nehme mal an Fragen kommen hier rein, oder?
Ich hab da nämlich ein paar. ^^

1. Was für Dateien werden da jetzt eig am Anfang eingebunden? Also was enthalten diese? (String ist klar, aber der Rest?)
2. Was genau bedeutet "std" und was bewirken die zwei Doppelpunkte dahinter?
3. Wieso wird bei der Mainfunktion eine Fehlermeldung ausgegeben, wenn ich sie mit "void" definiere?
4. Was für Daten enthalten der Integer und der Char-pointer in der mainfunction-definition?
5. Was bewirkt "system" bzw. wie wird es verwendet?
6. Wieso bewirkt das "PAUSE" einen Enginestopp, obwohl es zwischen zwei Schlusszeichen steht? Muss ich also darauf achten, bei einem String nicht das Wort PAUSE zu verwenden oder gilt das nur für den Befehl "system"?

Thx for help. ^^
LG


Nach oben
 Profil Position des Users auf der Mitgliederkarte  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lektion 1
Ungelesener BeitragVerfasst: Fr 29. Okt 2010, 20:00 
Offline
Arenachamp
Arenachamp
Benutzeravatar

Registriert: So 7. Feb 2010, 15:56
Beiträge: 407
Geschlecht: männlich
SG$: 11
Guides: 0
bin gerade ein bisschen müde, und mir bei manchen fragen gerade nicht so sicher, kann aber die meisten beantworten!
Hopfel hat geschrieben:
Ich nehme mal an Fragen kommen hier rein, oder?
Ich hab da nämlich ein paar. ^^

1. Was für Dateien werden da jetzt eig am Anfang eingebunden? Also was enthalten diese? (String ist klar, aber der Rest?)
stdafx.h ist von VC++2008 vorgemacht und wird eigentlich nicht gebraucht, aber wenn man es weglässt mekert der compiler. cstdlib lädt die ganzen std funktionen. iostream wird eigentlich grundsätzlich bei c++ verwndet
2. Was genau bedeutet "std" und was bewirken die zwei Doppelpunkte dahinter?
was genau std bedeutet weis ich leider auch nicht, aber die doppelpunkte sind dazu da die eigenschaften von std an das folgende objekt zu vererben.
3. Wieso wird bei der Mainfunktion eine Fehlermeldung ausgegeben, wenn ich sie mit "void" definiere?
steht doch in der Fehlermeldung: void muss einen wert zurück geben und kann nicht als definition für eine funktion verwendet werden

4. Was für Daten enthalten der Integer und der Char-pointer in der mainfunction-definition?
5. Was bewirkt "system" bzw. wie wird es verwendet?
6. Wieso bewirkt das "PAUSE" einen Enginestopp, obwohl es zwischen zwei Schlusszeichen steht? Muss ich also darauf achten, bei einem String nicht das Wort PAUSE zu verwenden oder gilt das nur für den Befehl "system"?das gilt nur für system...wüsste allerdings auch nicht wozu man PAUSE schreiben sollte ;)

Thx for help. ^^
LG

_________________
Bild
bitte levelt mein geckarbor!


Nach oben
 Profil Position des Users auf der Mitgliederkarte  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lektion 1
Ungelesener BeitragVerfasst: Fr 29. Okt 2010, 20:30 
Offline
Pokemonforscher
Pokemonforscher
Benutzeravatar

Registriert: Di 22. Jun 2010, 16:48
Beiträge: 2247
Wohnort: Zürich
Geschlecht: männlich
SG$: 83
Guides: 0
Seite gefunden durch: Metroid
Erstma danke für die Erklärungen, das Meiste davon hab ich jetzt kapiert. ^^

Zitat:
steht doch in der Fehlermeldung: void muss einen wert zurück geben und kann nicht als definition für eine funktion verwendet werden

Aber void wird ja nur ausschlisslich zur Definition von Funktionen verwendet. Und auch in vielen anderen Programmiersprachen ist immer die Rede von "void main()".
Und void hat ja die Eigenart keinen Wert zurückgeben zu können, aber genau das ist ja bei der Mainfunktion völlig egal, da sowieso nicht auf dessen Wert zugegriffen werden könnte...


Zitat:
4. Was für Daten enthalten der Integer und der Char-pointer in der mainfunction-definition?

Ich meinte damit den Integer und den Char-array in der main-definition:

int main(int argc, _TCHAR* argv[])

Diese Parameter werden ja definiert und bekommen vermutlich von der Engine einen Wert zugewiesen.
Aber was genau bekommen die für einen Wert bzw. wofür kann ich diese Werte am besten verwenden?


Wenn du mir diese Fragen beantworten kannst bin ich vollends Glücklich. ^^
Thx :3


Nach oben
 Profil Position des Users auf der Mitgliederkarte  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

0 Mitglieder


Ähnliche Beiträge

Hättet ihr interesse an einer C++ Schule?
Forum: Anregungen und Feedback
Autor: pokemastera1
Antworten: 11
1. Lektion: Wie erstelle ich einen Charakter? (Teil 2/3)
Forum: RPG-Guides
Autor: Halibel
Antworten: 3
HTML- und CSS-Schule: HTML-Schule-Voraussetzungen!
Forum: Hardware, Software, Internet
Autor: pokeprof Maxi
Antworten: 3

Tags

Haus, Programm, Schule, USA

Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group


Bei iphpbb3.com bekommen Sie ein kostenloses Forum mit vielen tollen Extras
Forum kostenlos einrichten - Hot Topics - Tags
Beliebteste Themen: Forum, Erde, Pokemon, Spiele, NES

Impressum | Datenschutz