switch ve case Çözümleri
-
import std.stdio;
import std.string;
void main()
{
string işlem;
double birinci;
double ikinci;
write("İşlem? ");
işlem = chomp(readln());
write("İki sayıyı aralarında boşlukla yazın: ");
readf(" %s %s", &birinci, &ikinci);
double sonuç;
final switch (işlem) {
case "topla":
sonuç = birinci + ikinci;
break;
case "çıkart":
sonuç = birinci - ikinci;
break;
case "çarp":
sonuç = birinci * ikinci;
break;
case "böl":
sonuç = birinci / ikinci;
break;
}
writeln(sonuç);
}
case değerlerinin virgüllerle belirlenebilmesi olanağını kullanarak:
final switch (işlem) {
case "topla", "+":
sonuç = birinci + ikinci;
break;
case "çıkart", "-":
sonuç = birinci - ikinci;
break;
case "çarp", "*":
sonuç = birinci * ikinci;
break;
case "böl", "/":
sonuç = birinci / ikinci;
break;
}
- Bu durumda
default bölümünü eklemek gerekeceği için final switch kullanamayız. Programın değişen yerleri:
// ...
switch (işlem) {
// ...
default:
throw new Exception("Geçersiz işlem");
}
// ...