Programieren anfangen
-
Hallo,
ich schreibe bis jetzt EventScripts für Source-Server, im Moment Arbeite ich schon an den Grenzen dieses kleinen Script-Sprache sodass es einfach gesagt langweilig wird. :pNun ist mir die Idee gekommen Programmieren zu lernen um, nach einigen Versuchen und mit ein bisschen Erfahrung dann auch in größere Projekte einsteigen zu können.
Gibt es irgendwelche Tipps die ihr mir geben könnt wo und wie ich C++ lernen könnte. Welche Tutorials/Kurse sind für einen Anfänger wie mich intressant?
Was brauche ich für ein Programm/Compiler? (im Moment habe ich Bloodshed Dev-C++ auf dem PC).brot
-
Die wichtigsten Fragen und Antworten: http://www.c-plusplus.net/forum/viewtopic-var-t-is-112134.html
Mein Tip: Ein vernünftiges C++-Buch kaufen, da es für C++ leider sehr wenig gute C++-Onlinequellen gibt. Mein Buchtip: http://www.hanser.de/buch.asp?isbn=3-446-40253-5&area=Computer
Wenn es trotzdem ein Online-Tut sein soll: http://tutorial.schornboeck.net/
Wegen den Tools: DevC++ weg schmeissen!!! Es ist veraltet und wird nicht weiter entwickelt. Wenn du Breitband-Inet hast, dann kann man das MS VisualC++ 2005 Express Edtion emppfehlen. Ist kostenlos und eine moderne und gute Entwicklungsumgebung. http://msdn.microsoft.com/vstudio/express/visualc/default.aspx (gibts auch eine Offline-ISO-Image als Download)
Noch ein Tip auf den Weg: es gibt die Sprache C/C++ nicht, es gibt nur die Sprache C und nur die Sprache C++. Wenn du C++ lernen willst, solltest du auch nur C++-Literatur lesen. Entsprechend auch nur in dem bestimmten Forum deine Fragen stellen.
-
ok, vielen dank
-
jetzt nochmal eine dumme frage:
in visual c++ - was muss ich bei den projekten auswählen?
.brot
-
C++ Konsolenanwendung
Vielleicht erst einmal besser: Die ersten .cpp Dateien mit Notepad schreiben und dann über die Kommandozeile den Compiler aufrufen.
-
Schon runter geladen und installiert?

Du kannst auch deine ersten Helloworlds in der Kommandozeile kompilieren:
*Start->Programme->VisualC++ 2005->VS Tools->VS 2005 Command Prompt
*Sagen wir mal deine Datei heißt hello.cpp.
Kompilieren kannst du sie so:
cl hello.cppVorher natürlich in das Verzeichnis wechseln, in der sich die hello.cpp befindet.
-
ist die genaue anwendung von Visual C++ in dem Buch auch noch erklärt?
oder erklärt sich das weitestgehend von selbst?was ist der Unterschied zwischen einer Windows und einer Konsolenanwendung?
dies wurde ich bei dem anderen programm immer gefragt....brot
-
Der Unterschied ist einfach:
Konsolenanwendung: Konsolenfenster wird autom. aufgemacht und der Einstiegspunkt des Programms ist main().
Windowsanwendung: Konsolenfenster wird nicht aufgemacht und der Einstiegspunkt des Programms ist WinMain().
Wobei Windowsanwendungen heute seit Win2000pro nicht nötig sind. Grafische Fenster kann man heute auch in einer Konsolenfenster-Anwendung aufmachen. WinMain() ist sozusagen ein altes Relickt.
-
ah.. ok
dann vielen dank
-
Das Buch ist inzwischen bei mir angekommen.
Allerdings hätte ich nun eine kleine Frage.Ich hab das Problem das sich die Konsole immer wieder sofort schliesst nachdem ich was eingegeben habe. Sodass ich das Ergebnis, das mir das Programm gib, nur wenige tausenstel Sekunden lang sehen kann.
ist das ein Fehler von mir oder woran liegt das?
.brot
-
Ist kein Fehler von Dir.
Abhilfe gibt's hier.
-
Welche IDE benutzt du?
Wenn du VC2003 oder 2005 hast, müüste ein autom. Pause kommen, wenn du mit Strg+F5 startest (Run ohne Debug). Wenn man mit F5 (Run mit Debug) startet, gibts keine autom. Pause am Ende. (vielleicht weil MS davon ausgeht, wenn man debugt, eh einen Breakpoint gesetzt hat)
-
ah, ok.. thx - das starten ohne debuggen hat geholfen

-
so ich hab jetzt mal eine kleine anwendung geschrieben
#include<iostream> using namespace std; int main () { int a = 0, z; char c; cout << "Zeichen? \n Bitte eingeben: "; cin >> c; if (c == 'I') a = 1; else if(c == 'V') a = 5; else if(c == 'X') a = 10; else if(c == 'L') a = 50; else if(c == 'C') a = 100; else if(c == 'D') a = 500; else if(c == 'M') a = 1000; if (a == 0) { cout << "\a\a\a\a\n\n ||| FEHLER: keine römische Ziffer! \n"; } else { cout << "\n\nErgebnis: " << c << " = " << a << endl; } cout << "\n\n ||| Zum beenden bitte 0 und ENTER druecken \n"; cin >> z; cout << "\a\a"; return 0; }wenn ich sie starte über debuggen / starten ohne debuggen - dann funktioniert sie...
auch wenn ich sie normal starte - aber nicht wenn sie jemand anders auf seinem pc started...
"... weil die Anwedungskonfiguration nicht korrekt ist ...."
.brot
-
Schreib mal die genaue Fehlermeldung auf, dann kann dir bestimmt jemand helfen.
Gruß
Don06
-
Ja, das kommt daher, weil der andere PC nicht die neuen C-Runtimes installiert hat. Entweder du linkst dein Projekt statisch gegen die Runtime (siehe Projekteinstellungen) oder gibts eine komplette Distri weiter.
In der MSDN gibts infos dazu, unter dem Stichwort "Deployment". Wenn du die MSDN herunter geladen hast, ist XCopy ein gutes Beispiel:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vccore/html/8d1a994b-9986-4171-9c0b-56d24808fd1f.htm
-
sry, eine genauere fehlermeldung habe ich nicht... da ichs ja net bei mir testen kann...
in dem c++ buch geht hervor das die zukünftigen c++ standarts gelehrt werden, hängt das damit zusammen?
sry, aber ich fang grad erst damit an.. versteh also noch net alles
-
Hast du nicht mein Posting gelesen? Der PC hat einfach nicht die nötige C-Runtime, sprich ihm fehlen nur die entsprechenden DLLs. Bei dir sind sie schon drauf, weil sie gleich mit dem VC installiert wurden. Wenn du dein Programm ohne DLLs weitergeben willst, kannst du statisch linken.
Projekteinstellungen->C++->Codeerstellung->Laufzeitbibliothek von DLL auf statisch ändern.
Brauchst du aber nur machen, wenn du es deployst (also weiter geben willst). Oder du schaust in die MSDN, da steht wie man die EXE plus DLLs weiter geben kann.
-
Multithreaded-Debug-DLL (/MDd) ist im moment bei mir eingestellt - statisch kann ich nicht finden
-
Schau mal eher in den Linker- als in den C++-Einstellungen nach.