Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   Erste Anfänge mit C++ (https://www.tweakpc.de/forum/programmiersprachen/16315-erste-anfaenge-mit-c.html)

Gast 12.06.2004 15:08

Erste Anfänge mit C++
 
Huhu,

Da ich jetzt ernsthaft anfangen will C++ zu lernen, hab ich mal ne Frage an euch.
Ích hab hier ein C++ Buch zur Hand namens "C++ Programmieren mit Stil".

In diesem Buch steht alles sehr schön beschrieben, aber es steht nich drin was ich für C++ brauche. Kann ich einfach ganz stumpf mit dem Notenpad drauflos proggen oder brauch irgendwelche Compiler usw?

Live 12.06.2004 15:45

Hier bekommste alles kurz und knapp was du brauchst:
[url]http://c.theflow.de/[/url]

Pirke 12.06.2004 16:55

Du brauchst dafür einen C++ Compiler, wie z.B. Borland C++ oder Visual C++ von MS, es gibt aber auch DevC++, der ist kostenlos.

tele 12.06.2004 20:53

oder enfach nur einen GNU C compilerwie gcc

Live 13.06.2004 07:26

[quote=telepornos]oder enfach nur einen GNU C compilerwie gcc[/quote]

siehe oben ;)

Pirke 13.06.2004 08:47

[quote=telepornos]oder enfach nur einen GNU C compilerwie gcc[/quote]
¿DevC++?

HyperY2K 13.06.2004 09:48

er kann auch den MS Compiler nehmen, der ist auch Freeware...

Pirke 13.06.2004 09:53

[quote=HyperY2K]er kann auch den MS Compiler nehmen, der ist auch Freeware...[/quote]
Das ist dann aber nur der Compiler, bei DevC++ ist ja die ganze Umgebung dabei...

HyperY2K 13.06.2004 10:22

ja ich sach´s ja nur...

Kodak 13.06.2004 10:25

Huhu,

also der Beitrag stammt ja von mir, war nur nich eingeloggt.

So, ich hab beschlossen erstmal mit C anzufangen und danach C++.

Ich hab jetzt auch schon als Compiler den Turbo C von Borland(?).

Und jetzt hab ich auch noch ne Frage! :D

Also: Ich hab folgendes "Programm" geschrieben. Das Wissen dazu hab ich mir aus etlichen Tutorials rausgesucht. Und jetzt zu meiner Frage: Wie kann ich einen Zeilenumbruch machen? Also das das "taste drücken" in der nächsten zeile steht.


main()
{
int a = 10, b = 15, c = 25;
printf ("%d + %d = %d", a, b, c);
printf ("Taste drücken um zu beenden.");
getch();
}

Live 13.06.2004 10:26

Zeilenumbruch in der Bildschirmausgabe durch "\n"

Kodak 13.06.2004 10:33

Und wo muss ich das /n hinschreiben? :?:

Pirke 13.06.2004 10:46

[code]main()
{
int a = 10, b = 15, c = 25;
printf ("%d + %d = %d", a, b, c);
printf ("Taste drücken um zu beenden.\n");
getch();
}[/code]

In den printf mit rein, so wie ich s gerade mal gemacht habe....

HyperY2K 13.06.2004 10:59

oder so:

[code]

main()
{
int a = 10, b = 15, c = 25;
print ("%d + %d = %d", a, b, c);
println ("Taste drücken um zu beenden.");
getch();
}

[/code]

Pirke 13.06.2004 11:04

Das wäre dann aber doch C++ bzw JAVA und nicht C, oder?

HyperY2K 13.06.2004 11:08

ja schon, aber da die meisten compiler eh C/C++ Kombinationen sind, wird es auch gehen, aber Standard C ist printf...

tele 13.06.2004 11:46

ist die standard c++ ausgabe net cout ????

sys3 13.06.2004 17:01

[quote=telepornos]ist die standard c++ ausgabe net cout ????[/quote]Ja.

ChessTom 14.06.2004 22:09

Stimmt , und in Zusammenhang damit lautet der Zeilenumbruch endl;.Also cout >> "blablablabla" >> endl; .

Live 14.06.2004 22:17

[quote=ChessTom]Stimmt , und in Zusammenhang damit lautet der Zeilenumbruch endl;.Also cout >> "blablablabla" >> endl; .[/quote]

"<<" statt ">>", das wäre bei cin

ChessTom 14.06.2004 22:27

Hm! Klar.(böse Finger)Hab mir gerade überlegt , ob er die Header Datei iostream bei einem C Programm auch einbinden könnte , um ebenfalls mit cout arbeiten zu können.Soweit ich noch weiss ist cout/cin ein Bestandteil von iostream.h , oder?

tele 14.06.2004 23:13

in dem string nen \n sollte aber auch nen zeilenumbruch bringen

Stinger` 15.06.2004 13:15

[quote=telepornos]in dem string nen \n sollte aber auch nen zeilenumbruch bringen[/quote]

Wenn du es aber anstatt endl in einer Konsolenausgabe mit cout benutzt, wird der Puffer nicht geflusht. Deswegen statt \n endl nehmen :D.

tele 15.06.2004 15:07

aha, danke!

Kodak 23.06.2004 15:57

leute hab mich doch für C++ entschieden....

ich brauche mal von euch den befehl, das der user das programm mitm nem tasten druck beenden kann....

tele 23.06.2004 16:52

kommt drauf an was du meinst.

kosnsolen anwendung?

zwei möglichkeiten:

einaml mit getchar();

und zum anderen, wenn du die stdlib.h included hast mit

system("PAUSE");

Kodak 23.06.2004 21:10

getchar funzt net...
und wie meinst du das mit dem system pause??

Kodak 23.06.2004 21:23

bitte sagt mir mal was daran falsch ist? :( :( :(

mein ms visual c++ meldet da einen fehler und zwar folgenden:

c:\programme\microsoft visual studio\myprojects\rechner\rechenprog.cpp(16) : fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive fuer die vorkompilierte Header-Datei


hier is mein quellcode:

#include <iostream.h>

int x = 10, y = 15;

int a = x + y;

void main(void)

{
cout << "Ein kleines Rechenbeispiel:\n";

cout << x * y '\n';

cout << "Ergebniss:\n"; << a;
}

tele 23.06.2004 21:31

hm klingt eher nach nem fehler von visuual c++ , guck mal in den option paths nach ob der include path korrekt ist, und ob die header files auch wirklich dort sind

Kodak 23.06.2004 21:37

und wo kann ich das sehen?

tele 23.06.2004 22:08

in den options deines programmes (visul c) keine ahnung wo da was ist ich mach ncihts damit

Live 23.06.2004 22:15

Hat nix mit Visual zu tun, der Code ist einfach falsch - muss so sein:

#include <iostream.h>

int x = 10, y = 15;

int a = x + y;

void main(void)

{
cout &lt;&lt; "Ein kleines Rechenbeispiel:\n";

cout &lt;&lt; x * y &lt;&lt;"\n";

cout &lt;&lt; "Ergebniss:\n" &lt;&lt; a;
}

Live 23.06.2004 22:17

der iostream.h wurde verschluckt, muss da auch noch rein, hinter dem include

tele 24.06.2004 07:16

und da ist jetzt was anders?

Live 24.06.2004 07:20

[quote=Kodak]
cout &lt;&lt; x * y '\n';

cout &lt;&lt; "Ergebniss:\n"; &lt;&lt; a;
[/quote]

Das \n kommt in "" , es fehlen &lt;&lt; und ein ; hat nix mitten in nem cout zu suchen.

Mal gany davon abgesehen, dass das Programm Quatsch erzählt ;) und die int-Berechnungen auch in die Main sollten.

tele 24.06.2004 07:21

... wer lesen kann ... *selbst-patsch*

Stinger` 24.06.2004 13:22

[quote=Live]Hat nix mit Visual zu tun, der Code ist einfach falsch - muss so sein:
#include &lt;iostream.h>

int x = 10, y = 15;
int a = x + y;

void main(void)
{
cout &lt;&lt; "Ein kleines Rechenbeispiel:\n";
cout &lt;&lt; x * y &lt;&lt;"\n";
cout &lt;&lt; "Ergebniss:\n" &lt;&lt; a;
}[/quote]

Dein Code is aber auch falsch :o.

[code]
#include &lt;iostream> // ohne .h (Standardkonform)
using namespace std;

int x = 10, y = 15, a = x + y;

int main() // nicht 'void', sondern int (Standardkonform)
{
// Kein "\n", sonst wird der cout-Puffer nicht geleert
cout &lt;&lt; "Ein kleines Rechenbeispiel: " &lt;&lt; endl;
cout &lt;&lt; x * y &lt;&lt; endl;
cout &lt;&lt; "Ergebnis: " &lt;&lt; a &lt;&lt; endl;

cin.get();
return 0;
}
[/code]

Kodak 24.06.2004 15:32

boah ne ich gebs auf...

dauernd wenn ich versuche irgendwelche kleinen rechenprogramme zu scheiben, gibts beim kompilieren tausende von fehlern :evil: :evil: :cry:

Kodak 24.06.2004 15:37

einfache textprogramme wie zum beispiel:


#include &lt;iostream.h>

void main()

{
cout &lt;&lt; "Hier muss Text stehen " &lt;&lt; endl;

cout &lt;&lt; "und noch mehr text" &lt;&lt; endl;

cout &lt;&lt; "w00t__________________________________" &lt;&lt; endl;

cin.get();


}




is alles kein problem... nur wenns mit variablen deklarieren und wieder geben anfängt, dann klappts net mehr

Live 24.06.2004 16:03

[quote=Stinger`]Dein Code is aber auch falsch :o.
[/quote]

Falsch ist er nicht, ich habe seinen Visual Code nur korrigiert, nicht optimiert ;)
Demnach wäre auch dein Code auch immernoch falsch, weil simple lokale Variablen außerhalb der main hier nicht viel zu suchen haben.

Kodak 24.06.2004 19:01

hihi ich hab mein erstes mathe programm geschrieben *freu*... ladet euch das ma runter und guckt euch das an :lol:


[url]http://mitglied.lycos.de/k0dak/nummer1.exe[/url]

kerri 24.06.2004 19:27

Mensch Kodak!!!
.exe ist doof! kann ein Linuxer gar nix mit anfangen!
poste lieber den Code! Dann kann ichs mir selbst komplieren... ich poste ja auch nicht dauernd a.outs..... :lol: :lol:

Gruesse, kerri

Gast 24.06.2004 19:47

extra für kerri :lol: :lol: :wink:



#include <iostream.h>

void main(void)
{
cout &lt;&lt; "In diesem Rechner werden 2 Rechenarten vorgefuehrt:" &lt;&lt; endl;

cout &lt;&lt; "Zuerst die Addition:" &lt;&lt; endl;

int a = 0;
int b = 0;


cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;

cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;

cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "Den Wert fuer Variable A eingeben:";

cin >> a;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "Den Wert fuer Variable B eingeben:";

cin >> b; ;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "Das Ergebnis lautet:" &lt;&lt; a + b &lt;&lt; endl;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;

cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;

cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "Jetzt kommt die Multiplikation:" &lt;&lt; endl;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "Den Wert fuer Variable A eingeben:";

cin >> a;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "Den Wert fuer Variable B eingeben:";

cin >> b;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; " " &lt;&lt; endl;

cout &lt;&lt; "Das Ergebnis lautet:" &lt;&lt; a * b &lt;&lt; endl;

cin.get();

}

tele 24.06.2004 20:11

@ kerri kein WIne installiert? solche primitiv proggs sollten selbst damit laufen

Stinger` 24.06.2004 20:59

[quote=Live][quote=Stinger`]Dein Code is aber auch falsch :o.
[/quote]

Falsch ist er nicht, ich habe seinen Visual Code nur korrigiert, nicht optimiert ;)
Demnach wäre auch dein Code auch immernoch falsch, weil simple lokale Variablen außerhalb der main hier nicht viel zu suchen haben.[/quote]

Stimmt, die globalen Variablen hätte man auch lokal deklarieren können, aber naja... :D. *fehler-runterspiel* :).


[quote=Anonymous]extra für kerri :lol: :lol: :wink:



#include &lt;iostream.h>

void main(void)
{
cout &lt;&lt; "In diesem Rechner werden 2 Rechenarten vorgefuehrt:" &lt;&lt; endl;
cout &lt;&lt; "Zuerst die Addition:" &lt;&lt; endl;

int a = 0;
int b = 0;

cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout
&lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable A eingeben:";
cin >> a;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable B eingeben:";
cin >> b;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Das Ergebnis lautet:" &lt;&lt; a + b &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Jetzt kommt die Multiplikation:" &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable A eingeben:";
cin >> a;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable B eingeben:";
cin >> b;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Das Ergebnis lautet:" &lt;&lt; a * b &lt;&lt; endl;
cin.get();

}[/quote]
*hüstel* Wenn du schon C++ programmierst, dann halte dich doch an den aktuellen Standard, schließlich ist er dafür da :D.

[code]
#include &lt;iostream.h>

=> #include &lt;iostream>
using namespace std;
[/code]

[code]
void main(void)

=> int main(void)
{
[...]
return 0;
}
[/code]

Kodak 24.06.2004 22:00

[quote=Stinger`]
*hüstel* Wenn du schon C++ programmierst, dann halte dich doch an den aktuellen Standard, schließlich ist er dafür da :D.


[/quote]

ich dachte jetzt hab ich endlich mal was fehlerfreies programmiert aber anscheinded war das wohl doch nich der fall :cry:

kerri 25.06.2004 16:49

[quote=Stinger`]
[quote=Anonymous]extra für kerri :lol: :lol: :wink:



#include <iostream.h>

void main(void)
{
cout &lt;&lt; "In diesem Rechner werden 2 Rechenarten vorgefuehrt:" &lt;&lt; endl;
cout &lt;&lt; "Zuerst die Addition:" &lt;&lt; endl;

int a = 0;
int b = 0;

cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout
&lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable A eingeben:";
cin >> a;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable B eingeben:";
cin >> b;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Das Ergebnis lautet:" &lt;&lt; a + b &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; "______________________________________________________________" &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Jetzt kommt die Multiplikation:" &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable A eingeben:";
cin >> a;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Den Wert fuer Variable B eingeben:";
cin >> b;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; " " &lt;&lt; endl;
cout &lt;&lt; "Das Ergebnis lautet:" &lt;&lt; a * b &lt;&lt; endl;
cin.get();

}[/quote]
*hüstel* Wenn du schon C++ programmierst, dann halte dich doch an den aktuellen Standard, schließlich ist er dafür da :D.

[code]
#include &lt;iostream.h>

=> #include &lt;iostream>
using namespace std;
[/code]

[code]
void main(void)

=> int main(void)
{
[...]
return 0;
}
[/code][/quote]

Jo, genau das musste ich auch noch aendern, mein Compiler g++, der sich AFAIK an die Standards haelt, hat da drueber gemeckert und das Proggie nich kompiliert :(

@Kodak: Aller Anfang ist schwer, und ein Segmentation Fault kommt selten allein ;)

Gruesse, kerri

sys3 25.06.2004 21:24

Es gibt eh nur zwei Arten von fehlerfreien Programmen: Die einen sind kürzer als 20 Zeilen und das andere heißt Tex. :mrgreen:

Kodak 27.06.2004 21:03

und was is tex??

und warum sind die kürzer als 20 zeilen??

sys3 28.06.2004 20:48

TeX ist ein Textsatzprogramm. Wenn Du in TeX einen Fehler finden solltest, zahlt Dir der Programmierer glaube ich sogar eine Prämie.

Das mit den 20 Zeilen sollte andeuten, dass erfahrungsgemäß in jedem größeren Programm noch irgendwelche Fehler sind. Ok, mit 20 Zeilen habe ich etwas übertrieben, war nicht 100%ig ernst gemeint.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.