C# ile Hesap Makinesi Yapmak

ÖmerAltıntas

Megapat
Katılım
11 Haziran 2014
Mesajlar
496
Daha fazla  
Cinsiyet
Erkek
Merhaba arkadaşlar performans ödevim hesap makinesi yapmak ama bu hesap makinesi hem faktoriyel, hesaplayabilecek hem de mod alabilecek. Faktoriyel ve mod almada sorun yok. Hesap makinesi yaparken 2 sayı istetiyorum ancak sayıyı istemeden program kapanıyor. Kodlarım aşağıdaki gibidir.

Kod:
 switch (islem)
            {
                case"1":
                    Console.WriteLine("YAPMAK İSTEDİĞİNİZ İŞLEMİ SEÇİNİZ");
                    Console.WriteLine("1-TOPLAMA 2-ÇIKARMA 3-ÇARPMA 4-BÖLME");
                    hspm = Console.ReadLine();
                    break;
                    switch (hspm)
                    {

                            
                        case "1":
                            Console.WriteLine("1.SAYIYI GİRİNİZ");
                            s1=Convert.ToDouble(Console.ReadLine());
                            Console.WriteLine("2.SAYIYI GİRİNİZ");
                            s2 = Convert.ToDouble(Console.ReadLine());
                            sonuc = (s1 + s2);
                
                        Console.WriteLine("İŞLEMİNİZİN SONUCU :"+sonuc);
                        break;

                        case "2":
                             Console.WriteLine("1.SAYIYI GİRİNİZ");
                            s1=Convert.ToDouble(Console.ReadLine());
                            Console.WriteLine("2.SAYIYI GİRİNİZ");
                            s2 = Convert.ToDouble(Console.ReadLine());
                            sonuc = (s1 - s2);
                        Console.WriteLine("İŞLEMİNİZİN SONUCU :"+(sonuc) );
                        break;

                        case "3":
                             Console.WriteLine("1.SAYIYI GİRİNİZ");
                            s1=Convert.ToDouble(Console.ReadLine());
                            Console.WriteLine("2.SAYIYI GİRİNİZ");
                            s2 = Convert.ToDouble(Console.ReadLine());
                            sonuc = (s1 * s2);
                        Console.WriteLine("İŞLEMİNİZİN SONUCU :"+sonuc);
                        break;

                        case "4":
                             Console.WriteLine("1.SAYIYI GİRİNİZ");
                            s1=Convert.ToDouble(Console.ReadLine());
                            Console.WriteLine("2.SAYIYI GİRİNİZ");
                            s2 = Convert.ToDouble(Console.ReadLine());
                            sonuc = s1 / s2;
                        Console.WriteLine("İŞLEMİNİZİN SONUCU :"+sonuc);
                        break;
                          
                        

                    }
 
Console.Readkey(); eklemelisin. Sonucu gösterir göstermez program kendini kapatıyor.

Her case'in içine veya switchde case bittikten sonra ekle.
 
Yalnız sadece kodu bu şekilde çalıştırıyorsanız hatalı bu kod. İlk switchin devamı ve kapanışı yok?
 
Tamamını atıyım.
Kod:
int mod;
            double s1, s2;
            string islem;
            string hspm;
           
            Console.WriteLine("***FONKSİYONEL HESAP MAKİNESİNE HOŞ GELDİNİZ***");
            Console.WriteLine("===============================================");
            Console.WriteLine("YAPMAK İSTEDİĞİNİZ İŞLEMİ SEÇİNİZ");
            Console.WriteLine("1-HESAP MAKİNESİ");
            Console.WriteLine("2-MOD ALMA İŞLEMİ");
            Console.WriteLine("3-ÜSLÜ SAYI");
            Console.WriteLine("4-FAKTORİYEL HESAPLAMA");
            islem = Console.ReadLine();
         


            switch (islem)
            {
              case"1":
                    Console.WriteLine("YAPMAK İSTEDİĞİNİZ İŞLEMİ SEÇİNİZ");
                    Console.WriteLine("1-TOPLAMA 2-ÇIKARMA 3-ÇARPMA 4-BÖLME");
                    hspm = Console.ReadLine();
                    break;
                   
                   
                     switch (hspm)
                     {


                         case "1":
                              Console.WriteLine("1.SAYIYI GİRİNİZ");
                              s1 = Convert.ToDouble(Console.ReadLine());
                              Console.WriteLine("2.SAYIYI GİRİNİZ");
                              s2 = Convert.ToDouble(Console.ReadLine());
                             
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :"+(s1+s2));
                             Console.ReadKey();
                             break;
                           

                         case"2":
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" + (s1-s2));
                             Console.ReadKey();
                             break;
                             Console.ReadKey();

                         case "3":
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" +(s1*s2));
                             Console.ReadKey();
                             break;
                             Console.ReadKey();

                         case "4":
                           
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" +(s1/s2));
                             Console.ReadKey();

                             break;
                             Console.ReadKey();
                         default:
                             Console.WriteLine("HATALI TUŞLAMA YAPTINIZ");
                             break;
                     }
                         
                       

                case "2":
                    Console.WriteLine("KALANINI BULMAK İSTEDİĞİNİZ SAYIYI GİRİNİZ");
                    mod = Convert.ToInt32(Console.ReadLine());
                    if (mod % 2 == 0)
                    {
                        Console.WriteLine("KALAN :" + mod % 2);
                        Console.WriteLine("SAYI ÇİFTTİR");

                    }
                    else
                    {
                        Console.WriteLine("KALAN :"+mod%2);
                        Console.WriteLine("SAYI TEKTİR");
                    }
                    break;

             


                   


            }
            Console.ReadKey();
Mod alırken bir sorun yok.
 
Kodu düzenleyip atacağım.

Bu şekilde deneyin.
Kod:
int mod;
            double s1, s2;
            string islem;
            string hspm;
          
            Console.WriteLine("***FONKSİYONEL HESAP MAKİNESİNE HOŞ GELDİNİZ***");
            Console.WriteLine("===============================================");
            Console.WriteLine("YAPMAK İSTEDİĞİNİZ İŞLEMİ SEÇİNİZ");
            Console.WriteLine("1-HESAP MAKİNESİ");
            Console.WriteLine("2-MOD ALMA İŞLEMİ");
            Console.WriteLine("3-ÜSLÜ SAYI");
            Console.WriteLine("4-FAKTORİYEL HESAPLAMA");
            islem = Console.ReadLine();
        


            switch (islem)
            {
              case"1":
                    Console.WriteLine("YAPMAK İSTEDİĞİNİZ İŞLEMİ SEÇİNİZ");
                    Console.WriteLine("1-TOPLAMA 2-ÇIKARMA 3-ÇARPMA 4-BÖLME");
                    hspm = Console.ReadLine();
                    
                    Console.WriteLine("1.SAYIYI GİRİNİZ");
                    s1 = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("2.SAYIYI GİRİNİZ");
                    s2 = Convert.ToDouble(Console.ReadLine());
                    
                     switch (hspm)
                     {
                            
                         case "1":         
                            Console.WriteLine("İŞLEMİNİZİN SONUCU :"+(s1+s2));
                            Console.ReadKey();
                            break;
                          

                         case"2":
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" + (s1-s2));
                             Console.ReadKey();   
                            break;
                         case "3":
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" +(s1*s2));
                             Console.ReadKey();
                             break;
                            

                         case "4":
                          
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" +(s1/s2));
                             Console.ReadKey();
                             break;
                         default:
                             Console.WriteLine("HATALI TUŞLAMA YAPTINIZ");
                             Console.ReadKey();
                             break;
                     }
                        
                break;     

                case "2":
                    Console.WriteLine("KALANINI BULMAK İSTEDİĞİNİZ SAYIYI GİRİNİZ");
                    mod = Convert.ToInt32(Console.ReadLine());
                    if (mod % 2 == 0)
                    {
                        Console.WriteLine("KALAN :" + mod % 2);
                        Console.WriteLine("SAYI ÇİFTTİR");

                    }
                    else
                    {
                        Console.WriteLine("KALAN :"+mod%2);
                        Console.WriteLine("SAYI TEKTİR");
                    }
                break;

            


                  


            }
            Console.ReadKey();
 
Gene kapanıyor kendiniz deneyin isterseniz.
 
Enter'a basarsanız ReadKey olduğu için kapanacaktır zaten. 1 e bastıktan sonra zaten sayıları istemeye başlıyor.

Kod:
int mod;
            double s1, s2;
            string islem;
            string hspm;
          
            Console.WriteLine("***FONKSİYONEL HESAP MAKİNESİNE HOŞ GELDİNİZ***");
            Console.WriteLine("===============================================");
            Console.WriteLine("YAPMAK İSTEDİĞİNİZ İŞLEMİ SEÇİNİZ");
            Console.WriteLine("1-HESAP MAKİNESİ");
            Console.WriteLine("2-MOD ALMA İŞLEMİ");
            Console.WriteLine("3-ÜSLÜ SAYI");
            Console.WriteLine("4-FAKTORİYEL HESAPLAMA");
            islem = Console.ReadLine();
        


            switch (islem)
            {
              case"1":
                    Console.WriteLine("YAPMAK İSTEDİĞİNİZ İŞLEMİ SEÇİNİZ");
                    Console.WriteLine("1-TOPLAMA 2-ÇIKARMA 3-ÇARPMA 4-BÖLME");
                    hspm = Console.ReadLine();
                    
                    Console.Write("1.SAYIYI GİRİNİZ:");
                    s1 = Convert.ToDouble(Console.ReadLine());
                    Console.Write("2.SAYIYI GİRİNİZ:");
                    s2 = Convert.ToDouble(Console.ReadLine());
                    
                     switch (hspm)
                     {
                            
                         case "1":         
                            Console.WriteLine("İŞLEMİNİZİN SONUCU :"+(s1+s2));
                            Console.ReadKey();
                            break;
                          

                         case"2":
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" + (s1-s2));
                             Console.ReadKey();   
                            break;
                         case "3":
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" +(s1*s2));
                             Console.ReadKey();
                             break;
                            

                         case "4":
                          
                             Console.WriteLine("İŞLEMİNİZİN SONUCU :" +(s1/s2));
                             Console.ReadKey();
                             break;
                         default:
                             Console.WriteLine("HATALI TUŞLAMA YAPTINIZ");
                             Console.ReadKey();
                             break;
                     }
                        
                break;     

                case "2":
                    Console.WriteLine("KALANINI BULMAK İSTEDİĞİNİZ SAYIYI GİRİNİZ");
                    mod = Convert.ToInt32(Console.ReadLine());
                    if (mod % 2 == 0)
                    {
                        Console.WriteLine("KALAN :" + mod % 2);
                        Console.WriteLine("SAYI ÇİFTTİR");

                    }
                    else
                    {
                        Console.WriteLine("KALAN :"+mod%2);
                        Console.WriteLine("SAYI TEKTİR");
                    }
                break;

            


                  


            }
            Console.ReadKey();
Bunu dener misin?
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…