Çözüldü C# 2 random toplanamaz hatası

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

kawkaa37

Hectopat
Katılım
1 Temmuz 2021
Mesajlar
74
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
C#:
using System;

namespace çoktan_seçmeli_sorular
{
 class Program.
 {
 static void Main(string[] args)
 {
 Console.WriteLine("sayıların kaç ile kaç arasında olacağını belirleyiniz");

 Console.Write("en az: ");
 int en_az = Convert.ToInt32(Console.ReadLine());
 Console.Write("en fazla: ");
 int en_fazla = Convert.ToInt32(Console.ReadLine());

 Random rnd2 = new Random();
 Random rnd = new Random();

 int sayı = rnd.Next(en_az, en_fazla);
 int sayı2 = rnd2.Next(en_az, en_fazla);

 int toplam =rnd + rnd2;
 Console.Write(rnd+ " + " + rnd2 + " -> ");
 int cevap = Convert.ToInt32(Console.ReadLine());

 if(cevap == toplam)
 {
 Console.WriteLine("cevabınız doğru");
 }
 else if(cevap != toplam)
 {
 Console.WriteLine("cevabınız yanlış");
 }

 }
 }
}

Bu kod nasıl çalıştırılır 2 random toplanamaz diyor.
 
Çözüm
Bu şekilde çalıştı fakat System. Random olarak veriyor cevapları
Random istemediniz mi zaten?

Ufak bir şeyler değiştirdim. İstediğinizin ne olduğunu tam anlamadım ancak düzenlemeyi denedim.

C#:
using System;


namespace çoktan_seçmeli_sorular
{
 class Program
 {
 static void Main(string[] args)
 {
 Console.WriteLine("Sayıların kaç ile kaç arasında olacağını belirleyiniz");


 Console.Write("En az: ");
 int en_az = Convert.ToInt32(Console.ReadLine());
 Console.Write("En fazla: ");
 int en_fazla = Convert.ToInt32(Console.ReadLine());


 Random rnd = new Random(Guid.NewGuid().GetHashCode());
 Random rnd2 = new Random(Guid.NewGuid().GetHashCode());


 int sayı = rnd.Next(en_az, en_fazla);
 int sayı2 = rnd2.Next(en_az, en_fazla);


 int toplam = sayı + sayı2;


 Console.Write("{0} + {1} -> ", sayı, sayı2);
 int cevap = Convert.ToInt32(Console.ReadLine());


 if(cevap == toplam)
 {
 Console.WriteLine("Cevabınız doğru!");
 }
 else
 {
 Console.WriteLine("Cevabınız yanlış. Doğru cevap {0}", toplam);
 }
 }
 }
}

Bu şekilde çalıştı fakat System. Random olarak veriyor cevapları
Tamam, şimdi anladım. Kullandığınız compiler ile alakalı olabilir bu. O kodu denedim, çalışıyor.
Random nesnelerini toplamaktasınız. sayı ve sayı2 değişkenlerini toplamanız gerekmekte. Yani toplam = sayı + sayı2 olarak düzenlenmelidir.

Random ögesinin + operatorü için işleyicisi bulunmamaktadır.
 
C#:
using System;

namespace çoktan_seçmeli_sorular
{
 class Program
 {
 static void Main(string[] args)
 {
 Console.WriteLine("sayıların kaç ile kaç arasında olacağını belirleyiniz");

 Console.Write("en az: ");
 int en_az = Convert.ToInt32(Console.ReadLine());
 Console.Write("en fazla: ");
 int en_fazla = Convert.ToInt32(Console.ReadLine());

 Random rnd = new Random();
 Random rnd2 = new Random();

 int sayı = rnd.Next(en_az, en_fazla);
 int sayı2 = rnd2.Next(en_az, en_fazla);

 int toplam = sayı + sayı2;

 Console.Write(sayı + " + " + sayı2 + " -> ");
 int cevap = Convert.ToInt32(Console.ReadLine());

 if(cevap == toplam)
 {
 Console.WriteLine("cevabınız doğru");
 }
 else if(cevap != toplam)
 {
 Console.WriteLine("cevabınız yanlış");
 }
 }
 }
}
Arkadaşın da dediği gibi rnd + rnd2 yerine, sayı + sayı2 olması lazım.
 

Bu şekilde çalıştı fakat System. Random olarak veriyor cevapları
 
Bu şekilde çalıştı fakat System. Random olarak veriyor cevapları
Random istemediniz mi zaten?

Ufak bir şeyler değiştirdim. İstediğinizin ne olduğunu tam anlamadım ancak düzenlemeyi denedim.

C#:
using System;


namespace çoktan_seçmeli_sorular
{
 class Program
 {
 static void Main(string[] args)
 {
 Console.WriteLine("Sayıların kaç ile kaç arasında olacağını belirleyiniz");


 Console.Write("En az: ");
 int en_az = Convert.ToInt32(Console.ReadLine());
 Console.Write("En fazla: ");
 int en_fazla = Convert.ToInt32(Console.ReadLine());


 Random rnd = new Random(Guid.NewGuid().GetHashCode());
 Random rnd2 = new Random(Guid.NewGuid().GetHashCode());


 int sayı = rnd.Next(en_az, en_fazla);
 int sayı2 = rnd2.Next(en_az, en_fazla);


 int toplam = sayı + sayı2;


 Console.Write("{0} + {1} -> ", sayı, sayı2);
 int cevap = Convert.ToInt32(Console.ReadLine());


 if(cevap == toplam)
 {
 Console.WriteLine("Cevabınız doğru!");
 }
 else
 {
 Console.WriteLine("Cevabınız yanlış. Doğru cevap {0}", toplam);
 }
 }
 }
}

Bu şekilde çalıştı fakat System. Random olarak veriyor cevapları
Tamam, şimdi anladım. Kullandığınız compiler ile alakalı olabilir bu. O kodu denedim, çalışıyor.
 
Son düzenleyen: Moderatör:
Çözüm

Teşekkürler bu sefer oldu.
 
Son düzenleyen: Moderatör:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…