Logikproblem

12/02/2011 - 23:02 von Mphak | Report spam
Hallo,
ich beschàftige mich heute schon den ganzen Abend mit folgendem
Problem.
Ich habe eine Whileschleife, in der ich drei Bedingungen gepackt habe,
welche alle erfüllt werden müssen, damit das Programm weitermachen
kann.
Stark vereinfacht sieht das so aus

use strict;

my $zaehler1 = 0;
my $zaehler2 = 0;
my $zaehler3 = 0;
my $Eingabe;

while($zaehler1 <= 20 && $zaehler2 <= 20 && $zaehler3 <= 20)
{
chomp($Eingabe = <STDIN>);
if($Eingabe == 1)
{
$zaehler1++;
}
elsif($Eingabe == 2)
{
$zaehler2++;
}
elsif($Eingabe == 3)
{
$zaehler3++;
}
print "Zaehler1: $zaehler1";
print "Zaehler1: $zaehler2";
print "Zaehler1: $zaehler3";
}
print "ENDE";


So wie es hier geschrieben ist, bedeutet das, dass alle drei unter 21
sein müssen, damit das Programm in der Schleife bleibt.
Ich möchte aber erreichen, dass die Schleife solange ausgeführt wird,
bis alle drei Zàhler über 21 sind.

Kennt iemand die Lösung auf das Problem.
Kann ich das überhaupt so machen?

Liebe Grüße

Ania
 

Lesen sie die antworten

#1 Peter Hintz
12/02/2011 - 23:42 | Warnen spam
Mphak schrieb:

ich beschàftige mich heute schon den ganzen Abend mit folgendem
Problem.

while($zaehler1 <= 20 && $zaehler2 <= 20 && $zaehler3 <= 20)

Ich möchte aber erreichen, dass die Schleife solange ausgeführt wird,
bis alle drei Zàhler über 21 sind.



Versuch mal:

while(not($zaehler1 > 21 && $zaehler2 > 21 && $zaehler3 > 21))

Viele Grüße
Peter

Ähnliche fragen