URL: https://www.overclockers.at/coding-stuff/c_stunde_1_64927/page_1 - zur Vollversion wechseln!
C++ Stunde 1:
geschrieben für Borland Builder
1.1 Der Programmaufbau
Starten wir gleicheinmal mit einem Beispiel:
Zwei Zahlen sollen addiert werden und die Summe dieser Zahlen soll ausgegeben werden.
Hier steht zuersteinmal der Sourcecode und dann gehen wir genauer auf die einzelnen Punkte ein:
#include <iostream.h>
#include <conio.h>
int main()
{
int Zahl1, Zahl2, Ergebnis;
Zahl1=12;
Zahl2=8;
Ergebnis=Zahl1+Zahl2;
cout<<Ergebnis;
getch();
return 0;
}
Sehen wir uns nun die einzelnen Funktionen etwas genauer an:
1.1.1 Die Header-Dateien
Header-Dateien braucht man, um dem Compiler verschiedene Funktionen und Befehle verständlich zu machen. In unserem Falle benötigen wir die iostream.h für die Befehle cin und cout und conio.h für getch(). Auf die einzelnen Funktionen gehen wir später etwas genauer ein. Header-Dateien werden immer mit #include <Datei.h> eingebunden
(includiert).
1.1.2 Das Hauptprogramm
Ein gesamtes Programm besteht mindestens aus einem Hauptprogramm und evtl. aus Unterprogrammen. Hier einmal 2 Arten das Hauptprogramm zu starten:
void main()
{ .
.
.
}
int main()
{ .
.
.
return 0;
}
Dem Compiler ist es egal welche Variante verwendet wird, aber ich verwende die 2te Variante lieber, da man sich sowieso daran gewöhnen muss, spätestens bei Unterprogrammen.
1.1.3 Variablendeklarationen
Variablendeklarationen können grundsätzlich überall im Programm stehen, sollten aber am Anfang des Programms stehen ( der Übersichtlichkeit halber! ) und MÜSSEN vor ihrer 1.Verwendung deklariert werden! Variablen werden immer mit
Variablentyp und
Variablennamen
deklariert. Auf die verschiedensten Variablentypen gehen wir sicherlich in einer andrenen C++ Stunde noch ein! Im Moment benutzen wir nur den Typen int, wobei hier nur ganzzahlige Zahlen angenommen werden!
Zulässige Variablennamen
Wert3, Wert, einseins, a1245, X3b, Zwei_affe_drei;
Ungültige Variablennamen
Wert 3, 1Wert, eins eins, A$, älter;
1.1.4 Zuweisungen
Eine Variable hat einen bestimmten Platz im Hauptspeicher und kann während des Programmverlaufs verschiedene Werte annehmen, je nach dem wie man sie deklariert hat!
z.B.: Zahl=107; Summe=4+7; Summe=Summe+23; Summe+=3;
1.1.5 Ein+Ausgaben
Für einfache ein und ausgaben verwenden wir die Befehle cin und cout, welche in der <iostream.h> enthalten sin!
Bsp: Es soll eine Zahl eingegeben werden, zu dieser 2 addiert werden und es soll das Ergebnis dieser Zahlen ausgegeben werden!
#include <iostream.h>
#include <conio.h>
int main()
{
int Zahl1, Zahl2, Ergebnis;
cout<<"Zahl eingeben: ";
cin>>Zahl1;
Zahl2=2;
Ergebnis=Zahl1+Zahl2;
cout<<Ergebnis;
getch();
return 0;
}
Auf dem Bildschirm wird folgendes ausgegeben:
Zahl eingeben: 23
25
Den Befehl getch(); lassen wir vorerst nocheinmal links liegen.
----
Ich hoffe es hat euch gefallen und ihr verzeiht mir meine Fehler die ich gemacht habe!
Wenn etwas nicht lauft schreib mir einfach eine mail an protected !
mfg
moidaschl
©e-modder(http://www.e-modder.at.tf)
ZitatEs gibt 2 Arten das Hauptprogramm zu starten.
void main()
{ .
.
.
}
int main()
{ .
.
.
return 0;
}
hey bedenke das is für anfänger! ich denke dass reicht für die erste stunde einmal oder?
aber danke für den post ich baue es in späteren lessons dann noch ein
und zur endgültigen verwirrung *evilgrin*, gibt es auch noch alternative syntax: nicht nur daß char *argv[] == char **argv ist, nein, es gibt auch noch die alte schreibweise (pre-ANSI) für parameter:
int main(argc,argv)
int argc;
char* argv[];
{
...
}
lol und in einigen c-compilern funktioniert auch noch
main() ohne rückgabetyp, wird zwar dann automatisch als int angenommen, aber wo wären wir, wenn wir nicht alle möglichkeiten aufzählen.
Zitat von atroxund zur endgültigen verwirrung *evilgrin*, gibt es auch noch alternative syntax: nicht nur daß char *argv[] == char **argv ist, nein, es gibt auch noch die alte schreibweise (pre-ANSI) für parameter:
AFAIK sollte das noch in allen compilern funktionieren - je nach einstellung spuckt er dir aber ein warning aus.
// edit, du hast recht, C++ compiler muß ich da ausnehmen.
mit c++ hat das beispiel allerdings nicht allzu viel zu tun, abgesehen von der verwendung der iostream library
hier der entsprechende c++ code mit klasse:
#include <iostream.h>
#include <conio.h>
class CNum
{
private:
int iNum [2];
int res;
public:
CNum (int, int);
void Add (void) { res = iNum[0] + iNum [1]; }
int getRes (void) { return res; }
int getNum (int);
};
CNum::CNum (int a, int b)
{
iNum[0] = a;
iNum[1] = b;
res = 0;
}
int CNum::getNum (int a)
{
int ret = 0;
a==0 ? ret=iNum[0] : ret=iNum[1];
return ret;
}
int main (int argc, char **argv)
{
int a;
int b;
cout << "Zahl1: ";
cin >> a;
cout << "Zahl2: ";
cin >> b;
CNum numbers (a,b);
numbers.Add();
cout << "Result of " << numbers.getNum(0) << " + " << numbers.getNum(1) << " = " << numbers.getRes() << endl;
getch ();
return 0;
}
und? STUNDE 1!Zitat von FMFlashmit c++ hat das beispiel allerdings nicht allzu viel zu tun, abgesehen von der verwendung der iostream library
hier der entsprechende c++ code mit klasse:[...]

(und wenn ich mal wieder zeit hab probier ich auch ein bissal rum..
)[QUOTE]Originally posted by moidaschl
C++ Stunde 1:
geschrieben für Borland Builder
1.1 Der Programmaufbau
Starten wir gleicheinmal mit einem Beispiel:
Zwei Zahlen sollen addiert werden und die Summe dieser Zahlen soll ausgegeben werden.
Hier steht zuersteinmal der Sourcecode und dann gehen wir genauer auf die einzelnen Punkte ein:
#include <iostream.h>
#include <conio.h>
int main()
{
int Zahl1, Zahl2, Ergebnis;
Zahl1=12;
Zahl2=8;
Ergebnis=Zahl1+Zahl2;
cout<<Ergebnis;
getch();
return 0;
}
Sehen wir uns nun die einzelnen Funktionen etwas genauer an:
1.1.1 Die Header-Dateien
Header-Dateien braucht man, um dem Compiler verschiedene Funktionen und Befehle verständlich zu machen. In unserem Falle benötigen wir die iostream.h für die Befehle cin und cout und conio.h für getch(). Auf die einzelnen Funktionen gehen wir später etwas genauer ein. Header-Dateien werden immer mit #include <Datei.h> eingebunden
(includiert).
1.1.2 Das Hauptprogramm
Ein gesamtes Programm besteht mindestens aus einem Hauptprogramm und evtl. aus Unterprogrammen. Hier einmal 2 Arten das Hauptprogramm zu starten:
void main()
{ .
.
.
}
int main()
{ .
.
.
return 0;
}
Dem Compiler ist es egal welche Variante verwendet wird, aber ich verwende die 2te Variante lieber, da man sich sowieso daran gewöhnen muss, spätestens bei Unterprogrammen.
1.1.3 Variablendeklarationen
Variablendeklarationen können grundsätzlich überall im Programm stehen, sollten aber am Anfang des Programms stehen ( der Übersichtlichkeit halber! ) und MÜSSEN vor ihrer 1.Verwendung deklariert werden! Variablen werden immer mit
Variablentyp und
Variablennamen
deklariert. Auf die verschiedensten Variablentypen gehen wir sicherlich in einer andrenen C++ Stunde noch ein! Im Moment benutzen wir nur den Typen int, wobei hier nur ganzzahlige Zahlen angenommen werden!
Zulässige Variablennamen
Wert3, Wert, einseins, a1245, X3b, Zwei_affe_drei;
Ungültige Variablennamen
Wert 3, 1Wert, eins eins, A$, älter;
1.1.4 Zuweisungen
Eine Variable hat einen bestimmten Platz im Hauptspeicher und kann während des Programmverlaufs verschiedene Werte annehmen, je nach dem wie man sie deklariert hat!
z.B.: Zahl=107; Summe=4+7; Summe=Summe+23; Summe+=3;
1.1.5 Ein+Ausgaben
Für einfache ein und ausgaben verwenden wir die Befehle cin und cout, welche in der <iostream.h> enthalten sin!
Bsp: Es soll eine Zahl eingegeben werden, zu dieser 2 addiert werden und es soll das Ergebnis dieser Zahlen ausgegeben werden!
#include <iostream.h>
#include <conio.h>
int main()
{
int Zahl1, Zahl2, Ergebnis;
cout<<"Zahl eingeben: ";
cin>>Zahl1;
Zahl2=2;
Ergebnis=Zahl1+Zahl2;
cout<<Ergebnis;
getch();
return 0;
}
Auf dem Bildschirm wird folgendes ausgegeben:
Zahl eingeben: 23
25
Den Befehl getch(); lassen wir vorerst nocheinmal links liegen.
----
Ich hoffe es hat euch gefallen und ihr verzeiht mir meine Fehler die ich gemacht habe!
Wenn etwas nicht lauft schreib mir einfach eine mail an protected !
mfg
moidaschl
©e-modder(http://www.e-modder.at.tf) [/QUOTE]
Das ist doch aus einem Buch

Zitat von watchoutund? junge - STUNDE 1!
wir alle zweifeln wohl nicht an deiner schier alles überragenden weisheit und an deinen ausserordendlichen fähigkeiten als programmierer, du bist der wahre meister - leider bist du ein hundsmieserabler lehrer, du checkst es einfach nicht ab, dass man wenn man noch nie nen tropfen c gesehn hat, vielleicht nicht gleich mit klassen beginnen wird, ganz zu schweigen vom ?: - operator
so:
Ich für meinen Teil (als kompletter c-neuling) finde dieses "intro" sehr gut geschrieben, vor allem das was ich bis jetz am wenigsten gerafft habe - die header-files hab ich endlich mal gechecked...
ich warte gespannt auf lektion 2(und wenn ich mal wieder zeit hab probier ich auch ein bissal rum..
)

also, afaik geben mit void definierte funktionen keine werte zurück - bzw. können keine zurückgeben - also isses kein wunder, dass dein compiler sich querstellt...Zitat von wodiefull ack
@moidaschl: bitte mach damit weiter!
probiert hab ich es...hat alles funktioniert.
und ob das aus einem buch ist oder nicht, ist mir egal.
ps: was ich nicht kapiert habe: int main () und void main ()...worin liegt der unterschied?
wenn ich zb bei dem prog statt int main () -- void main (), eingebe und dann zum schluss return 0; ... mag der compiler das nicht.
gibts diese libarys auch unter unix?
gcc motzt, dass er sie nicht findet - heissens nur anders oder gibtsas in dieser form nicht?
zu unterschied int main() / void main()
wie schon oben erwähnt wurde ist der vorangestellte name der rückgabetyp, und void bedeutet soviel wie "kein rückgabetyp" also kann man ihm mit return auch nix zurückgeben
return <wert> | <variable> gibt einer funktion (bzw dem hauptprogramm) den wert bzw den inhalt der variable zurück die angegeben wurde
rückgabe von werten wir (wenn ich mich net irr) nur wirklich in linux(unix) verwendet, bei verknüpfungen von programmen (zb grep)
hauts mi net, wenn des net stimmt :P
Also ich muss mich mal da sehr auf die Seite von FMFlash stellen: ein c++ tutorial, das ohne eine erklärung des objekt-modeles anfängt??
ich hätt ja die pappn ghalten, wenn's hier um ein allgemeines programmier-tutorial geht. aber so ist das wie eine "einführung in das fernsehen" ohne erklärung was eine fernbedingung macht .)
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026