Thema: [pascal] string einlesen
-
18. 01. 2010, 09:36 #1Mitglied
- Registriert seit
- Apr 2007
- Beiträge
- 76
[pascal] string einlesen
Hallo ich habe ein kleines problem!
Nehmen wir mal das als Beispiel;
Er soll also 2 Variable vom typ strin einlesen, und sie dann nacheinander ausgeben, eigentlich ganz simpel aber warum liest er y nicht ein? Das Programm ließt nur X ein und springt direkt zur Ausgabe, also y zeigt er auch noch an, ließt aber nicht ein! Also das ganze sieht dann so aus:Code:program test; uses crt; var y,x:string; begin writeln ('x'); read (x); writeln ('y'); read (y); writeln ('Ausgabe: ',x,y); readkey; end.
wenn qqq bei X eingegeben wurde.Code:x qqq y Ausgabe: qqq
Ich bin noch ein totaler Anfänger, aber wieso macht er das nicht? Wäre nett wenn ihr einen tipp hättet!
Achja: als Compiler wird Free Pascal verwendet!Geändert von CrackBimbo (18. 01. 2010 um 09:50 Uhr)
-
18. 01. 2010, 10:02 #2
Re: [pascal] string einlesen
Warscheinlich werden Zeichen im Input-Buffer sein.
Mach den mal leer.
-
18. 01. 2010, 12:32 #3Mitglied
(Threadstarter)
- Registriert seit
- Apr 2007
- Beiträge
- 76
Re: [pascal] string einlesen
und wie macht man das, ich dachte mir schon, dass das irgendwie was mit damit zu tun hat, ich wusste aber nicht wie ich er die Variable wieder "Vergessen" kann!
-
18. 01. 2010, 15:44 #4
Re: [pascal] string einlesen
In C geht das mit fflush(stdin). Such am besten mal nach einer Pascal-Prozedur, die Flush, oder so ähnlich heißt.
-
18. 01. 2010, 16:45 #5Mitglied
(Threadstarter)
- Registriert seit
- Apr 2007
- Beiträge
- 76
Re: [pascal] string einlesen
Also ich hab jetzt mindestens ne stunde gegoogelt aber ich fi einfach nichts, es muss doch irgentwas geben, womit man die variable löschen zurücksetzen kann.
Hat niemand ne idee?
-
18. 01. 2010, 20:18 #6
Re: [pascal] string einlesen
>> fflush(stdin)
Schäm dich. Du hast nicht aufgepasst. In C ist es undefiniertes Verhalten, den Input-Stream zu flushen.
-
18. 01. 2010, 22:16 #7
Re: [pascal] string einlesen
In C++ ist es ifstream::sync()

Also vlt irgendetwas mit sync.
-
18. 01. 2010, 23:35 #8Mitglied
(Threadstarter)
- Registriert seit
- Apr 2007
- Beiträge
- 76
Re: [pascal] string einlesen
also ich hab jetzt rausgefunden worans lag:
man muss statt read readln verwenden, dann ließt er soviele ein wie man will also praktisch so:
Code:program test; uses crt; var y,x:string; begin writeln ('x'); readln (x); writeln ('y'); readln (y); writeln ('Ausgabe: ',x,y); readkey; end.
-
20. 01. 2010, 16:51 #9
-


Zitieren
Ups! Naja - war ja auch nur als Anhaltspunkt gedacht, um vielleicht ein Pascal-Äquivalent zu finden.
mehr lesen...







FoWL: Unterstützungserklärung für...
Heute, 12:14 in gulli:news