Veröffentlicht 3. September 200123 j Hi Ich arbeite noch nicht lange mit C++. Für die Eingabe und Ausgabe habe ich scanf und printf benutzt. Dazu hätte ich mal 3 Fragen. 1.)Wie bekomme ich das hin, dass ich auch Buchstaben einlesen und die nachher wieder ausgeben kann? (Hab ich bisher nur mit Zahlen geschafft.) Bzw wie müssen die Variablen dafür definiert sein? 2.) Wie muss ich die Variablen definieren, damit ich auch Werte mit Komma eingeben / einlesen und rausbekommen kann? Wenn ich momentan z.B. 2,3 eingebe, dann wertet der das in der Funktion wie erster Wert 2 und zweiter Wert 3. 3.) Wie müssen die Variablen definiert sein, damit ich in einer Variablen Zahlen die länger als 10 Stellen sind speichern kann und nicht immer einen Overflow kriege? MfG Crash2001
3. September 200123 j 1. zeichenkette einlesen: #include "stdafx.h" int main(int argc, char* argv[]) { char test[250]; printf("test : "); scanf("%s",test); printf("\n mein test : %s \n",test); return 0; } einzelnes Zeichen waere %c 2. bei kommazahlen brauchst du natuerlich Typen wie bei 3 (%d ist integer) und ich denke du musst punkte schreiben statt kommas 3. probiers mal mit %e oder %f fuer float oder double nebenbei hat dir captain die ManPage fuer scanf und printf geschickt???? da ist das auch beschrieben ach so cin ist simpler gestrickt (aber scanf ist besser ) Liebe Gruesse Hasi <FONT COLOR="#a62a2a" SIZE="1">[ 03. September 2001 15:16: Beitrag 2 mal editiert, zuletzt von Hasi ]</font>
3. September 200123 j Autor Hi Danke erstmal. Aber die Headerdatei <stdafx.h> kennt mein Compiler irgendwie nicht. Die ist auch nicht auf der Festplatte drauf. Die Manpage habe ich, aber leider i.M. nicht hier auf der Arbeit, sondern nur zu Hause. Naja, ist ja sowieso bald Schluss hier. Dann schau ich mir das noch mal genauer an. MfG Crash2001
3. September 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Crash2001: <STRONG>Aber die Headerdatei <stdafx.h> kennt mein Compiler irgendwie nicht.</STRONG>
3. September 200123 j Autor Hi Die hab ich auch included. Aber die andere Datei scheint es hier nicht zu geben. MfG Crash2001
3. September 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Crash2001: <STRONG>Die hab ich auch included. Aber die andere Datei scheint es hier nicht zu geben.</STRONG>
3. September 200123 j kommentier die stdafx einfach aus. wahrscheinlich benutzt du borland builder oder sowas.
3. September 200123 j Autor <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von MAXIMUS*LEVIUS: <STRONG>kommentier die stdafx einfach aus. wahrscheinlich benutzt du borland builder oder sowas.</STRONG>
4. September 200123 j kleiner tip: wenn du mehr über einen befehl wissen willst, klick mit der maus darauf und drück danach f1. die hilfe beim borland ist wirklich super!! da sind auch beispiele drin.
4. September 200123 j Autor Hi Danke für den Tip, aber das wusste ich schon. Das war das erste, was mir mein Ausbilder beim Borland-Teil gezeigt hat. MfG Crash2001
7. September 200123 j Hi, wozu der ganze stress mit print und scan printf und scanf? #include <iostream.h> int main () { long a,b,c; double x,y,z; cout<<"Bitte drei ganze Zahlen eingeben:\n"; cout<<"Durch Leerzeichenen oder Return getrennt!\n"; cin>>a>>b>>c; cout<<"\nJetzt drei Fliesskommazahhlen:\n"; cout<<"Durch Leerzeichen oder Return getrennt und Punkt statt Komma!"<<endl; cin>>x>>y>>z; cout<<"\nSie Haben folgende Zahlen eingegeben.\n"; cout<<"Zahl 1: "<<a<<endl; cout<<"Zahl 2: "<<b<<endl; cout<<"Zahl 3: "<<c<<endl; cout<<"Zahl 4: "<<x<<endl; cout<<"Zahl 5: "<<y<<endl; cout<<"Zahl 6: "<<z<<endl; return 0; } cu HighFly <FONT COLOR="#a62a2a" SIZE="1">[ 07. September 2001 12:55: Beitrag 2 mal editiert, zuletzt von HighFly ]</font>
8. September 200123 j Autor <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von HighFly: <STRONG>Hi, wozu der ganze stress mit print und scan printf und scanf? #include <iostream.h> int main () { long a,b,c; double x,y,z; cout<<"Bitte drei ganze Zahlen eingeben:\n"; cout<<"Durch Leerzeichenen oder Return getrennt!\n"; cin>>a>>b>>c; cout<<"\nJetzt drei Fliesskommazahhlen:\n"; cout<<"Durch Leerzeichen oder Return getrennt und Punkt statt Komma!"<<endl; cin>>x>>y>>z; cout<<"\nSie Haben folgende Zahlen eingegeben.\n"; cout<<"Zahl 1: "<<a<<endl; cout<<"Zahl 2: "<<b<<endl; cout<<"Zahl 3: "<<c<<endl; cout<<"Zahl 4: "<<x<<endl; cout<<"Zahl 5: "<<y<<endl; cout<<"Zahl 6: "<<z<<endl; return 0; } cu HighFly</STRONG>
10. September 200123 j Hi crash2001 ! <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> Ich benutze aber normalereise printf und scanf, weil ich damit von Anfang an gearbeitet habe und man damit mehr machen kann.
10. September 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von captain haddock: <STRONG> Meinst du, daß *du* damit mehr machen kannst, weil du dich noch nicht mit istreams/ostreams auseinandergesetzt hast ? Die haben nämlich -als Objekte - einige interessante Eigenschaften, die du mit printf/scanf nicht so einfach nachbilden kannst. Stichworte z.B. Status-Bits, Stream-Umleitung... Es gibt noch einen anderen guten Grund, sich damit auszukennen: du bist nicht der einzige Programmierer, und mit Sicherheit wird dir inrgendwann Quelltext unterkommen, der diese Sachen verwendet. Dann wär's schon besser, zu verstehen, was gemeint ist :-) </STRONG>
11. September 200123 j Absolut meine Rede. Es gibt IMHO so gut wie keinen Grund, warum nicht mit printf,scanf,fprintf,usw... arbeiten sollte. Abwärtskompatibel zum ANSI-C ist C++ immer.
11. September 200123 j Hi noch mal, endl; weil er den Buffer leert und ne neule Zeile anfängt. wie fflush(stdin); -------------------- >>>>benutzt auch lieber stdio aber was solls? cu higher
12. September 200123 j @EisenUli: Da will ich Dir gar nicht widesprechen, ich habe ja auch nicht aufgerufen, die stdio.h zu vergessen. Irgendwie geraten wir zwei beide öfter in Widersprüche, die gar keine sind. Was ich zum Ausdruck bringen wollte war, daß es nicht schadet, beide Wege zu kennen. Warum, kann man ja nachlesen. Ich habe die manpage zu printf, sprintf, fprintf... auch immer zur Hand, gelle Ich benutze das auch oft, gerade dieser Tage mußte ich feststellen, daß die MFC noch nicht mal einen 'ostream operator<< (CString)' beinhaltet. Windowsprogrammierung erfordert nach wie vor gestandene C-Programmierer, der auch C++ kennt. N.B. ich rühme iostream gar nicht. Die ganze Formatierung etc. kann viel, aber ich finde sie zehnmal räudiger als ein schlichtes printf ;-) Eigentlich wollte ich gerade nachtragen, was nun HighFly schon getan hat. Wenn das kein Argument ist ? Ich hatte ja schon in einem anderen thread zum Thema Leichen im Eingabepuffer geschrieben. Der Käptn
12. September 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von captain haddock: <STRONG>Irgendwie geraten wir zwei beide öfter in Widersprüche, die gar keine sind.</STRONG>
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.