Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Variablen

Empfohlene Antworten

Veröffentlicht

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 :)

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>

  • 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 :)

<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>

<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>

kommentier die stdafx einfach aus. wahrscheinlich benutzt du borland builder oder sowas.

  • 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>

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.

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>

  • 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>

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.

<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>

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.

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

@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 :D

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

<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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.