Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Perl/CGI » Satz von Phytagoras

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.11.2004, 19:52 Uhr
~Michi
Gast


Hallo

Ich habe eine Aufgabe bekommen :
Nach eingabe von Seitenlänge a,b,c soll er sagen ob
Gleichschenklig , Rechtwinklig , Gleichseitig , Ein Dreieck , Kein Dreieck usw. ist....


Habe hier meinen Code nur wenn ich zb. 6 6 0 eingebe sagt er
Es ist ein gleichschenkliges Dreieck
Es ist Kein Dreieck

Es stimmt ja nur Antwort 2 also muss ich ihm irgend wie sagen dass wenn die behauptung if 1 stimmt das if 2 nicht mehr stimmen kann
Also sozusagen prioritäten setzen



Code:
#! /usr/bin/perl

print "Geben Sie die Seitenlänge a des Dreiecks an:";
        chomp ($a = <STDIN>);

print "Geben Sie die Seitenlänge b des Dreiecks an:";
        chomp ($b = <STDIN>);

print "Geben Sie die Seitenlänge c des Dreiecks an:";
        chomp ($c = <STDIN>);


if ($a + $b > $c) {
        print "Es ist ein Dreieck!\n";
}

else {
        print "Es ist kein Dreieck!\n";
}

if ($a == 0 || $b == 0  || $c == 0) {
        print "Es ist kein Dreieck!\n";
}

if ($a < 0 || $b < 0  || $c <  0) {
        print "Es ist kein Dreieck!\n";
}


if ($a == $b && $b == $c) {
        print  "Es ist ein gleichseitiges Dreieck!\n";
}

if ($a == $b || $b == c || $a == $c) {
        print  "Es ist ein gleichschenkliges Dreieck!\n";
}

if ($c**2 == $a**2 + $b**2) {
        print  "Es ist ein rechtwinkliges Dreieck!\n"
}
                                                                                   41,1         Ende




Wie kann ich das am besten anstellen?

Dieser Post wurde am 20.11.2004 um 20:46 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.11.2004, 20:48 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


evtl geht es so:


Perl:

#! /usr/bin/perl

print "Geben Sie die Seitenlänge a des Dreiecks an:";
        chomp ($a = <STDIN>);

print "Geben Sie die Seitenlänge b des Dreiecks an:";
        chomp ($b = <STDIN>);

print "Geben Sie die Seitenlänge c des Dreiecks an:";
        chomp ($c = <STDIN>);


if ($a + $b < $c) {
        print "Es ist kein Dreieck!\n";
}
else if ($a == 0 || $b == 0  || $c == 0) {
        print "Es ist kein Dreieck!\n";
}
else if ($a < 0 || $b < 0  || $c <  0) {
        print "Es ist kein Dreieck!\n";
}
else
{
  print "Es ist ein Dreieck!\n";
  if ($a == $b && $b == $c) {
    print  "Es ist ein gleichseitiges Dreieck!\n";
  }
  if ($a == $b || $b == c || $a == $c) {
    print  "Es ist ein gleichschenkliges Dreieck!\n";
  }
  if ($c**2 == $a**2 + $b**2) {
    print  "Es ist ein rechtwinkliges Dreieck!\n"
  }
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.11.2004, 21:36 Uhr
~Michi
Gast


Danke das wars

Nur mal rein aus Interesse :
Wenn er jetzt erkennt das es gleichschenklig ist was müsste ich ändern damit er nicht mehr sagt das es ein Dreieck ist ?
genauso bei rechtwinklig und gleichseitig weil wenn es diese Eigenschaften erfüllt ist es ja klar das es ein Dreieck ist ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.11.2004, 21:51 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


der teil


Code:
print "Es ist ein Dreieck!\n";
  if ($a == $b && $b == $c) {
    print  "Es ist ein gleichseitiges Dreieck!\n";
  }
  if ($a == $b || $b == c || $a == $c) {
    print  "Es ist ein gleichschenkliges Dreieck!\n";
  }
  if ($c**2 == $a**2 + $b**2) {
    print  "Es ist ein rechtwinkliges Dreieck!\n"
  }



müsste dann so sein:


Code:
  if ($a == $b && $b == $c) {
    print  "Es ist ein gleichseitiges Dreieck!\n";
  }
  else if ($a == $b || $b == c || $a == $c) {
    print  "Es ist ein gleichschenkliges Dreieck!\n";
  }
  else if ($c**2 == $a**2 + $b**2) {
    print  "Es ist ein rechtwinkliges Dreieck!\n"
  }
  else {
    print "Es ist ein normales Dreieck!\n";
  }


--
class God : public ChuckNorris { };

Dieser Post wurde am 20.11.2004 um 21:51 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.11.2004, 23:42 Uhr
~Michi
Gast


Hei Super
Aber irgend wie scheint es doch nen bissel kniffeliger zu sein als es scheint
denn nun ist er ja bei 0 0 0 Kein Dreieck aber durch das if auch gleichseitig
mache ich aus dem if ein elsif funktioniert alles bis auf die sache
das ein gleichseitiges auch gleichschenklig ist ! gebe ich denen wieder ein if so erscheint es wieder bei 0 0 0
hast du noch ne idee dafür ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
21.11.2004, 11:28 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


so funktioniert es glaub ich:


Code:
#! /usr/bin/perl -W

print "Geben Sie die Seitenlänge a des Dreiecks an:";
        chomp ($a = <STDIN>);

print "Geben Sie die Seitenlänge b des Dreiecks an:";
        chomp ($b = <STDIN>);

print "Geben Sie die Seitenlänge c des Dreiecks an:";
        chomp ($c = <STDIN>);


if ($a + $b < $c) {
        print "Es ist kein Dreieck!\n";
}
elsif ($a == 0 || $b == 0 || $c == 0) {
  print "Es ist kein Dreieck!\n";
}
elsif ($a < 0 || $b < 0 || $c < 0) {
        print "Es ist kein Dreieck!\n";
}
else
{
  if ($a == $b || $b == $c || $a == $c) { # gleichseitig oder gleichschenklig
      if ($a == $b && $b == $c) {
      print  "Es ist ein gleichseitiges Dreieck!\n";
    }
    else {
      print  "Es ist ein gleichschenkliges Dreieck!\n";
    }
  }
  elsif ($c**2 == $a**2 + $b**2) {
    print  "Es ist ein rechtwinkliges Dreieck!\n"
  }
  else {
      print "Es ist ein Dreieck!\n";
  }
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.11.2004, 16:08 Uhr
~Michi
Gast


ne leider nicht !
naja ist schon irgend wie ganz schön kompliziert
ich danke dir auf jedenn Fall für die Hile was so eine Kleine Aufgabe doch an Mühen nötig hat...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
21.11.2004, 19:53 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


aso mom:


Code:
#! /usr/bin/perl -W

print "Geben Sie die Seitenlänge a des Dreiecks an:";
        chomp ($a = <STDIN>);

print "Geben Sie die Seitenlänge b des Dreiecks an:";
        chomp ($b = <STDIN>);

print "Geben Sie die Seitenlänge c des Dreiecks an:";
        chomp ($c = <STDIN>);


if ($a + $b < $c) {
        print "Es ist kein Dreieck!\n";
}
elsif ($a == 0 || $b == 0 || $c == 0) {
  print "Es ist kein Dreieck!\n";
}
elsif ($a < 0 || $b < 0 || $c < 0) {
        print "Es ist kein Dreieck!\n";
}
else
{
  if ($a == $b || $b == $c || $a == $c) { # gleichseitig oder gleichschenklig
      if ($a == $b && $b == $c) {
      print  "Es ist ein gleichseitiges und gleichschenkliges Dreieck!\n";
    }
    else {
      print  "Es ist ein gleichschenkliges Dreieck!\n";
    }
  }
  elsif ($c**2 == $a**2 + $b**2) {
    print  "Es ist ein rechtwinkliges Dreieck!\n"
  }
  else {
      print "Es ist ein Dreieck!\n";
  }
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
21.11.2004, 21:47 Uhr
~Michi
Gast


hehe klever gelöst
danke dit für deine Mühe einfach perfect
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Perl/CGI ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: