• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

fehlermeldung in eclipse

tak3

Jonathan
Registriert
21.01.07
Beiträge
81
hey hab ein problem mit eclipse. möchte ein c programm schreiben was auch soweit klappt.
wenn ich die befehle system("CLS"); oder system("PAUSE"); verwende zickt er rum und spuckt dies aus:
sh: CLS: command not found
sh: PAUSE: command not found

kann keine anderen befehle verwende so machen wir es in der schule. aber unter win mit dev c.
vll weiss hier jemand was ich falsch mach und wie man es beheben kann ?:-c
 

The-Kenny

Transparent von Croncels
Registriert
22.05.08
Beiträge
307
Dann sag dem Lehrer mal, er soll auf PlattformUNABHÄNGIGE Befehle zurückgreifen, und nicht auf Windows-only-Befehle.
Dev-C++ ist außerdem eine veraltete IDE.

Außerdem ist system(); in C(++) für sowas triviales sowieso schlechter Stil.

(Der Befehl um den Bildschirm in der Konsole zu leeren ist unter Unix/OSX "clear", das Equivalent zu "pause" ist mir gerade entfallen)
 

tak3

Jonathan
Registriert
21.01.07
Beiträge
81
thx für deine antwort

also bekomm ich wahrscheins system befehle nich zum laufen ? muss ich mir dann win installieren um das so hinzubekommen wie der das will ?^wär ja mies:p
 

The-Kenny

Transparent von Croncels
Registriert
22.05.08
Beiträge
307
Die Befehle werden von system() unverändert an die Konsole übergeben. Wenn du dort dann Windows-Befehle eingibst, werden diese unter OSX sehr wahrscheinlich nicht funktionieren.
 

tak3

Jonathan
Registriert
21.01.07
Beiträge
81
aso also grad 2 veränderungen mehr is das nich ?
 

CamDam

Doppelter Prinzenapfel
Registriert
15.06.08
Beiträge
439
Statt system("PAUSE"); kannst du auch mal getchar(); ausprobieren. Hier wartet das Programm (Win und Unix) auf eine Eingabe im Stream. Du mußt ja den char-Wert keiner Variablen zuweisen.

Edit: oder auch fgetc(stdin);
 

Herbschi

Jamba
Registriert
19.08.08
Beiträge
56
hey hab ein problem mit eclipse. möchte ein c programm schreiben was auch soweit klappt.
wenn ich die befehle system("CLS"); oder system("PAUSE"); verwende zickt er rum und spuckt dies aus:
sh: CLS: command not found
sh: PAUSE: command not found

kann keine anderen befehle verwende so machen wir es in der schule. aber unter win mit dev c.
vll weiss hier jemand was ich falsch mach und wie man es beheben kann ?:-c

Unter Eclipse braucht man diese Befehle auch nicht. Dev-Cpp macht für Programm-Ein-und Ausgaben ein Konsolenfenster auf, wenn das Programm ordnungsgemäß wieder beendet wird, allerdings auch gleich wieder zu. Alles was man daher von seinem Programm sieht, ist nur ein kurzes Zucken auf dem Bildschirm. mit SYSTEM("pause") kann man die Konsole anhalten, bis man alles gesehen hat. System("clr") löscht zwar den Bildschirm, aber wenn man das ernsthaft braucht, sollte man besser andere Bibliotheken verwenden.

Eclipse hat sein eigenes Konsolenfenster, wo einfache E/A (cin, cout) gemacht werden kann. Vorteil, da kann man auch später drin scrollen und sich älteres anschauen. SYSTEM(irgendwas) macht da sowieso keinen Sinn, soweit es E/A betrifft.

@The-Kenny:
Soo einfach ist eine konsolenorientierte E/A nicht mit plattformunabhängigen Befehlen zu lösen, schon gar nicht, wenn man mit gcc arbeitet. Außerdem finde ich, dass Dev-Cpp vor allem für Anfänger gar nicht so schlecht ist, es ist wesentlich einfacher und durchsichtiger zu bedienen als z.B. Eclipse. Und für Anfänger sind deine Argumente (veraltet, Wondows, Plattform) unsinnig, weil nicht wirklich nachvollziehbar.

Ich stelle meinen Studenten die Wahl der IDE immer frei, es kommt ja in Wahrheit auf das Programm an, das sie schreiben müssen. Die IDE ist nur ein Werkzeug, und das sollte für Anfänger immer so simpel wie möglich sein (was man leider von Eclipse nicht unbedingt behaupten kann).
;)
 

CamDam

Doppelter Prinzenapfel
Registriert
15.06.08
Beiträge
439
Die von mir in Beitrag #6 erwähnte Methode sollte eigentlich auf allen Systemen funktionieren.
 

CamDam

Doppelter Prinzenapfel
Registriert
15.06.08
Beiträge
439
@Herbschi
Ok, bin von C ausgegangen.
Wie wäre es mit der <cstdio>-Bib. :-D

------

In C++ gibt es eine ähnliche Lösung (a la getchar()).
char c;
cin.get(c);

Ta daaa :-D
Mann siehe und staune - dies funktioniert ebenfalls auf allen Systemen
 

Herbschi

Jamba
Registriert
19.08.08
Beiträge
56
@Herbschi
Ok, bin von C ausgegangen.
Wie wäre es mit der <cstdio>-Bib. :-D

------

In C++ gibt es eine ähnliche Lösung (a la getchar()).
char c;
cin.get(c);

Ta daaa :-D
Mann siehe und staune - dies funktioniert ebenfalls auf allen Systemen

OK, passt. Bin ich einverstanden mit. :p

Trotzdem braucht man das Konstrukt mit Eclipse im Prinzip gar nicht, da die IDE ein Eingabefenster und ein Ausgabefenster automatisch zu Verfügung stellt. Darin kann man sogar nach Programmbeendigung scrollen und wenn das System gut gelaunt ist, plaziert es bei Eingaben sogar den Cursor richtig. ;)

Aber mal eine ganz andere Frage: Im Gegensatz zu den diversen Behauptungen sind meine neuen Macs (ein iMac und ein MacBook) ohne die versprochenen CDs mit dem Entwicklungssystem ausgeliefert worden. Macht es Sinn, zu reklamieren oder soll ich mir das Ding einfach herunterladen? (Mir widerstebt nur, dass ich mich da bei der Apple Developer's Site anmelden muss, auch wenn's nix kostet.)
 

CamDam

Doppelter Prinzenapfel
Registriert
15.06.08
Beiträge
439
Ich würde reklamieren.
Ruf mal bei der Service-Hotline an.
Eventuell gibts zu den CDs/DVDs auch noch eine Gutschrift.
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Im Gegensatz zu den diversen Behauptungen sind meine neuen Macs (ein iMac und ein MacBook) ohne die versprochenen CDs mit dem Entwicklungssystem ausgeliefert worden.
Die Xcode Tools sind nicht auf einer eigenen Scheibe, sondern in einem Ordner der System DVD. Sollte eigentlich nicht zu übersehen sein, wenn man die System DVD einlegt.

Macht es Sinn, zu reklamieren oder soll ich mir das Ding einfach herunterladen? (Mir widerstebt nur, dass ich mich da bei der Apple Developer's Site anmelden muss, auch wenn's nix kostet.)
Nein, Sinn macht es in keinem Fall, es ergibt höchstens Sinn. Es ist aber völlig sinnlos deswegen anzurufen. Die mitgelieferte Version ist möglicherweise schon veraltet, weshalb ein Download schon sinnvoll sein kann.

MacApple