WinFuture-Forum.de: Anfängerfrage Zu C++ - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Anfängerfrage Zu C++


#1 Mitglied ist offline   Jonsc1 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 27. August 05
  • Reputation: 0

geschrieben 27. August 2005 - 16:10

Habe gerade angefangen meine ersten tapsigen Schritte mit c++ zu machen...
Hab einen guten Onlinekurs gefunden der für Anfänger sehr schön aufbaut.

Bin gerade dabei Variablen zu deklarieren und einen Wert zuzuweisen.

Habe also testweise einmal die Variable "int zahl" deklariert.
Im nächsten Schritt wollte ich der Variable "zahl" den Wert 42 zuweisen.
Der Quellcode dieses kleinen Programms war also folgender:

Zitat

int zahl;
zahl = 42;


Ich benutze übrigens Dev-C++ 4.9.9.2

Wenn ich jetzt testweise mal kompiliere, erhalte ich unten folgende Fehlermeldungen für die 2te Zeile:

Zitat

2 C:\Cplusplus\Unbenannt1.cpp expected constructor, destructor, or type conversion before '=' token


Zitat

2 C:\Cplusplus\Unbenannt1.cpp expected `,' or `;' before '=' token


Tja... da steh ich nun ich armer Thor...
Kann mir jemand mit ner Erklärung inc. Fehlerbehebung aushelfen?
0

Anzeige



#2 Mitglied ist offline   tosto 

  • Gruppe: aktive Mitglieder
  • Beiträge: 432
  • Beigetreten: 08. Januar 04
  • Reputation: 0

geschrieben 27. August 2005 - 21:02

also der quelltext war ja nur ein ausschnit, oder?
sonst wären da aber noch mehr fehler...
doch dem ist so!
hab das grad ausprobiert.
dein queltext muss so aussehen damit er funktioniert:
#include <iostream>

int main(){

int zahl;
zahl=42;

return 0;
}

erklärung: in der ersten zeile wird eine bibliothek eingelesen, darin stehen grundlegende befehle zur ein und ausgabe, dazu sollte in dem kurs aber schonw as gestanden sein sonst muss es ganz schnell kommen.
dann folgt mit int main(){} das "hauptprogramm". dieses wird zu erst ausgeführt, wichtig wenn funktionen kommen.
innerhalb der {} steht dann der quellcode von dir.
return 0; am ende ist wichtig weil manche compiler sonst meckern, bekomtm im zusammenspiel mit funktionen dann eine bedeutung das return. du kannst auch void main(){} schreiben, dann muss du das return weg lassen. näheres dazu sollte im kapitel funktionen kommen.

keine angst, noch macht dein programm keinerlei ausgaben, du hast es ihm noch nicht befohlen, und das dos fenster innerhalb dessen das programm ausgeführt wird solltest du nicht sehen, es schließ sich sofort wieder und der code ist so kurz das selbst bei wirklich alten rechnern das nur im bereich unter 100ms liegen dürfte.

achso: du kannst anstatt
int zahl;
zahl=42;

auch:
int zahl=42;
schreiben, ist einfacher. sollte in dem kurs auch stehen. irgendwo.

ciao

Dieser Beitrag wurde von tosto bearbeitet: 27. August 2005 - 21:09

0

#3 Mitglied ist offline   Jonsc1 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 27. August 05
  • Reputation: 0

geschrieben 28. August 2005 - 15:27

Danke für die ausführliche Antwort, das hat mein Problem wirklich behoben...
Eine ganz andere Frage:

Wenn ich dem Programm jetzt noch eine Ausgabe hinzufüge, wie bekomme ich es hin das das Fenster geöffnet bleibt, und nicht sofort wieder schliesst?

mfg
Jonsc1
0

#4 Mitglied ist offline   HuMaN 

  • Gruppe: aktive Mitglieder
  • Beiträge: 208
  • Beigetreten: 01. Januar 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Flensburg

geschrieben 28. August 2005 - 15:39

Mal ne andere Frage, kannst du mir dir Adresse zum Online-Kurs nennen?
0

#5 Mitglied ist offline   tosto 

  • Gruppe: aktive Mitglieder
  • Beiträge: 432
  • Beigetreten: 08. Januar 04
  • Reputation: 0

geschrieben 28. August 2005 - 15:43

eher unschöne methode, funktioniert aber: getchar();
dann wartet er eigentlich auf eine eingabe aus der tastaur, er tut dies auch, und beendet das dann wenn du enter drückst. dann sollte der stream eigentlich gespeichert werden, wird aber nicht, verläuft ins leere bzw. wird nicht beachtet. programm geht weiter.
jede andere abfrage der tastatur kann das auch erledigen, cin z.b.

ciao
0

#6 Mitglied ist offline   Jonsc1 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 27. August 05
  • Reputation: 0

geschrieben 28. August 2005 - 17:11

Ne Adresse zu nem anderen Onlinekurs den ich mittlerweile verwende, der meiner Meinung nach besser (einfacher) ist:
http://tutorial.scho....net/inhalt.htm
(fang am besten direkt bei 2. Grundlagen an)

hier der Kurs den ich vorher verwendet habe, ist umfangreicher aber schwieriger:
http://www.willemer....pp/cppgrund.htm

@denjenigen über mir:
Danke, das hilft...
Aber müsste es nicht
get.char(); heissen?
0

#7 Mitglied ist offline   tosto 

  • Gruppe: aktive Mitglieder
  • Beiträge: 432
  • Beigetreten: 08. Januar 04
  • Reputation: 0

geschrieben 28. August 2005 - 19:47

also bei mir macht es getchar().
get.char(), wüsst nicht das das existiert...ich kann mich aber auch täuschen, so ist es nicht, getchar() funktioniert auf jeden fall!

ciao
0

#8 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 28. August 2005 - 20:08

müsste unter Windows funktionieren:
system("PAUSE");

0

#9 Mitglied ist offline   Torian 

  • Gruppe: aktive Mitglieder
  • Beiträge: 68
  • Beigetreten: 01. September 04
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. August 2005 - 20:24

Jep mit system geht es auch dazu müsstest du allerdings oben noch
#include <cstdlib>

anhängen.
Am einfachsten ist es unter devc++ aber nicht eine neue Quelldatei zu erstellen sondern ein neues Projekt anzulegen und da dann Dos-Anwendung zu wählen dann hast du den ganzen standard-scheiß schon drin.

Gruß
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0