Hocam proje aşırı geniş değilse tüm kodu buraya atar mısınız? GDrive paylaşmak yerine? Konsol uygulaması olduğu için tek source file ile çalıştığınızı düşünüyorum. Tüm kodu buraya atın inceleyelim. Kod atmadan önce kodu "kod kutucuğu"na alınki okumak daha rahat olsun.Dediğim kısım //sorular 2 yazan yerden sonra geliyor soru 2 veya 2.1'e bakarsanız orada while döngüsünü görürsünüz.
Hocam nedir son durum görebildiniz mi hatayı.
Hocam proje aşırı geniş değilse tüm kodu buraya atar mısınız? Gdrive paylaşmak yerine? Konsol uygulaması olduğu için tek Source file ile çalıştığınızı düşünüyorum. Tüm kodu buraya atın inceleyelim. Kod atmadan önce kodu "kod kutucuğu"na alınki okumak daha rahat olsun.
Eki Görüntüle 1620601
Ek olarak while kullanarak yazmışsınız, if kullanın kodda. While döngüdür ve break kullanmadıkça veya telefonjokeri sayısı 0'dan başka bir şey olmadıkça döngüden çıkmayacak.
Console.WriteLine("Joker Haklarınız:");
Console.WriteLine("Telefon Jokeriniz = " + " " + Telefon);
Console.WriteLine("YarıYarıya Jokeriniz =" + " " + YarıYarıya);
Console.WriteLine("Seyirci Jokeriniz =" + " " + Seyirci);
Console.WriteLine("Joker Kulanmak İçin 1,2 Veya 3 Tuşlarından Birisine Basınız");
Console.WriteLine("1 = TELEFON JOKERİ(İLBER ORTAYLI)");
Console.WriteLine("2 = YARI YARIYA JOKER HAKKI");
Console.WriteLine("3 = SEYİRCİ JOKER HAKKI");
Console.WriteLine();
Console.WriteLine();
string[] sorular2 = new string[5];
sorular2[0] = "Soru 2-Depremin büyüklüğünü ve süresini ölçen alete ne ad verilir ?\nA-Tomograf B-Sismograf\nC-Avometre D-Barometre";
sorular2[1] = "Soru 2-Aşağıdakilerden hangisi çocuk hastalığıdır?\nA-Kabakulak B-Grip\nC-Nezle D-Kanser";
sorular2[2] = "Soru 2-İstanbul hangi coğrafi bölgemizde yer almaktadır?\nA-Karadeniz B-Marmara\nC-Akdeniz D-İç Anadolu";
sorular2[3] = "Soru 2-Deniz yüzeyinin altında ve üstünde yol alabilen savaş veya araştırma gemisi hangisidir?\nA-Jetski B-Hovercraft\nC-Feribot D-Denizaltı";
sorular2[4] = "Soru 2-Türkiye’nin en fazla yağış alan ili hangisidir?\nA-İstanbul B-Antalya\nC-Rize D-Ankara";
Random rnd2 = new Random();
int rastgele2 = rnd2.Next(0, sorular2.Length);
Console.WriteLine("" + sorular2[rastgele2]);
//2. soru cevap
if (rastgele2 == 0)
{
//jokerler
string c2 = Console.ReadLine();
switch (c2)
{
case "1":
while (Telefon == 0)
{
Console.WriteLine("Joker Hakkınız Bitmiştir");
c2 = Console.ReadLine();
}
Console.WriteLine("İLBER ORTAYLI Aranıyor...");
Console.WriteLine("İLBER ORTAYLI: Bence Cevap B");
Telefon--;
Console.WriteLine("Cevabın:");
c2 = Console.ReadLine();
break;
case "2":
while (YarıYarıya == 0)
{
Console.WriteLine("Joker Hakkınız Bitmiştir");
c2 = Console.ReadLine();
}
YarıYarıya--;
Console.WriteLine("CEVAP A YADA B");
Console.WriteLine("Cevabın:");
c2 = Console.ReadLine();
break;
case "3":
while (Seyirci == 0)
{
Console.WriteLine("Joker Hakkınız Bitmiştir");
c2 = Console.ReadLine();
}
Seyirci--;
Console.WriteLine("Seyircilerin Cevapları:" + " " + "%10A" + " " + "%60B" + " " + "%10C" + " " + "%20D");
Console.WriteLine("Cevabın:");
c2 = Console.ReadLine();
break;
}
switch (c2)
{
case "B":
Para += 5000;
Console.WriteLine("Tebrikler Cevabınız Doğru Kazancınız" + " " + Para + "TL");
Console.WriteLine();
Console.WriteLine("Sıradaki Soru Geliyor Hazır Ol!");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Ama Yinede Soralım Çekilmek İstersen Evet Yada Hayır Yazman Yeterli");
break;
default:
Console.WriteLine("Cevabınız Yanlış Kazancınız = " + Para + "TL");
Environment.Exit(0);
break;
}
//ÇEKİLME KISMI
Console.WriteLine();
Console.WriteLine();
c2 = Console.ReadLine();
if (c2 == "EVET" || c2 == "evet")
{
Console.WriteLine("Yarışmadan Çekildiniz Kazancınız " + Para + "TL");
Environment.Exit(0);
}
}
if(Telefon == 0) {
Console.WriteLine("Joker Hakkınız Bitmiştir.");
break;
}
O zaman goto kullanabilirsiniz yada switchi while döngüsüne alabilirsiniz. Bir kontrol mekanizması eklersiniz. Switch'den dışarı çıktıktan sonra istenen şartlar karşılanmadıysa tekrar input ister. Örneğin;Hocam şimdi şöyle dediğiniz bir yere kadar doğru ama yarışmacı diyelimki 1 e bastı joker hakkınız bitmiştir yazısını gördü ama elinde olan diğer jokerleri kullanmak isteyecektir ve 2 ye bastığımda direk cevabımı yanlış olarak kabul ediyor
bool jokersor = true;
while(jokersor) {
string c2 = Console.ReadLine();
switch(c2) {
case 0:
if(Telefon == 0) {
Console.WriteLine("Telefon hakkınız bitmiştir!");
break;
}
//programın yapması gereken şeyleri ekle
jokersor = false;
break;
}
}
burayadon:
string c2 = Console.ReadLine();
switch(c2) {
case "1":
if(Telefon == 0) {
Console.WriteLine("Telefon hakkınız bitmiştir!");
goto burayadon;
}
//programın yapması gereken şeyleri ekle
break;
}
O zaman goto kullanabilirsiniz ya da Switch'i while döngüsüne alabilirsiniz. Bir kontrol mekanizması eklersiniz. Switch'den dışarı çıktıktan sonra istenen şartlar karşılanmadıysa tekrar input ister. Örneğin;
Ya da goto.C#:bool jokersor = true; while(jokersor) { string c2 = Console.ReadLine(); switch(c2) { case 0: if(Telefon == 0) { Console.WriteLine("Telefon hakkınız bitmiştir!"); break; } //programın yapması gereken şeyleri ekle. jokersor = false; break; } }
C#:burayadon: string c2 = Console.ReadLine(); switch(c2) { case "1": if(Telefon == 0) { Console.WriteLine("Telefon hakkınız bitmiştir!"); goto burayadon; } //programın yapması gereken şeyleri ekle. break; }
O zaman goto kullanabilirsiniz ya da Switch'i while döngüsüne alabilirsiniz. Bir kontrol mekanizması eklersiniz. Switch'den dışarı çıktıktan sonra istenen şartlar karşılanmadıysa tekrar input ister. Örneğin;
Ya da goto.C#:bool jokersor = true; while(jokersor) { string c2 = Console.ReadLine(); switch(c2) { case 0: if(Telefon == 0) { Console.WriteLine("Telefon hakkınız bitmiştir!"); break; } //programın yapması gereken şeyleri ekle. jokersor = false; break; } }
C#:burayadon: string c2 = Console.ReadLine(); switch(c2) { case "1": if(Telefon == 0) { Console.WriteLine("Telefon hakkınız bitmiştir!"); goto burayadon; } //programın yapması gereken şeyleri ekle. break; }
Okay while döngüsüyle de yapılır. Örneğini verdim.Goto kullanmamız yasak. D kolay yoldan gidemiyorum yani.
Şimdi inceleyip geri dönüş yapacağım.Dediğim kısım //sorular 2 yazan yerden sonra geliyor soru 2 veya 2.1'e bakarsanız orada while döngüsünü görürsünüz.
Hocam nedir son durum görebildiniz mi hatayı.
private int telefon = 3, seyirci = 3;
private void haklar(int KullanılanHak)
{
switch (KullanılanHak)
{
case 1:
while (telefon >= 0)
{
if (telefon > 0)
{
telefon--;
MessageBox.Show("+");
}
else
{
MessageBox.Show("Hak gg");
}
break;
}
break;
case 2:
while (seyirci >= 0)
{
if (seyirci > 0)
{
seyirci--;
MessageBox.Show("++");
}
else
{
MessageBox.Show( "Seyirci Hak gg");
}
break;
}
break;
}
}
haklar(1);