![]() |
if schleife in einer konsohle
hallo leute nun arbeiten auch wir mit der konsolenanwendung nun hab ich folgende Frage
wie kann ich eine IF-schleife erstellen bei der ich z.b. wenn ich eingebe "yes" das program vortgesetzt wird und wenn ich sage "no" es von vorne begint würde mich über schnelle antworten freuen mfg justloosit |
Re: if schleife in einer konsohle
1. Es gibt keine if-Schleifen
2. wie Eingabe geht weist du?
Delphi-Quellcode:
Dann kannst du einfach mittels
strvar = ReadLn();
Delphi-Quellcode:
weitermachen.
if strvar = 'yes' then
... |
Re: if schleife in einer konsohle
irgendwie ist das glaube ich die 2. Post, in der eine if-Schleife angesprochen wird :lol: :lol:
|
Re: if schleife in einer konsohle
Wie wäre es mit Kopfgesteurerten bzw. fußgesteuerten Zyklen? Diese zyklen laufen mit Abbuchbedingungen und würden deiner "if-Schleife" gleich kommen ;-)
|
Re: if schleife in einer konsohle
Konsole bitte ohne h
hat nichts mit der Schuhsohle zu tun |
DP-Maintenance
Dieses Thema wurde von "mkinzler" von "Freeware" nach "Object-Pascal / Delphi-Language" verschoben.
Ist kein Vorschlag zur CL |
Re: if schleife in einer konsohle
aso es gibts keine if schleifen?
wie wird das dan bezeichnet? |
Re: if schleife in einer konsohle
|
Re: if schleife in einer konsohle
hm ok wieder was gelernt aber i-wie funktioniert das nich recht so siehts zurzeit bei mir aus:
Delphi-Quellcode:
var a, b, c:integer;
strvar = readln(); begin writeln('Hallo dieses Programm berechnet ihnen die Summe, die Subtraktion, das Produkt'); writeln(', sowie die Division aus zwei Zahlen!'); writeln('Nun gib bitte deine erste Zahl ein.'); readln(a); writeln('Deine erste Zahl ist also ',a,' gib nun bitte deine zweite Zahl an!'); readln(b); writeln('Deine Zahlen sind also ',a,' und ',b,' möchtest du fortfahren?'); readln(strvar); if strvar 'Yes' then writeln('Deine beiden Zahlen sind also ',a,' und ',b,''); writeln('die Summe der beiden Zahlen ist ',a+b,''); readln; end. |
Re: if schleife in einer konsohle
Kannst du bitte die Delphi-Tags setzen, damit dein Code lesbar wird?
Und es wäre hilfreich, wenn du uns mitteilst, was nicht funktioniert bzw. worin sich ein Fehler äußert. :glaskugel: Edit2: Zeile 12 ist schonmal ein Fehler. Es müsste
Delphi-Quellcode:
heißen. Die von der IF-Bedingung abhängigen Blöcke solltest du mit begin und end umgeben. Ansonsten ist nur die auf die IF-Abfrage folgende Zeile davon abhängig.
if strvar = 'Yes' then
|
Re: if schleife in einer konsohle
Mehrere Befehle (Sequenz) schliesst man in begin..end ein.
|
Re: if schleife in einer konsohle
Delphi-Quellcode:
müsste so aussehen:
var a, b, c:integer;
strvar = readln(); begin writeln('Hallo dieses Programm berechnet ihnen die Summe, die Subtraktion, das Produkt'); {...}
Delphi-Quellcode:
var a, b, c:integer;
strvar:string; begin writeln('Hallo dieses Programm berechnet ihnen die Summe, die Subtraktion, das Produkt'); {...} |
Re: if schleife in einer konsohle
ja das weiß ich ja auch das is ja nich das prob ich hab nur da problehm über haupt dieses tsrvar zu deffinieren das geht nich wenn ich das bei den variablen so rein schreib strvar=readln(); schon allein vom = her
danke das hat ich auch schon gemerkt es geht mir erst mal eher um /^\ das oben |
Re: if schleife in einer konsohle
oh cool danke es geht nur bringts mir so ja nun ersmal nichts jetz brauch ich ja noch den rest für else.... das es dann von vorne startet wie mach ich denn das? am besten wäre es noch wenn man das i-wie machen könnte mit ner 2. draufliegenden if-abfrage if strvar='No' then
writeln('sie wollen das programmneustarten') und dann halt das das programm neu starten geht das überhaupt? |
Re: if schleife in einer konsohle
schaue bitte mal in der von mir gennanten version des oberen Teiles deines Programmes die 2. Zeile an. Bei dir steht:
Delphi-Quellcode:
Richtig wäre aber:
strvar = readln();
Delphi-Quellcode:
strvar:string
|
Re: if schleife in einer konsohle
jo thx jetzt hats geklappt aber gibts denn eine lösung auf mein oberes problem?siehe beitrag #14
|
Re: if schleife in einer konsohle
Zitat:
readln(a) liest ein Integer ein - ausgeben kannst Du nur Strings Grüße Klaus |
Re: if schleife in einer konsohle
eh wie jetz was bringt das denn ?? das funktioniert doch alles ich will nur das das programm neustartet wenn is die bedingung von if nicht erfüllt
|
Re: if schleife in einer konsohle
Ach herrje, hab ichs auch noch falsch Vorgesagt. Readln Is ja garkeine Funktion :mrgreen:
|
Re: if schleife in einer konsohle
Schaue dir eine repeat-until-Schleife an...
Syntax:
Delphi-Quellcode:
@klaus: das ist vermutlich Turbo Pascal, da geht das ^^
repeat
{code} until strvar='yes';{wenn strvar='yes' dan geht er aus der schleife raus, ansonsten springt er zum repeat zurück und durchläuft alles nocheinmahl...} |
Re: if schleife in einer konsohle
alter wieviel ihr alle wisst :) aber was muss ich da bei (code ) eingeben?
|
Re: if schleife in einer konsohle
Deinen Code von oben
|
Re: if schleife in einer konsohle
Delphi-Quellcode:
und wo is da jetz der code und is das überhaupt richtig so?
var a, b, c:integer;
strvar:string; begin writeln('Hallo dieses Programm berechnet ihnen die Summe, die Differnz, das Produkt'); writeln(', sowie den Quotienten aus zwei Zahlen!'); writeln('Nun gib bitte deine erste Zahl ein.'); readln(a); writeln('Deine erste Zahl ist also ',a,' gib nun bitte deine zweite Zahl an!'); readln(b); writeln('Deine Zahlen sind also ',a,' und ',b,' möchtest du fortfahren?'); readln(strvar); repeat (strvar) until strvar = 'Yes' begin writeln('Deine beiden Zahlen sind also ',a,' und ',b,''); writeln('die Summe der beiden Zahlen ist ',a+b,''); writeln('Die Differenz der beiden Zahlen ist ',a-b,''); writeln('Das Produkt der beiden Zahlen ist ',a*b,''); writeln('Die Quotient aus den beiden Zahlen ist ',a/b,''); readln; end |
Re: if schleife in einer konsohle
Zitat:
Delphi-Quellcode:
Das begin nach der repeat-Schleife braust du nicht mehr
repeat
readln(strvar) until strvar = 'Yes'; |
Re: if schleife in einer konsohle
ah gut jetzt geht das programm zu mindest zu starten aber es geht nur weiter wenn man Yes eingibt ich dachte wenn man i-was anderes eingibt startet das programm von vorn in dem fall macht es jedoch nur einen absatz?
|
Re: if schleife in einer konsohle
Zitat:
Delphi-Quellcode:
Grüße
repeat
begin ... Dein Code end until strVar = 'Yes'; Klaus |
Re: if schleife in einer konsohle
1.) nein so ist es nicht wirklich richtig.
Ich habe aber geade gesehen das du eigentlich nur eine If-Abfrage brauchst. Also: Nach dem Readln(strvar); ein
Delphi-Quellcode:
der befehl exit; beendet dein Programm wenn strvar='no' ist.
if strvar='no' then exit; {hier kommt das hinn was du ausführen möchtest wenn strvar='yes' ist}
2.) Glaub mir: das ist Standardwissen was man können muss wenn man sich ernsthaft mit Delphi (in deinem Fall wohl eher Turbo Pascal (oder nicht?)) arbeiten möchte. |
Re: if schleife in einer konsohle
na ich wollte ja das das programm von vorne started und nicht beendet geht das bzw wisst ihr wies geht?
|
Re: if schleife in einer konsohle
Zitat:
Und das Hirn einschalten und vielleicht mal in ein Programmierhandbuch schauen und sich schlau machen was Schleifen sind und wie sie arbeiten. Grüße Klaus |
Re: if schleife in einer konsohle
ok. Dann doch repeat:
Delphi-Quellcode:
Edit: Ich stimme Klaus01 voll und ganz zu...
var a, b, c:integer;
strvar:string; begin readln(strvar); repeat writeln('Hallo dieses Programm berechnet ihnen die Summe, die Differnz, das Produkt'); writeln(', sowie den Quotienten aus zwei Zahlen!'); writeln('Nun gib bitte deine erste Zahl ein.'); readln(a); writeln('Deine erste Zahl ist also ',a,' gib nun bitte deine zweite Zahl an!'); readln(b); writeln('Deine Zahlen sind also ',a,' und ',b,' möchtest du fortfahren?'); readln(strvar); until strvar = 'Yes'; writeln('Deine beiden Zahlen sind also ',a,' und ',b,''); writeln('die Summe der beiden Zahlen ist ',a+b,''); writeln('Die Differenz der beiden Zahlen ist ',a-b,''); writeln('Das Produkt der beiden Zahlen ist ',a*b,''); writeln('Die Quotient aus den beiden Zahlen ist ',a/b,''); readln; end. |
Re: if schleife in einer konsohle
na das mit der repeat-until schleife klappt doch i-wie gar nich ist diese schleife nicht eher dafür dar das man nur eine bedingung erfüllen kann das das programm weiter läuft aber ich möchte doch das das program z.b. wenn ich no sage von vorne startet und wenn ich yes sage einfach weiter läuft????? :?:
|
Re: if schleife in einer konsohle
F1 ist dein Freund...
oder: hast du TP? da ist das mit der Hilfe anders... |
Re: if schleife in einer konsohle
Dann dreh doch die Bedingung um:
Delphi-Quellcode:
until strvar = 'No';
|
Re: if schleife in einer konsohle
Leute ich liebe euch ihr seid echt sooooo genial
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz