Çözüldü C# işlemleri değer olarak veren program

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

user.cs

Hectopat
Katılım
2 Kasım 2020
Mesajlar
1.923
Makaleler
14
Çözümler
33
Yer
Dünya
Amacım C#'ta string olarak gelen işlemleri hesaplayıp ekrana yazdırmak. Örneğin;
  • Input: 5 + 4 * 2
  • Output: 13.
Gibi.
 
Son düzenleyen: Moderatör:
Çözüm
Amacım C#'ta string olarak gelen işlemleri hesaplayıp ekrana yazdırmak. Örneğin;
  • Input: 5 + 4 * 2
  • Output: 13.
Gibi.
Şunu deneyin:
C#:
using System.Data; // Bunu en başa ekleyin

string islem = "5*4"
var cikti = new DataTable.Compute(islem,"");

Olmazsa NuGet paketi araştırırız.
C#:
using System;
                    
public class VeriAlma
{
    public static void Main()
    {
        
        Console.Write("Bir sayi giriniz: ");
        int sayi = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Girilen sayi : " + sayi);
    }
}

Operatörleri size bıraktım.
 
Artı -1 Eksi
C#:
using System;
                   
public class VeriAlma
{
    public static void Main()
    {
       
        Console.Write("Bir sayi giriniz: ");
        int sayi = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Girilen sayi : " + sayi);
    }
}

Operatörleri size bıraktım.
Amacım konsoldan gelen sayıyı bir değişkene atamak değil. İşlem olarak yazılan stringleri hesaplayıp inte dönüştürmek.
 
1652967398025.png

Bu hatayı alıyorum.
 
Amacım C#'ta string olarak gelen işlemleri hesaplayıp ekrana yazdırmak. Örneğin;
  • Input: 5 + 4 * 2
  • Output: 13.
Gibi.
Şunu deneyin:
C#:
using System.Data; // Bunu en başa ekleyin

string islem = "5*4"
var cikti = new DataTable.Compute(islem,"");

Olmazsa NuGet paketi araştırırız.
 
Çözüm
Konsol penceresinden değer girdikten sonra ReadLine ile alınan değer int türüne dönüştürülüyor bu dönüşümün hatasız yapılabilmesi için Convert sınıfının ToInt32 methoduna doğru string değeri göndermeniz gerekmekte. Doğrusu ise şu; string sadece sayı içermeli.
Format Exception aldığınıza göre konsoldan harf(ya da sembol) de giriyor olmalısınız ki exception fırlatıyor.
Input: 5 + 4 * 2
Bu şekilde bir giriş zaten doğal olarak verilen ilk kodda çalışmaz.
 

Geri
Yukarı