.j
-
Stimmt das alles jetzt so? Weil dann würde ich das so abtippen!
-
Nein:
if ( laenge < 107 ) { if ( laenge >= 105) printf( "S" ); else if ( laenge > 108 ) printf( "L" ); } else printf( "M" );
Überleg doch mal, was für einen Wert
laenge
haben muß, damit du zur Ausgabe "L" kommen kannst.
-
Hmmm... Die erste Bedingung muss gelten, also heißt das, dass da nur 108, 109 und 110 in Frage kommt. Die zweite Bedingung muss fehlschlagen, also fallen dann 109 und 110 weg. Also 108!
Oder? :S
-
Juli84 schrieb:
Hmmm... Die erste Bedingung muss gelten, also heißt das, dass da nur 108, 109 und 110 in Frage kommt.
Ist dir klar, was das < bedeutet? (auf Deutsch: "kleiner als")
(außerdem hast du insgesamt drei if-Anweisungen, denen du auf dem Weg begegnest)
-
105 und 106...
-
if ( laenge < 107 ) // laenge ist kleiner als 107
{
if ( laenge >= 105) // laenge ist größer oder gleich 105
printf( "S" );
else if ( laenge > 108 ) // laenge ist größer als 108
printf( "L" );
}
else // laenge ist größer als 107
printf( "M" );Für "S": laenge ist kleiner als 107 UND laenge ist größer oder gleich 105
für "L": laenge ist kleiner als 107 UND laenge ist größer als 108
für "M": laenge ist größer als 107Also? Siehst du die Problematik?
-
und wie geht es damit weiter?
edit @jkl: Das Gegenteil von x<n ist nicht x>n, sondern x>=n
-
Nach dem Eintrag von jkljkl müsste das ja jetzt so sein:
105 S ja
106 S ja
107 M ja
108 L nein, da ein M rauskommen müsste
109 L ja
110 L ja
wobei ich mir bei 107 nicht sicher bin. da ja einmal größer und einmal kleiner als 107 angegeben wird, aber nicht gleich 107?
-
Du kannst den Code ganz einfach sich selbst testen lassen:
#include <stdio.h> int main() { int i; for (i = 90; i <= 120; ++i) { int laenge = i; printf("laenge = %d => ", laenge); if ( laenge < 107 ) // laenge ist kleiner als 107 { if ( laenge >= 105) // laenge ist größer oder gleich 105 printf( "S" ); else if ( laenge > 108 ) // laenge ist größer als 108 printf( "L" ); } else // laenge ist größer oder gleich 107 printf( "M" ); printf("\n"); } return 0; }
Das liefert dir für 90 bis 120 entweder S, L, M oder eben nichts:
laenge = 90 =>
laenge = 91 =>
laenge = 92 =>
laenge = 93 =>
laenge = 94 =>
laenge = 95 =>
laenge = 96 =>
laenge = 97 =>
laenge = 98 =>
laenge = 99 =>
laenge = 100 =>
laenge = 101 =>
laenge = 102 =>
laenge = 103 =>
laenge = 104 =>
laenge = 105 => S
laenge = 106 => S
laenge = 107 => M
laenge = 108 => M
laenge = 109 => M
laenge = 110 => M
laenge = 111 => M
laenge = 112 => M
laenge = 113 => M
laenge = 114 => M
laenge = 115 => M
laenge = 116 => M
laenge = 117 => M
laenge = 118 => M
laenge = 119 => M
laenge = 120 => M
-
Ist denn 109 kleiner als 107?
-
hmmm äh
sry war gerade mit meinen gedanken wo andersfür 105 und 106 kommt jeweils s raus
und für 107 bis 110 jeweils ein m
also sind 109 und 110 falsch -.-
-
ist es nun richtig?
-
Ja, jetzt mußt du das nur noch in einer Form präsentieren, die deinem Professor zusagt.
-
es wird ja eingesammelt. also kann ich es im prinzip doch so aufschreiben, wie du es mir bei kaskade 1 aufgeschrieben hattest... ich denke mal, unser übungsgruppenleiter bewertet das nicht ganz so streng, oder?!
-
Ich denke schon
Juli84 schrieb:
ich denke mal, unser übungsgruppenleiter bewertet das nicht ganz so streng, oder?!
Ich kenne den Herrn leider nicht, also kann ich das nicht beurteilen.
-
haha, ja war blöd von mir formuliert sry... aber danke auf jeden fall für deine hilfe und deine geduld!!!