Nur eine Zahl in der Eingabe bei C

F

Felix1

Neues Mitglied
Thread Starter
Dabei seit
19.02.2009
Beiträge
7
Reaktionspunkte
0
Hallo zusammen, ich muss für mein Studium anfangen in C zu programmieren. Ich habe bisher noch keine Erfahrungen beim programmieren.
Ich würde gerne XCode nutzen. Die aktuellste Version ist bereits auf meinem Mac OS 10.8 installiert.
Jetzt möchte ich ganz einfach einen Wert einlesen und diesen wieder ausgeben, also scanf und printf. Das funktioniert auch soweit aber wenn ich das Programm in XCode abspiele kann ich nur eine einzige Zahl eingeben, bzw. wird mir nur eine einzige Zahl in der Eingabe angezeigt. Wenn ich 11 eingebe, steht in der Eingabe 1 und in der Ausgabe 11. Bei char und float tritt das selbe Problem auf. Woran liegt das?
Hier ist mein simpler Quelltext und ein Bild von der Ausgabe:

http://imageshack.us/photo/my-images/832/ohnetitelt.png/

Code:
#include <stdio.h>

int main(){
    int zahl;
    
    printf("Hallo \n");
    
    scanf("%i", &zahl);
    printf("%i", zahl);


}
 
Das liegt an Xcode, keine Ahnung warum. Starte dein Programm mal nicht über Xcode, dann sollte es funktionieren.
 
Das liegt an Xcode, keine Ahnung warum. Starte dein Programm mal nicht über Xcode, dann sollte es funktionieren.

Kann ich komischerweise nur bestätigen. Habe es gerade auch Probiert. Merkwürdig.

Normal über den Terminal, mit zB vi klappt es "natürlich" Problemlos. Also der Code ist korrekt, falls es dir darum geht. (Als Hinweis, mit Int hätte das nichts zu tun bei dieser Problematik! ;) ) Das weitere wirst du denke ich lernen. ;)
 
Kann ich denn aus Xcode raus das Programm direkt im Terminal starten?
 
Kann ich denn aus Xcode raus das Programm direkt im Terminal starten?

Ich habe es jetzt noch nicht Probiert, aber du müsstest es eigentlich können. leider ist es lange her das ich damit gearbeitet habe und leider ist es sehr erschreckend das ich alles vergessen habe :p
Musste sogar kurz über den Code nachdenken ^^

*edit*
also komischerweise geht der gcc compiler bei mir nicht und somit kann ich es nicht wirklich testen... eigentlich würde dieser mit der .c eine a.out erstellen welche man starten kann.
(wie gesagt, ich bin komplett aus diesem Thema raus, daher berichte ich hier nur von Bruchteilwissen, hätte dir gerne mehr geholfen.)
 
Wenn du mit Xcode Probleme hast, nimm doch für den Anfang einen ganz normalen Code-Editor mit Syntax-Highlighting, wie zB. TextMate, der seit neustem Open Source ist und hier gibt es auch ein fertiges Build. (10.7 vorausgesetzt) und das Kompilieren kannst du ja im Terminal mit folgenden Befehlen:

1) Kompilieren mit: "gcc DeinCode.c -o DeinProgramm"

2) Die Datei ausführbar machen (müsste eigentlich überflüssig sein): "chmod a+x ./DeinProgramm"

3) Programm ausführen: "./DeinProgramm"
 
Wenn du mit Xcode Probleme hast, nimm doch für den Anfang einen ganz normalen Code-Editor mit Syntax-Highlighting, wie zB. TextMate, der seit neustem Open Source ist und hier gibt es auch ein fertiges Build. (10.7 vorausgesetzt) und das Kompilieren kannst du ja im Terminal mit folgenden Befehlen:

1) Kompilieren mit: "gcc DeinCode.c -o DeinProgramm"

2) Die Datei ausführbar machen (müsste eigentlich überflüssig sein): "chmod a+x ./DeinProgramm"

3) Programm ausführen: "./DeinProgramm"

Hast du eine Ahnung/Idee warum bei mir gcc nicht funktioniert.

"-bash: gcc: command not found"
 
Hast du eine Ahnung/Idee warum bei mir gcc nicht funktioniert.

"-bash: gcc: command not found"

Wahrscheinlich hast du ein neueres Xcode, bei dem die Command Line Tools nicht installiert sind (Preferences -> Downloads). Eine andere Möglichkeit ist "xcrun gcc".
 
  • Gefällt mir
Reaktionen: _ebm_
Hast du eine Ahnung/Idee warum bei mir gcc nicht funktioniert.

"-bash: gcc: command not found"
Der findet das Kommando einfach nicht, hat nichts mit "nicht funktionieren" zu tun. Es gibt irgendeinen Befehl um den Index neu zu laden, aber der fällt mir gerade nicht ein. Schau halt ob du in dem Developer Ordner ein "/usr/bin"-Ordner hast, dort müsste der gcc drin sein. Kannst ja dann den kompletten Pfad angeben. Als Notlösung wäre ein Eintrag à la "export PATH=$PATH:/Developer/usr/bin" in die .bash_profile-Datei.
 
/usr/bin gehört zum Standard-Suchpfad der Bash. Das hat auch nix mit Index zutun. Wie oben schon geschrieben, fehlen Die CommandLineTools. Einfach installieren und glücklich werden.

Xcode ist, was Konsolenprogramme angeht, sehr stiefmütterlich aufgestellt. Man soll damit ja auch grafische Programme entwickeln. Für den Anfang wäre da wahrscheinlich tatsächlich ein einfacher Editor mit Highlighting nicht falsch.
 
Hallo,

eine Entwicklungsumgebung würde ich zum Erlernen einer Programmiersprache nicht verwenden. jEdit ist ein guter Editor, den ich unter Linux verwendete, und den es auch für OSX gibt. Er benötigt aber zwingend Java: JEdit Home

Der Editor läßt sich umfassend einstellen. Hier ein Beispiel unter Vista, ein Progrämmchen aus alten Zeiten.

jEdit-Beispiel.jpg
 
eine Entwicklungsumgebung würde ich zum Erlernen einer Programmiersprache nicht verwenden.
Warum? Damit man neben der Sprache auch noch Kompileroptionen lernen muss?

Abgesehen davon würde ich als Anfänger auf jeden Fall clang statt gcc verwenden, die Fehlermeldung sind um Welten hilfreicher.

Statt xcode ist es imo gut Code::Blocks zu verwenden. Erschlägt einen am Anfang vielleicht weniger und ist spezifisch für C/C++ gedacht.
 
Warum? Damit man neben der Sprache auch noch Kompileroptionen lernen muss?
Was für spezielle Compiler-Optionen braucht man denn bitte als Anfänger? Der einzige Vorteil von einer Entwicklungsumgebung wäre, dass er das Programm mit einem Klick kompilieren und ausführen kann. Den ganzen Rest braucht er doch anfangs garnicht und lenkt ihn höchstens ab. Dabei ist das neukompilieren und ausführen im Terminal doch echt kein Zeitaufwand, sofern man es nicht im Sekundentakt macht. Vielleicht überlegt er dann auch 2 Sekunden länger, was er eigentlich geschrieben hat, bevor er es ausprobiert.

Davon mal abgesehen sind die meisten Entwicklungsumgebungen einfach potthässlich. :p
 
Der Grund ist, weil man mit einem einfachen Editor die Sprache von der Pike auf lernt, während eine Entwicklungsumgebung einem, für den Anfang, zu viel abnimmt.
Es gibt wie üblich Ausnahmen, so etwa als ich mit VisualBasic 3.0 Prof anfing, da nahm man natürlich die angebotene Entwicklungsumgebung.
 
Ich glaube nicht, dass die Entwicklungsumgebung einem zu viel abnimmt. Eher muss man erst einmal die Entwicklungsumgebung lernen, was es schwierig macht, Konzepte der Sprache zuordnen zu können, gegenüber denen, die zur IDE gehören. Eine IDE ist oft nicht nur ein aufgehübschter Editor mit Code Completion und Syntax Highlighing, ergänzt mit einem Run-Button, sondern enthält vielmals auch Code-Generatoren, die einem ein Programmskelett nach Geschmack des Herstellers vorlegen. Der Lernende kann das noch nicht unterscheiden. Darum finde ich IDEs oft für ungeeignet und würde einen guten Editor empfehlen.

Gruß Carsten
 
Zurück
Oben Unten