![]() |
If Anweisung... Block?
Hallo Leute,
Ich habe gerade in kleines Programm geschrieben, nun ist meine Frage wie man eine If Anweisung blocken kann? Also ich hab mehrere If Anweisungen und möchte die so zusammen schachteln das wenn ich eine else anweisung einbaue er alle if anweisung durch geht und nicht nur die letzte! Hättet ihr da Tipps für mich? mit einer schleife vielleicht? meine 2. frage wäre dann gewesen, wie ich machen kann, dass sich der user am ende vom prog. raussuchen kann ob er erneut etwas rechnen will...! Wie kann ich machen, dass er dann die ganzen vorherigen if anweisungen wieder nachfrägt? Es ist eine Konsolen Anwendung... MfG und danke im voraus GG |
Re: If Anweisung... Block?
Ich glaube Du solltest erstmal ein bisschen Code posten, damit wir sehen was genau Du machen willst.
Uwe |
Re: If Anweisung... Block?
Hi,
zur Frage2 glaube ich zu wissen was gemeint ist, (hatte so in der Art meine ersten Turbo-Pascal-Programme geschrieben), also eine "Hauptschleife" im Programm. Beispielsweise als PseudoCode:
Delphi-Quellcode:
Oder bin ich auf dem Holzweg (GlaskugelModus Off)?
ProgrammStart
Repeat if dieses then jenes; Sonstiges(wasWeissIch); Rechne; ZeigeErgebnis; write('Nochmal? (J/N)); Taste := ReadKey; Until (Taste = N); End; Gruß, MJ |
Re: If Anweisung... Block?
Delphi-Quellcode:
da will ich jetzt ne else anweisung einbauen und dann unten nochmals eine abfrage...
if ein = 'Profikiller' then pun:=anz*176;
if ein = 'Objektwache' then pun:=anz*21; if ein = 'Guarde' then pun:=anz*388; if ein = 'Problemloeser' then pun:=anz*93; if ein = 'Bombenleger' then pun:=anz*281; writeln; writeln; writeln ('Hier die Gesamtpunktzahl:'); writeln (pun); mfg |
Re: If Anweisung... Block?
Delphi-Quellcode:
Suchst du das? :gruebel:
if ein = 'Profikiller' then pun:=anz*176
else if ein = 'Objektwache' then pun:=anz*21 else if ein = 'Guarde' then pun:=anz*388 else if ein = 'Problemloeser' then pun:=anz*93 else if ein = 'Bombenleger' then pun:=anz*281 else pun:=0; writeln; writeln; writeln ('Hier die Gesamtpunktzahl:'); writeln (pun); |
Re: If Anweisung... Block?
Also alle if Schleifen abarbeiten tut es ja schon, die else Anweisung sehe ich allerdings nicht.
Denke aber Du benötigst dden Code aus Jessicas Glaskugel. Uwe |
Re: If Anweisung... Block?
Habe das jetzt mal probiert wie es inherited gesagt hat, hier ist mein kompletter quellcode... allerdings funkz das prog jetzt nicht mehr da er jetzt am ende immer 0 hinschreibt... Was kann ich dagegen machen und wie würde das mit dem repeat innerhalb dieses quellcodes aussehen?
Delphi-Quellcode:
program Einheiten;
{$APPTYPE CONSOLE} uses SysUtils; var ein :string; anz, pun : integer; begin writeln ('Vendetta - Einheitenpunktezaehler'); writeln ('Bitte gebe den Namen der Einheit an (Bitte in Vokalen, z. B. Soeldner):'); readln (ein); writeln ('Bitte gebe Die Anzahl der Einheiten an:'); readln (anz); if ein = 'Schlaeger' then pun:=anz*6; if ein = 'Messerstecher' then pun:=anz*4; if ein = 'Tuersteher' then pun:=anz*6; if ein = 'Revolverheld' then pun:=anz*21; if ein = 'Besetzungstruppe' then pun:=anz*251; if ein = 'Spion' then pun:=anz*3; if ein = 'Moebelpacker' then pun:=anz*9; if ein = 'CIA Agent' then pun:=anz*87; if ein = 'FBI Agent' then pun:=anz*48; if ein = '´Transporteur' then pun:=anz*51; if ein = 'Ninja' then pun:=anz*236; if ein = 'Scharfschuetze' then pun:=anz*28; if ein = 'Soeldner' then pun:=anz*1176; if ein = '`Schwarzgeldarbeiter' then pun:=anz*4; if ein = 'Bodyguard' then pun:=anz*43; if ein = 'Polizist' then pun:=anz*54; if ein = 'Profikiller' then pun:=anz*176; if ein = 'Objektwache' then pun:=anz*21; if ein = 'Guarde' then pun:=anz*388; if ein = 'Problemlöser' then pun:=anz*93; if ein = 'Bombenleger' then pun:=anz*281 else pun:=0; writeln; writeln; if pun = 0 then writeln ('Die Einheit wurde leider nicht gefunden') else writeln ('Hier die Gesamtpunktzahl:'); writeln (pun); writeln; writeln; writeln; readln; end. |
Re: If Anweisung... Block?
Hi,
immer 0 ist klar, wenn du nicht den letzten nimmst:
Delphi-Quellcode:
Du kannst vorher Eingeben was du möchtest, am Schluss wird immer obiges ausgewertet.
if ein = 'Bombenleger' then pun:=anz*281
else pun:=0; Schau dir "else if" an. Gruß, MJ |
Re: If Anweisung... Block?
Neinein, du hast da was übersehen, da muss überall ein else vor.
€dit: das Problem mit dem direkt-einloggen und dem Roten Kasten gibt es offenbar immer noch, oder er ist grad in einer Schneeballschlacht^^ |
Re: If Anweisung... Block?
Zitat:
MJ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 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