C# Konsol Ekranında Vize Final Hesaplama(Dizilerle , Döngülerle, if - else, switch-case , Çalışma Örneği)


C# programlama ile ilk başladığım zamanlarda denemek için yapmış olduğum switch - case , if-else gibi karar yapıları  ve  diziler, döngüler gibi konularda örnek olcak kücük bir program denilebilir. kaç öğrenci, vize notu yüzde kaç etkiliyor gibi soruları cevaplandırmanız gerekecektir program çalışınca ve girişte kullanıcı adı ve şifre soracaktır. Kullanıcı adı  . a, Şifre : 0 çalışmalarınız da başarılar dilerim.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VizeFinalOrtalaması
{
    class Program
    {
        static void Main(string[] args)
        {
            double vizeort, finalort = 00.0;
            string user = "a";
            int kac_kisi = 0, sifre = 1;
            char goster;
            bool dongu = true;
            Console.WriteLine("<<<<<<<<<<<<<<<<<<<   Öğrenci Bilgi Sistemine Hoş Geldiniz.   >>>>>>>>>>>>>>>>");
            Console.WriteLine(">>>>>>>>>>>>>>>>>>>>>>>   Giriş İçin Bir Tuşa Basınız..   <<<<<<<<<<<<<<<<<<<<");
            Console.ReadKey();
            Console.Clear();
            Console.WriteLine("                      Giriş Ekranına Yönlendiriliyorsunuz. \n\n                              Lütfen Bekleyiniz.. ");
            System.Threading.Thread.Sleep(2000);
            Console.Clear();
            do
            {
                Console.Clear();
                Console.Write("Kullanıcı Adınızı Giriniz : ");

            } while (user != Console.ReadLine());
            do
            {
                Console.Clear();
                Console.Write("Şifrenizi Giriniz : ");

            } while (sifre != Convert.ToInt32(Console.ReadLine()));
            Console.Clear();
            Console.Write("Kaç Kişinin Ortalamasını Yazdıracaksınız : ");
            kac_kisi = Convert.ToInt32(Console.ReadLine());
            Console.Write("Lütfen Vize'nin Yüzde Kaç Etkliyeceğini Giriniz : %");
            vizeort = Convert.ToDouble(Console.ReadLine());
            int[] kisidizi = new int[kac_kisi];
            Double[] vizedizi = new double[kac_kisi];
            Double[] finaldizi = new double[kac_kisi];
            double[] ortalamadizi = new double[kac_kisi];
            string[] gectimi = new string[kac_kisi];
            string[] kisiadi = new string[kac_kisi];
            finalort = (100 - vizeort);
            for (int i = 0; i < kac_kisi; i++)
            {
                Console.Write("Öğrenci Adı Giriniz : ");
                kisiadi[i] = Console.ReadLine().ToUpper();
                Console.Write(kisiadi[i] + " Vize Notunu Giriniz : ");
                vizedizi[i] = Convert.ToDouble(Console.ReadLine());
                Console.Write(kisiadi[i] + " Final Notunu Giriniz : ");
                finaldizi[i] = Convert.ToDouble(Console.ReadLine());
                ortalamadizi[i] = (vizedizi[i] * vizeort / 100) + (finaldizi[i] * finalort / 100);
                if (ortalamadizi[i] >= 50)
                {
                    gectimi[i] = " Geçti";
                }
                else
                {
                    gectimi[i] = " Kaldı";
                }
                Console.Clear();
            }
            while (dongu)
            {
                Console.Clear();
                Console.WriteLine("Lütfen Seçim Yapınız.");
                Console.WriteLine();
                Console.WriteLine("1) Öğrenci Not Çizelgesini Liste Halinde Göster\n2) Geçen Öğrencileri Göster\n3) Vize Notlarını Göster\n4) Final Notlarını Göster\n5) Çıkış Yap");
                Console.WriteLine();
                Console.Write("Seçim : ");
                goster = Convert.ToChar(Console.ReadLine());
                switch (goster)
                {
                    case '1':
                        Console.Clear();
                        for (int i = 0; i < kisiadi.Length; i++)
                        {
                            Console.WriteLine("Öğrenci Adı : " + kisiadi[i] + "  Vize Notu : " + vizedizi[i] + "  Final Notu : " + finaldizi[i] + " Ort. : " + ortalamadizi[i] + " Sonuç : " + gectimi[i]);
                        }
                        Console.WriteLine();
                        Console.WriteLine("Yeniden Seçim Yapmak İçin Bir Tuşa Basınız.");
                        Console.ReadKey();
                        break;
                    case '2':
                        Console.Clear();
                        int gecensayac = 0;
                        int kalansayac = 0;
                        for (int i = 0; i < kisiadi.Length; i++)
                        {
                            Console.WriteLine("Öğrenci Adı : " + kisiadi[i] + " Sonuç : " + gectimi[i]);
                            if (gectimi[i] == " Geçti")
                            {
                                gecensayac++;
                            }
                            else
                            {
                                kalansayac++;
                            }
                        }
                        Console.WriteLine();
                        Console.WriteLine("Öğrenci Sayısı : " + kac_kisi + "  Geçen Öğrenci Sayısı : " + gecensayac + " Kalan Öğrenci Sayısı : " + kalansayac);
                        Console.WriteLine("\n\n");
                        Console.WriteLine("Yeniden Seçim Yapmak İçin Bir Tuşa Basınız.");
                        Console.ReadKey();
                        break;
                    case '3':
                        Console.Clear();
                        for (int i = 0; i < kisiadi.Length; i++)
                        {
                            Console.WriteLine("Öğrenci Adı : " + kisiadi[i] + "  Vize Notu : " + vizedizi[i]);
                        }
                        Console.WriteLine();
                        Console.WriteLine("Vizeye Giren Öğrenci Sayısı : " + kac_kisi);
                        Console.WriteLine("\n\n");
                        Console.WriteLine("Yeniden Seçim Yapmak İçin Bir Tuşa Basınız.");
                        Console.ReadKey();
                        break;
                    case '4':
                        Console.Clear();
                        for (int i = 0; i < kisiadi.Length; i++)
                        {
                            Console.WriteLine("Öğrenci Adı : " + kisiadi[i] + "  Final Notu : " + finaldizi[i]);
                        }
                        Console.WriteLine();
                        Console.WriteLine("Finale Giren Öğrenci Sayısı : " + kac_kisi);
                        Console.WriteLine("\n\n");
                        Console.WriteLine("Yeniden Seçim Yapmak İçin Bir Tuşa Basınız.");
                        Console.ReadKey();
                        break;

                    case '5':
                        dongu = false;
                        Console.WriteLine(" Çıkış Yapılıyor. Hoşçakalın.");
                        System.Threading.Thread.Sleep(2000);
                        break;
                }
            }
        }
    }
}
//Dizilerle döngülerle çalışma örneği.



Devamını Okumak İçin »

Vmix CALL' da Feedback Sorunu



     Merhabalar vMix programını rejiye bağlı kullanmak istiyorsanız ve kendi sesiniz geri size geliyorsa (feedback yapıyorsa) bunu düzeltmek için yazının devamını okuyabilirsiniz.


Sorunun sebebi rejiden vMix’e giden ses, rejiye vMix’ten geri geliyor. Sesleri vMix tarafında birbirinden ayırmamız gerekiyor.


    Öncelikle vMix’te Settings kısmından Audio Outputs seçeneğine gelerek Master  A ve B yazan yerleri A’yı Enable yapınız ve B’yi rejiye ses mikserine ses gönderdiğiniz çıkışınızı seçiniz. (örneğin; ben bilgisayarımın hoparlör çıkışını 3.5 mm jack’ı à xlr sokete dönüştürerek gönderiyorum)

   
   Şimdi ne yaptık vMix yazılımımızda A ve B olmak üzere 2 adet BUS yada AUX denilebilir aktif ettik.
   
   Ardından Görüntülü arama yaptığımız Video Call girişimize gelelim Return Feed menüsü altında Audio Source yani görüntülü arama da konuğumuza göndereceğimiz ses kaynağını AUX A’ yı seçiyoruz. (Return Feed menüsü altından görüntülü aradığımız kişiye göndereceğimiz görüntü kaynağımızı vs. gibi seçenekleri de isteğinize uygun şekilde bu menüde değerlendirebilirsiniz.) 


   Daha sonra kaynak ekle kısmını kapamadan az yukarıda olan audio input(Ses Girişi) seçeneğine gelelim. Burada kafanız karışabilir ama aslında çok basit Rejide kullandığımız ses mikserimizin AUX’undan Bilgisayara vMix’e sesi nerden alıyorsanız (örneğin ben mikrofon girişinden alıyorum yani mikserden çıkan XLR'ıà 3.5MM Jack’ a çevirerek bilgisayarımın standart mikrofon girişinden giriyorum.) onu seçerek  Ok  seçeneğine tıklayarak kaynak ekleme menüsünü kapatıyoruz.

    vMix programında ses mikseri bölümünde audio inputumun  altında beliren seçenekleri görmüşsünüzdür  M | A | B seçeneğinden  gelen sesi nereye göndereceğimizi seçeceğimiz bölüm burası,  mikrofondan aldığım sesi A aux’una gönderiyorum. A AUX’ uma boşu boşuna göndermedik sesi A AUX’umdan video arama yaptığımız kişi ses alacaktı evet şimdi taşlar yerine oturuyor. Hemen yeniden kanak ekle menüsünü gelerek video arama ekliyoruz.

   vMix’te video arama kaynağımızın ses mikserindeki M|A|B seçeneklerini görmüşsünüzdür bu seçeneklerden B AUX’unu ve ihtiyaca bağlı olarak (Master Çıkışı)'yi işaretliyoruz.




   Şimdi Toparlayalım.

   Şimdi vMix programımızda ses mikserinden gelen sesimizi A AUX’ una yönlendirdik.  vMix’den  ses mikserine de  B AUX’ unu gönderdik.  Video aramımıza A AUX’unu seçmiştik o arkadaş bizim gönderdiğimiz sesi aldı. Bizde onun sesini B AUX’una yönlendirerek miksere aldık. 
Feedback sorununumuz çözüldü! Master sesimiz var bide oda youtube veya herhangi bir yere stream yaparsanız oraya gidecektir. Görüntü çıkışınızda ne varsa onunla birlikte yayın yaptığınız yere gider.

Ama bu demek değildir ki ses yankı kesinlikle yapmaz. Sesçi arkadaş vMix’ giden aux’a vMix’ten gelen input’ u seçerse yine ses feedback yapar. Onunda artık vMix pek alakası yok 😊  
Umarım anlaşılır olmuştur.  İyi yayınlar.

Devamını Okumak İçin »
Microsoft Store'da Kali Linux indirdiğiniz de aşağıda ki hatayı alıyorsanız.


Windows PowerShell 'i yönetici olarak çalıştırınız.
Aşağıdaki metni PowerShell'e yapıştırınız ve çalıştırınız.

Yükleme işlemi bittikten sonra “Kullanıcı Adı” ve “Şifre” belirliyoruz.






Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Devamını Okumak İçin »