webForumDet fria alternativet

Problem med if-sats

.NET

5 svar · 613 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Ledsen att behöva störa er igen men jag har problem med en if-sats.
MÅL:

För att få godkänt
i special 35
Totalt 160

För att bli uppflyttad
i special 49
Totalt 224

Mitt försök:

if ((special >= 49) && (totalt >= 224))
{
changeLabelColor(6);
Label9.Text = "  DU ÄR GODKÄND!!!";
 Label14.Text = "  DU BLIR UPPFLYTTAD";
}
else if ((special >= 35 || special < 49) && (totalt >= 160 || totalt < 224))
{
Label9.Text = "&nbsp; DU ÄR GODKÄND!!!";
Label14.Text = "&nbsp;För att bli uppflyttad : ";
changeLabelColor(5);
}
else  if ((special < 35) || (totalt < 160))
{
 changeLabelColor(4);
Label9.Text = "&nbsp;För att få godkänt : ";
Label14.Text = "&nbsp;För att bli uppflyttad : ";
}

Det hadde ju varit mycket enklare om man hade kunnat skriva between men
vad förstår så går ju inte det. Både special och total måste klara sina mål för
att det uppfyllas.

Är det någon som ser felet?

Medlem sedan feb. 2005280 inlägg
#2

prova kanske


else if ((special >= 35 && special < 49) || (totalt >= 160 && totalt < 224))
Medlem sedan mars 20011 880 inlägg
#3

Nej det blir också galet.
Resultat är att även om alla utom special är 0, och special är 35 så visar den "Du är
godkänd";
För att få godkänt måste special vara minst 35 ock totalt minst 160. Som et nu är så räker det att special är minst 35.

Jag har försökt på alla de vis, men inte hittat lösningen.

Medlem sedan jan. 2007177 inlägg
#4

Kod i php men principen för if-satsen bör vara den samma

function resultat($special,$totalt)
{
echo "\n";
echo "special: " . $special . "	" . "totalt: " . $totalt. "	";

if (($special < 35) || ($totalt < 160))
{
	echo "Ej godkänd". "\n";
}else if (($special < 49) || ($totalt < 224))
{
	echo"Godkänd". "\n";
} else
{
	echo"Godkänd och uppflyttad". "\n";
}
Medlem sedan mars 20011 880 inlägg
#5

Har det någon betydelse att datatypen är Decimal?

Medlem sedan mars 20011 880 inlägg
#6

Tack, nu fungerar det. Jag tänkte tydligen alldeles för avancerat för att få det att fungera.

282 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)