Ausgabe und Eingabe mit Übergabe an Variablen aller Art
-
Hallo alle zusammen,
ich bin ein kompletter Frischling in C++ und habe ein kleine Frage:
Ich habe ein kleines Exponentenprogramm geschrieben, das zuerst nicht
richtig funktionieren wollte und habe es dann umgeschrieben. Jetzt
sieht es folgendermassen aus:#include <iostream> #include <stdio.h> #include <stdlib.h> #include <cmath> using namespace std; int main(int argc, char *argv[]) { double DBL_startwert, DBL_laufzeit, DBL_faktor, DBL_endergebnis; cout<<"Startwert: "; cin>>DBL_startwert; cout<<"Laufzeit: "; cin>>DBL_laufzeit; cout<<"Faktor (in Prozent!): "; cin>>DBL_faktor; DBL_faktor=(DBL_faktor/100); DBL_endergebnis=DBL_startwert*(pow(DBL_faktor, DBL_laufzeit)); cout<<DBL_endergebnis; cout<<"\n"; system("PAUSE"); return 0; }
Nun, ich habe immer noch mühe irgendwelche Zeichenketten (String, Chars) zu übernehmen.
Kann mir jemand weiterhelfen?Und mit scanf und printf kann ich keine Variablen ausgeben/eingeben. Wieso?
Danke für eure Antworten!
MFG
ein weiterer Anfänger...
-
Wo liegt jetzt dein Problem?
-
DarthZiu schrieb:
Wo liegt jetzt dein Problem?
hm? Unten steht's doch.
-
hi,
meinst du über die Tastatur??? Dann würd ichgetline(cin, Ziel); //???
nehmen, dass ist in der
#include <iostream> using namespace std;
Wenn nicht, drück dich bitte präziser aus ?!
Gruß eXitus
-
MHK schrieb:
Nun, ich habe immer noch mühe irgendwelche Zeichenketten (String, Chars) zu übernehmen.
Kann mir jemand weiterhelfen?
Und mit scanf und printf kann ich keine Variablen ausgeben/eingeben. Wieso?Mit dieser "Fehlerbeschreibung" weiß ich nicht, wo dein Prob liegt.
Was genau meinst du mit "ich habe immer noch mühe irgendwelche Zeichenketten (String, Chars) zu übernehmen."?
Und wieso "mit scanf und printf kann ich keine Variablen ausgeben/eingeben."?
-
Achja, und bitte nimm das System("Pause") raus, mach lieber ein
cin.get() //oder getchar();
, weil das Programm sonst nicht ganz plattform unabhängig ist, bei erneuten kompilieren auf einem anderen System...
Gruß eXitus
-
@Exitus
Danke vielmals!
Ich werde das bei Gelegenheit ausprobieren!
Kennst du ein Tutorial dazu?
-
Ok es muss heißen:
getline (cin /*für Standarteingabe*/, texteingabe);
Aber ich weis bnicht genau in Welchem Header, es gibt nämlich auch noch
cin.getline(Zeil, Länge);
Suche mal ein paar Seiten, mom, editiwere dann...
Gruß eXitus
Ok habe was gefunden:
Mittels [b]getline(); [/b]kann eine Zeile in eine string-Variable eingelesen werden: [cpp]getline (cin, Zeile);[/cpp] Alle Zeichen aus dem Eingabstrom bis zum nächsten Auftreten des Zeilenende- Zeichens werden in der string-Variablen Zeile abgelegt, die dabei automatisch auf die erforderliche Größe gebracht wird. Das Zeilenende-Zeichen selbst wird nicht in der string-Variablen abgelegt. Soll bis zu einem anderen als dem Zeilenende-Zeichen gelesen werden, so kann dieses als drittes Argument angegeben werden. Folgender Aufruf liest alle Zeichen bis zum nächsten . in die string-Variable Satz: [cpp]getline (cin, Satz, '.');[/cpp] Wenn der Rest der Eingabe bis zu einem bestimmten Zeichen nicht benötigt wird, kann die Element-Funktion ignore (int n=1, char c=EOF) benutzt werden. Es werden alle Zeichen bis zum nächsten Auftreten des Zeichens c (und einschließlich dieses Zeichens), maximal aber n Zeichen aus dem Eingabestrom entfernt.
Und achja:
Die Parameter aus int main() kannste entfernen, die sind nur zum einlesen von Kommandozeilenparameter da, und du liest ja anscheinend nix einzum 3.Mal
gruß eXitus