C# Konsol Uygulaması Problemi
-
Müridler aşağıdaki akış diyagramı için aşağıdaki programı yazdık ama tutturamadık bir türlü, nerede hata olduğunu da tam olarak kestiremedik, yardımcı olabilecek varsa çok iyi olur, teşekkürler.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
short x1, x3;
decimal x4, x2;
Console.WriteLine("Sınav kağıdının sağ üstteki sayıyı giriniz");
x1 = Convert.ToInt16(Console.ReadLine());
do
{
x1 = Convert.ToInt16(x1 + 5);
Console.WriteLine("x1={0}", x1);
}
while (x1 < 30 & x1 > 10);
{
}
Console.WriteLine("Sınav kağıdının sol üstteki sayıyı giriniz");
x2 = Convert.ToDecimal(Console.ReadLine());
x2 = Convert.ToDecimal(x1 + x2 + 3.1M);
Console.WriteLine("x2={0}", x2);
Console.WriteLine("Sınav kağıdının üst ortadaki sayıyı giriniz");
x3 = Convert.ToChar(Convert.ToInt16(Console.ReadLine()));
basla:
switch (x3)
{
case 'A':
{
x4 = Convert.ToDecimal(x2 + 3 * x1);
break;
}
case 'B':
{
x4 = Convert.ToDecimal(x2 + 4 * x1);
break;
}
case 'C':
{
x4 = Convert.ToDecimal(x2 + 5 * x1);
break;
}
case 'D':
{
x4 = Convert.ToDecimal(x2 + 3 * x1);
break;
}
default:
x3 = Convert.ToChar(Convert.ToInt16(x3) - 4);
goto basla;
break;
}
Console.WriteLine("Sonuç={0}", x4);
Console.ReadLine();
}
}
} -
simdi hocam x3 = Convert.ToChar(Convert.ToInt16(Console.ReadLine())); demissin ama sayısal ve string degerler o sekilde kullanılamaz. orayı :
x3 = Convert.ToInt16(Convert.ToInt16(Console.ReadLine())); olarak degistir.
case 'A': demissin. a'yı sayısal deger olarak almıssın ve deger degiskeni sayısal.
'A' yerine 1 ver, 'B' yerine 2, 'C' yerine 3, 'D' yerine 4.
kesme isaretlerini de kaldır. yoksa string olur ifade. '123' dersen string ifade olur, yani hem sayısal hem alfabetik. 123 demelisin mesela. tırnak isareti orada convert yapan point görevini üstlenir.
bir de o "basla :" ve "goto basla;" kısımlarını ne icin kullandın tam anlamadım ama dediklerimi yaparsan hata vermemesi gerek.
-
girilen sayıyı ASCII olarak değerlendirip, harf karşılıklarıyla switch te kulanmamız lazım, onu beceremedik sanırım biz : |
-
up
-
switch kullanımda bi hata var hocam sayısal degerler girerek tekrar dene case 1: case 2: diye
-
adamlar çalıştırdılar evde sen hala anlamaya çalış dur :| ev=1 hezarfen=0
-
bunu çalıştırdılar ama yarım yamalak çalışıyordu ben evden çıkarken dönünce bakarım artık :D
-
ferhat düzeltti aga :D
