ERLEDIGT
JA
JA
ANTWORTEN
15
15
ZUGRIFFE
610
610
EMPFEHLEN
-
15.02.06 05:01 #1
Hoi, ich probiere jetzt schon seit nem Jahr mit C++ herum (erfolglos) und da ich nun mehr Zeit habe hab ich mir vorgenommen wenigstens mal die Basics zu lernen.
Also ich habe auf meinem Windows XP SP1 Rechner DevCpp 4.9.9.2 und Visual .Net Studio 2003 (7.1) mit Visual C++ .Net installiert. Am Anfang habe ich mit DevCpp herumprobiert aber da ich öfters Probleme hatte wollte ich mir mal Visual C++ anschauen aber da ich da irgendwie genau so wenig durchblicke, wollte ich einfach mal die C++ HeadZ fragen mit was sie so arbeiten und warum sie genau mit der Software arbeiten. Meine Ziele sind eigentlich Netzwerk/System Programmierung auf Konsole und wenns geht auch auf GUI. Bei GUI würde ich das ganze am liebsten selber mit WinAPI schreiben da ich mir denke das man vorherwissen sollte was man macht bevor es der Editor für einen macht.
So bin schon gespannt auf eure Antworten
P.S.: Habe folgende Bücher mehr oder weniger gelesen (hab halt auch manche Sachen als Referenz benutzt bzw. Kapitel übersprungen wenn ich keinen Durchblick hatte)
Markt & Technik - C/C++ Kompendium
Grundkurs Software - Entwicklung mit C++
-
Hallo Fapster,
mit DevCpp habe ich noch nicht gearbeitet, kann also nichts dazu sagen. Visual Studio benutze ich selber und finde es sehr komfortabel. So wie du deine Frage formuliert hast, vermute ich, das du grundsätzlich Schwierigkeiten hast, einen vernünftigen Einstieg zu finden. Hier solltest du wohl mal etwas mehr ins Detail gehen und deine Probleme konkreter beschreiben.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
15.02.06 08:44 #3
Hey sehr fein das du mir gelich so hilfreich entgegen kommst

und zwar ist es irgendwie das typische Anfangen ohne Halt zu bekommen.
Ursprünglich habe ich mit PHP und ActionScript (natürlich auch html und JavaScript aber ich glaub ned das das irgendwas bringt auf c++ bezogen
) von dem her kenne ich schon die "logik des Programmierens".
Jedoch hat man bei den ersten Versuchen mit PHP oder AS sehr schnell erfolge was bei C++ ausser "Hello, World!" ausbleibt.
Mein Problem ist, so glaube ich, dass die oben genannten Bücher mehr als Referrenzen als, als einsteiger Bucher geschrieben sind. Es ist ja nicht so das ich am Computer ein kommpleter nAp bin. Aber um eben einen "HigherLevel" zu erreichen wollte ich mit C++ anfangen. Ca. 80% meines Wissens habe ich aus dem Netz jedoch komme ich mit der Suche nach Informationen über C++ nicht so gut zurecht als bei all dem anderen Computer sachen. Ich denke am gescheitesten währe es einen Kurs zu belegen aber die einzigen die in meiner nähe statt finden sind MS VisualC++ 6 und kosten über 1.800€. Ich glaube mir fehlt einfach der Durchbruch.
Ich habe bir jetzt noch 2 Bücher bestellt in der Hoffnung das sie mich weiter bringen:
C++ Lernen und professionell anwenden.
und C++. Das Übungsbuch Testfragen und Aufgaben mit Lösungen
Ich hoffe das meine Wahl nicht wieder an meinem Ziel vorbei Rauscht.
Und da ich gerade bei Büchern bin, kannst du/könnt ihr mir noch andere empfehlen die ihr für jemanden der allgemeine Programmierkenntnisse hat, jedoch wenig ahnung von C++
Danke im vorraus,
mfg fap
P.S.: z.B.: wollte ich zum Um/Einstieg auf/in Visual C++ .Net ein einfaches "Hello, Wold!" schreiben das in der Konsole ausgeführt wird jedoch scheitere ich beim einfügen einer Bibliothek.Geändert von FingerSkill (15.02.06 um 08:46 Uhr)
-
Hi
ich programmiere zwar kein C++ aber ein bisschen C bin net so gut bin auch gerade am lernen.
also am anfang hab ich mit dem VS 2003 gearbeite der hat mir nicht so gefallen dann hatt mir
mein Vater den neuen MS Visual Studio 05 in deutsch mittgebracht aber mit dem bin ich noch weniger zusammen gekommen irgentwie hat er mich keine .c datein erstellen lassen sondern nur cpp Datei.(sollte dich aber net stören)
jetzt arbeite ich mit DevCpp und bin voll zufrieden da man schnell updaten kann bzw man kann neue Packete installieren wie GTK das hab ich mit dem VS net geschaft.
achja zu deinen Büchern naja ich kann dir den Prinz net empfehlen hab das C-für pcs und das ist schlecht den er arbeite in dem buch mit kommischen ANSI ausgaben zum kordinaten suchen und viele Kapitle sind meiner Meingung nach schlecht erklärt bzw zu schwer.
mfg mike4004Geändert von mike4004 (15.02.06 um 13:14 Uhr)
-
Gern geschehen, dafür ist das Forum schließlich da
Zitat von fapster

Keine Ahnung, was du mit dem Studio angestellt hast, aber ein "Hello World" sollte eigentlich keine besondere Hürde darstellen. Vielleicht versuchst du's mal mit folgenden Schritten:
1. Projekt erstellen mit "Datei" -> "Neu" -> "Projekt...". Wähle im Bereich "Visual C++" und "Allgemein" die Vorlage "Leeres Projekt". Im Projektmappen-Explorer wird eine leere Ordnerstruktur angelegt.
2. Rechter Mausklick auf "Quelldateien", dann "Hinzufügen", "Neues Element" und schließlich "C++ - Datei" auswählen.
3. In die Datei fügst du etwa sowas ein:
Code :1 2 3 4 5 6
#include <iostream> int main() { std::cout << "Hello World"; }
4. Dann Erstellen (kompilieren und linken) und das war's.
Ich hoffe, meine Beschreibung zur Projekterstellung passt noch, weil ich inzwischen VS2005 und nicht mehr VS2003 habe.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
16.02.06 05:19 #6
Hoi, danke für den Code der funktioniert.
Ich habe diesen Code vorher geschrieben der in DevC++ funktioniert jedoch in MS Virtual C++ nicht...
Code :1 2 3 4 5
#include <iostream.h> int main() { cout<<"Hello, world!"<<endl; };
Wieso funktioniert dieser nicht? Der Compiler sagt das er die datei "iostream.h" nicht findet?!...
-
Hallo,
Header der STL (Standard Template Library für C++) werden grundsätzlich ohne ".h" verwendet. Der DevC++ - Compiler toleriert wohl noch deine Schreibweise, aber korrekt ist sie nicht.
Weiterhin wird bei der STL mit sogenannten Namensräumen gearbeitet, im konkreten Beispiel mit "std". Entweder stellt man den jeweiligen Bezeichner dem Befehl voran, z.B. "std::cout" oder man fügt am Anfang ein using-Statement ein:
GrußCode :1 2 3 4 5 6 7 8
#include <iostream> using namespace std; int main() { cout<<"Hello, world!"<<endl; }
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
16.02.06 13:08 #8
Ahhhh ok sehr fein jetzt alles

Ich warte jetzt nur auf meine neuen Bücher und dann leg ich sofort los, die sollten eigentlich morgen kommen. Und wenn ich Fragen hab melde ich mich natürlich
thx nochmal für alles.
-
16.02.06 14:54 #9
So und wie ich dachte stellt sich mir schon die nächste Frage

und zwar. Ich habe mir ausgedacht ein einfaches kleines Projekt zu schreiben.
-->Konsolen anwendung...
-->
-->Wie oft soll ich Piepsen: (Eingabe: z.B.: 5)
-->Pieps (1)
-->Pieps (2)
-->Pieps (3)
-->Pieps (4)
-->Pieps (5)
also eigentlich ganz einfach habe auch schon den Code fertig und es funktioniert.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <iostream> using namespace std; int main() { int i = 0; int count = 0; cout << "Bitte geben sie ein, wieoft ich Piepsen soll: "; cin >> count; while(i<count) { cout << "\aPieps (" << i + 1 << ")" << endl; i++; } }
Jedoch möchte ich z.B.: die Zeile mit der Ausgabe "cout << "\aPieps......"
in eine eigene Funktion schreiben, dass mir die Funktion die Ausgabe mit Pieps + nummer gibt.
hier mal ungefähr aber es funktioniert nicht und ich weis auch nicht wie ich das sonst machen soll.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include <iostream> using namespace std; int main() { int i = 0; int count = 0; double func_alarm; double func_alarm(int i) { cout << "\aPieps (" << i + 1 << ")" << endl; } cout << "Bitte geben sie ein, wieoft ich Piepsen soll: "; cin >> count; while(i<count) { func_alarm(i); i++; } }
und wenn das noch möglich wäre, die Funktion in eine externe Datei zu schreiben.
thx + mfg fap
-
Funktionsdefinitionen innerhalb von Funktionen (lokale Feunktionsdefinitionen) sind in C/C++ nicht erlaubt.
Schiebe Deine Funktion func_alarm aus der main-Funktion raus, schreibe die Deklaration der Funktion in die Headerdatei und es sollte funktionieren.
Noch ein Tip:
Wenn du im Forum eine neue Frage stellst, mache einen neuen Thread auf. Vor Allem, wenn der alte Thread schon als 'erledigt' gekennzeichnet ist.
-
Nachdem Du das oben hingekriegt hast:
dazu legst du eine neue .c-Datei an (z.B. my_func.cpp) in die Du die Funktion func_alarm hineinkopierst. Aus der Datei mit der main-Funktion löschst Du sie dann. Weiterhin legst Du eine passende Headerdatei an (z.B. my_func.h) an, in die Du die Funktionsdeklaration schreibst. Diese entfernst Du aus der anderen Headerdatei. Nun mußt Du nur noch die neue Headerdatei (my_func.h) in beiden .cpp-Dateien includieren und fertig.und wenn das noch möglich wäre, die Funktion in eine externe Datei zu schreiben.
Ich hoffe, das ist nicht zu chaotisch erklärt. Wenn Du's nicht verstehst, sag Bescheid.
-
16.02.06 22:01 #12
Hoi thx mal für die schnelle Antwort nur funktioniert bei mir die Funktion nicht.
Da ich nicht weis wie ich "char" bei einer Funktion ausgebe.
Ausserdem check ich das mit der externen Funktion auch ned :'(.
sry, das ich kein neues Thema aufgmacht hab und das mit dem Status "erledigt" war mehr oder weniger ein versehen.Geändert von FingerSkill (16.02.06 um 22:04 Uhr)
-
Wenn du die Funktion in eine externe Datei auslagern willst, brauchst du eine .cpp für den Code und eine .h für die Funktionsdeklaration (wurde eigentlich schon erklärt).
Warum verwendest du für deine Alarmfunktion eigentlich "double" als Rückgabewert? Die Funktion gibt nichts zurück und der Compiler müsste auch auch meckern, wenn ein Rückgabewert deklariert, aber dann nichts zurückgegeben wird (trifft auch auf main zu).
Hier mal der Code, wie funktionieren sollte:
Hauptdatei:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include <iostream> #include "func_alarm.h" using namespace std; int main() { int i = 0; int count = 0; cout << "Bitte geben sie ein, wieoft ich Piepsen soll: "; cin >> count; while( i < count ) { func_alarm(i++); } return 0; }
func_alarm.cpp:
Code :1 2 3 4 5 6 7 8 9
#include <iostream> #include "func_alarm.h" using namespace std; void func_alarm(int i) { cout << "\aPieps (" << i + 1 << ")" << endl; }
func_alarm.h:
GrußCode :1
void func_alarm(int i);
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
17.02.06 08:36 #14
Sehr fein, thx jetzt hab ichs kapiert.
Hab nur noch eine kleine frage kann ich in der header Datei mehrere Funktionen deklarieren?
Und das ich die Funktion als double deklariert hab, hab ich gmacht weil es in meinem Buch so beschrieben war aber da hat sie auch eine Gleitkommazahl zurückgegeben.
thx nochma
-
17.02.06 09:44 #15
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Naja, du schreibst die Funktionsdeklarationen einfach hintereinander...
Zitat von fapster
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
PHP Socket aber welchen
Von VanHellsehn im Forum PHPAntworten: 6Letzter Beitrag: 29.07.10, 13:17 -
E-Shop! Aber welchen?
Von nordi im Forum PHPAntworten: 1Letzter Beitrag: 17.09.07, 23:16 -
Welchen Compiler bzw. Biblioth. zur grafischen Programmierung
Von Bigale81 im Forum C/C++Antworten: 1Letzter Beitrag: 05.09.07, 13:37 -
Scanner...aber welchen?
Von Macler im Forum HardwareAntworten: 0Letzter Beitrag: 31.05.04, 13:13 -
Welchen Compiler nehmen?
Von Corioc im Forum Coders TalkAntworten: 7Letzter Beitrag: 06.01.04, 14:48





Zitieren
Login






