Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (9. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4.172
Cevap
118
Favori
167.378
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 7891011
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • quote:

    Orijinalden alıntı: b111210004

    Merhaba sorum başlığa uygun değil ama ben bilg. mühen. 1.sınıfı bitirdim yeni yeni kod yazmaya başladım c ve c++ biliyorum(orta düzeyde) internetteki küçük programları artık ezbere biliyoruz hesap makinesi,not ortalamasi vb gibi ben daha yaratici,farkli bişeyler yazmak istiyorum bana fikir verir misiniz.Teşekürler

    kardeşim sana tavsiyem c# a geç. görsel programlama ile çalış.zaten c# a başlayınca gerisi gelir inş.
  • quote:

    Orijinalden alıntı: keftar

    quote:

    Orijinalden alıntı: b111210004

    Merhaba sorum başlığa uygun değil ama ben bilg. mühen. 1.sınıfı bitirdim yeni yeni kod yazmaya başladım c ve c++ biliyorum(orta düzeyde) internetteki küçük programları artık ezbere biliyoruz hesap makinesi,not ortalamasi vb gibi ben daha yaratici,farkli bişeyler yazmak istiyorum bana fikir verir misiniz.Teşekürler

    kardeşim sana tavsiyem c# a geç. görsel programlama ile çalış.zaten c# a başlayınca gerisi gelir inş.

    ben bi dili tam olarak anlayıp öğrenmeden diğerine geçme taraftarı değilim.C++ ı öğrendiğim zaman c# ada geçerim inş.Tavsiyen için sağol
  • quote:

    Orijinalden alıntı: eternalseal12

    Fikir baskasinin olduktan sonra nasil yaratici olunur ki

    haklısın ama bende ilgilenemeye yeni başladığım için fikir üretmekte zorlanıyorum o yüzden buraya yazma gereksinimi duydum zaten
  • Şimdi ufaktan anlatmam gerekirse, yazdığım program a ve b sayılarını bizden girmemizi istiyor buna göre işlem yapıyor.

    Sıkıntı ben programı yazarken sayı dışında bir karakter ya da sembol girilmesi durumunda tekrar sormasını istedim programdan. Buraya kadar sorun yok, ancak program aşağıda görüldüğü gibi 24c yazdığımız zaman c yi sanki b sayısı için girmişiz de bu nedenle tekrar girmemizi istiyormuş gibi davranıyor.

     C/C++/C# Sorularınız Buraya. . .(GÜNCEL)


    Benim yapmak istediğim "24c" girdiğinde programın a sayısını 24 olarak algılamaması ve oradaki hatayı vermesi. Bunu nasıl yapabilirim?

    Code'un bir kısmı

     
    printf( "f(x)=ax^b fonksiyonunda a ve b degerlerini girin\n" );
    printf("a = ");
    a1 = 0;
    while (a1 < 1)
    {
    digit = scanf ("%d", &a1);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }
    printf("b = ");
    a2 = 0;
    while (a2 < 1)
    {
    digit = scanf ("%d", &a2);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }


    a sayısı için int a1
    b sayısı için int a2 kullandım.




  • Geçen hafta yazmıştım.TL olarak girilen ücreti yazıya döken program. Tek sıkıntısı 4 haneli ve 1 ile başlayan fiyatlarda "bir bin" diyor. Oraya da bir if ifadesi eklenecek ama üşendim şimdi.

    Buyrun:
    using System; 
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace SayıdanYazıya
    {
    class Program
    {


    string[] basamakDeğeri = new string[6];
    string[,] değerler = new string[3, 10];


    int hangiÜçlüde = 0;
    int paraK = 0;
    int uclu = 0;
    string sayı;
    void üçlüBasamağıYaz()
    {

    if (hangiÜçlüde > 0)
    {


    uclu = sayınınÜçlüsünüAl(ref sayı);

    if (uclu != 0)
    {
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, uclu / 100] + değerler[1, (uclu / 10) % 10] + değerler[0, (uclu - ((uclu / 10) * 10))]);
    Console.Write(basamakDeğeri[hangiÜçlüde - 1]);

    }

    hangiÜçlüde--;
    üçlüBasamağıYaz();
    }

    }
    void kuruşKısmınıYaz()
    {
    if (hangiÜçlüde == 0)
    {
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("LİRA");
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, paraK / 100] + değerler[1, (paraK / 10) % 10] + değerler[0, (paraK - ((paraK / 10) * 10))]);
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("KURUŞ");
    Console.ForegroundColor = ConsoleColor.White;

    }

    }

    int sayınınÜçlüsünüAl(ref string sayı)
    {


    if ((sayı.Length % 3) > 0)
    {
    uclu = int.Parse(sayı.Substring(0, sayı.Length % 3));
    sayı = sayı.Substring(sayı.Length % 3);
    return uclu;
    }

    else
    {
    uclu = int.Parse(sayı.Substring(0, 3));
    sayı = sayı.Substring(3);
    return uclu;
    }
    }

    void SayılarıAyarla()
    {
    int devir, paraL=0, nokta;

    nokta = sayı.IndexOf(",");
    if (nokta!=-1)
    {
    paraK = int.Parse(sayı.Substring(nokta + 1));
    paraL = int.Parse(sayı.Substring(0, nokta));
    sayı = paraL.ToString();

    }
    else
    {
    paraK = 0;
    }


    if (paraK>99)
    {
    devir = paraK / 100;
    paraL = paraL + devir;
    paraK = paraK - (devir * 100);
    sayı = paraL.ToString();


    }


    }

    static void Main(string[] args)
    {
    Program A = new Program();




    A.basamakDeğeri[0] = " ";
    A.basamakDeğeri[1] = " Bin ";
    A.basamakDeğeri[2] = " Milyon ";
    A.basamakDeğeri[3] = " Milyar ";
    A.basamakDeğeri[4] = "Trilyon";
    A.basamakDeğeri[5] = "Katrilyon";

    A.değerler[0, 0] = "";
    A.değerler[0, 1] = " bir ";
    A.değerler[0, 2] = " iki ";
    A.değerler[0, 3] = " üç ";
    A.değerler[0, 4] = " dört ";
    A.değerler[0, 5] = " beş ";
    A.değerler[0, 6] = " altı ";
    A.değerler[0, 7] = " yedi ";
    A.değerler[0, 8] = " sekiz ";
    A.değerler[0, 9] = " dokuz ";

    A.değerler[1, 0] = "";
    A.değerler[1, 1] = " on ";
    A.değerler[1, 2] = " yirmi ";
    A.değerler[1, 3] = " otuz ";
    A.değerler[1, 4] = " kırk";
    A.değerler[1, 5] = " elli ";
    A.değerler[1, 6] = " altmış ";
    A.değerler[1, 7] = " yetmiş ";
    A.değerler[1, 8] = " seksen ";
    A.değerler[1, 9] = " doksan ";

    A.değerler[2, 0] = "";
    A.değerler[2, 1] = " yüz ";
    A.değerler[2, 2] = " ikiyüz ";
    A.değerler[2, 3] = " üçyüz ";
    A.değerler[2, 4] = " dörtyüz ";
    A.değerler[2, 5] = " beşyüz ";
    A.değerler[2, 6] = " altıyüz ";
    A.değerler[2, 7] = " yediyüz ";
    A.değerler[2, 8] = " sekizyüz ";
    A.değerler[2, 9] = " dokuzyüz ";

    while (true)
    {
    A.sayı = Console.ReadLine();

    A.SayılarıAyarla();
    if (A.sayı.Length % 3 > 0)
    {
    A.hangiÜçlüde = (A.sayı.Length / 3) + 1;

    }
    else
    {
    A.hangiÜçlüde = ((A.sayı.Length) / 3);
    }



    A.üçlüBasamağıYaz();
    if (A.paraK != 0)
    {
    A.kuruşKısmınıYaz();
    }
    else
    {
    Console.Write("LİRA");
    }

    N
    Console.WriteLine();

    }

    }


    }
    }




    < Bu mesaj bu kişi tarafından değiştirildi Honey Badger -- 22 Ağustos 2012; 0:23:39 >




  • quote:

    Orijinalden alıntı: Scytah

    Şimdi ufaktan anlatmam gerekirse, yazdığım program a ve b sayılarını bizden girmemizi istiyor buna göre işlem yapıyor.

    Sıkıntı ben programı yazarken sayı dışında bir karakter ya da sembol girilmesi durumunda tekrar sormasını istedim programdan. Buraya kadar sorun yok, ancak program aşağıda görüldüğü gibi 24c yazdığımız zaman c yi sanki b sayısı için girmişiz de bu nedenle tekrar girmemizi istiyormuş gibi davranıyor.

     C/C++/C# Sorularınız Buraya. . .(GÜNCEL)


    Benim yapmak istediğim "24c" girdiğinde programın a sayısını 24 olarak algılamaması ve oradaki hatayı vermesi. Bunu nasıl yapabilirim?

    Code'un bir kısmı

     
    printf( "f(x)=ax^b fonksiyonunda a ve b degerlerini girin\n" );
    printf("a = ");
    a1 = 0;
    while (a1 < 1)
    {
    digit = scanf ("%d", &a1);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }
    printf("b = ");
    a2 = 0;
    while (a2 < 1)
    {
    digit = scanf ("%d", &a2);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }


    a sayısı için int a1
    b sayısı için int a2 kullandım.

    "24c" yi string olarak alıyorsanız interger a çevirmeye çalışın eğer çeviremezse sizin istediğiniz sonucu verir gibime geliyor.




  • quote:

    Orijinalden alıntı: Scytah

    Şimdi ufaktan anlatmam gerekirse, yazdığım program a ve b sayılarını bizden girmemizi istiyor buna göre işlem yapıyor.

    Sıkıntı ben programı yazarken sayı dışında bir karakter ya da sembol girilmesi durumunda tekrar sormasını istedim programdan. Buraya kadar sorun yok, ancak program aşağıda görüldüğü gibi 24c yazdığımız zaman c yi sanki b sayısı için girmişiz de bu nedenle tekrar girmemizi istiyormuş gibi davranıyor.

     C/C++/C# Sorularınız Buraya. . .(GÜNCEL)


    Benim yapmak istediğim "24c" girdiğinde programın a sayısını 24 olarak algılamaması ve oradaki hatayı vermesi. Bunu nasıl yapabilirim?

    Code'un bir kısmı

     
    printf( "f(x)=ax^b fonksiyonunda a ve b degerlerini girin\n" );
    printf("a = ");
    a1 = 0;
    while (a1 < 1)
    {
    digit = scanf ("%d", &a1);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }
    printf("b = ");
    a2 = 0;
    while (a2 < 1)
    {
    digit = scanf ("%d", &a2);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }


    a sayısı için int a1
    b sayısı için int a2 kullandım.

    console inputdaki tum karekterleri donguye sok.Dongude her karekteri incele eger string varsa direk donguyu kir ve hata yolla



    < Bu mesaj bu kişi tarafından değiştirildi eternalseal12 -- 22 Ağustos 2012; 0:50:26 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: Scytah

    Şimdi ufaktan anlatmam gerekirse, yazdığım program a ve b sayılarını bizden girmemizi istiyor buna göre işlem yapıyor.

    Sıkıntı ben programı yazarken sayı dışında bir karakter ya da sembol girilmesi durumunda tekrar sormasını istedim programdan. Buraya kadar sorun yok, ancak program aşağıda görüldüğü gibi 24c yazdığımız zaman c yi sanki b sayısı için girmişiz de bu nedenle tekrar girmemizi istiyormuş gibi davranıyor.

     C/C++/C# Sorularınız Buraya. . .(GÜNCEL)


    Benim yapmak istediğim "24c" girdiğinde programın a sayısını 24 olarak algılamaması ve oradaki hatayı vermesi. Bunu nasıl yapabilirim?

    Code'un bir kısmı

     
    printf( "f(x)=ax^b fonksiyonunda a ve b degerlerini girin\n" );
    printf("a = ");
    a1 = 0;
    while (a1 < 1)
    {
    digit = scanf ("%d", &a1);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }
    printf("b = ");
    a2 = 0;
    while (a2 < 1)
    {
    digit = scanf ("%d", &a2);
    if (digit)
    {
    }
    else
    {
    scanf ("%*[^\n]");
    printf("Gecersiz Bir Sayi Girdiniz, Lutfen Bir Tam Sayi Girin\n");
    }
    }


    a sayısı için int a1
    b sayısı için int a2 kullandım.

    Sanırım programın girilen 24c değerini kabul etmesini istiyorsun..

    24c için int değilde string tanımla...
    mesela int a1,a2; yerine string a1,a2;
    kullanırsan harf ve sayı ile oluşan değişkeni alıp yazdırabilirsin.




  • quote:

    Orijinalden alıntı: b111210004

    Merhaba sorum başlığa uygun değil ama ben bilg. mühen. 1.sınıfı bitirdim yeni yeni kod yazmaya başladım c ve c++ biliyorum(orta düzeyde) internetteki küçük programları artık ezbere biliyoruz hesap makinesi,not ortalamasi vb gibi ben daha yaratici,farkli bişeyler yazmak istiyorum bana fikir verir misiniz.Teşekürler

    Otomasyon sistemleri üstünde çalış. Yılan oyunu gibi oyunlar yapmaya çalış.
  • quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: b111210004

    Merhaba sorum başlığa uygun değil ama ben bilg. mühen. 1.sınıfı bitirdim yeni yeni kod yazmaya başladım c ve c++ biliyorum(orta düzeyde) internetteki küçük programları artık ezbere biliyoruz hesap makinesi,not ortalamasi vb gibi ben daha yaratici,farkli bişeyler yazmak istiyorum bana fikir verir misiniz.Teşekürler

    Otomasyon sistemleri üstünde çalış. Yılan oyunu gibi oyunlar yapmaya çalış.

    çok teşekkürler hemen başlıyorum çalışmaya:)
  • quote:

    Orijinalden alıntı: b111210004

    quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: b111210004

    Merhaba sorum başlığa uygun değil ama ben bilg. mühen. 1.sınıfı bitirdim yeni yeni kod yazmaya başladım c ve c++ biliyorum(orta düzeyde) internetteki küçük programları artık ezbere biliyoruz hesap makinesi,not ortalamasi vb gibi ben daha yaratici,farkli bişeyler yazmak istiyorum bana fikir verir misiniz.Teşekürler

    Otomasyon sistemleri üstünde çalış. Yılan oyunu gibi oyunlar yapmaya çalış.

    çok teşekkürler hemen başlıyorum çalışmaya:)

    Bekliyorum sorularını.




  • quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: b111210004

    quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: b111210004

    Merhaba sorum başlığa uygun değil ama ben bilg. mühen. 1.sınıfı bitirdim yeni yeni kod yazmaya başladım c ve c++ biliyorum(orta düzeyde) internetteki küçük programları artık ezbere biliyoruz hesap makinesi,not ortalamasi vb gibi ben daha yaratici,farkli bişeyler yazmak istiyorum bana fikir verir misiniz.Teşekürler

    Otomasyon sistemleri üstünde çalış. Yılan oyunu gibi oyunlar yapmaya çalış.

    çok teşekkürler hemen başlıyorum çalışmaya:)

    Bekliyorum sorularını.

    Şimdilik bunu yaptım.
    #include <cstdlib>
    #include <iostream>
    #include<iomanip>
    using namespace std;

    int main()
    {
    int a,i;
    char urun_kodu[10][10];
    char urun_adi[10][20];
    char urun_adeti[10][10];
    char urun_fiyati[10][10];
    cout<<"Kac adet mal giriceksiniz:";
    cin>>a;
    for(i=0;i<a;i++)
    {
    cout<<i+1<<".urun_kodu";
    cin>>urun_kodu;
    cout<<i+1<<".urunun adi";
    cin>>urun_adi;
    cout<<i+1<<".urunun adeti";
    cin>>urun_adeti;
    cout<<i+1<<".urunun fiyati";
    cin>>urun_fiyati;
    }
    cout<<setw(10)<<"urun kodu"<<setw(10)<<"urun adi"<<setw(10)<<"urun adeti"<<setw(10)<<"urun fiyati"<<endl;
    for(i=0;i<a;i++)
    cout<<setw(10)<<urun_kodu<<setw(10)<<urun_adi<<setw(10)<<urun_adeti<<setw(10)<<urun_fiyati;

    system("PAUSE");
    return EXIT_SUCCESS;
    }




  • quote:

    Orijinalden alıntı: sencagri

    Geçen hafta yazmıştım.TL olarak girilen ücreti yazıya döken program. Tek sıkıntısı 4 haneli ve 1 ile başlayan fiyatlarda "bir bin" diyor. Oraya da bir if ifadesi eklenecek ama üşendim şimdi.

    Buyrun:
    using System; 
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace SayıdanYazıya
    {
    class Program
    {


    string[] basamakDeğeri = new string[6];
    string[,] değerler = new string[3, 10];


    int hangiÜçlüde = 0;
    int paraK = 0;
    int uclu = 0;
    string sayı;
    void üçlüBasamağıYaz()
    {

    if (hangiÜçlüde > 0)
    {


    uclu = sayınınÜçlüsünüAl(ref sayı);

    if (uclu != 0)
    {
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, uclu / 100] + değerler[1, (uclu / 10) % 10] + değerler[0, (uclu - ((uclu / 10) * 10))]);
    Console.Write(basamakDeğeri[hangiÜçlüde - 1]);

    }

    hangiÜçlüde--;
    üçlüBasamağıYaz();
    }

    }
    void kuruşKısmınıYaz()
    {
    if (hangiÜçlüde == 0)
    {
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("LİRA");
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, paraK / 100] + değerler[1, (paraK / 10) % 10] + değerler[0, (paraK - ((paraK / 10) * 10))]);
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("KURUŞ");
    Console.ForegroundColor = ConsoleColor.White;

    }

    }

    int sayınınÜçlüsünüAl(ref string sayı)
    {


    if ((sayı.Length % 3) > 0)
    {
    uclu = int.Parse(sayı.Substring(0, sayı.Length % 3));
    sayı = sayı.Substring(sayı.Length % 3);
    return uclu;
    }

    else
    {
    uclu = int.Parse(sayı.Substring(0, 3));
    sayı = sayı.Substring(3);
    return uclu;
    }
    }

    void SayılarıAyarla()
    {
    int devir, paraL=0, nokta;

    nokta = sayı.IndexOf(",");
    if (nokta!=-1)
    {
    paraK = int.Parse(sayı.Substring(nokta + 1));
    paraL = int.Parse(sayı.Substring(0, nokta));
    sayı = paraL.ToString();

    }
    else
    {
    paraK = 0;
    }


    if (paraK>99)
    {
    devir = paraK / 100;
    paraL = paraL + devir;
    paraK = paraK - (devir * 100);
    sayı = paraL.ToString();


    }


    }

    static void Main(string[] args)
    {
    Program A = new Program();




    A.basamakDeğeri[0] = " ";
    A.basamakDeğeri[1] = " Bin ";
    A.basamakDeğeri[2] = " Milyon ";
    A.basamakDeğeri[3] = " Milyar ";
    A.basamakDeğeri[4] = "Trilyon";
    A.basamakDeğeri[5] = "Katrilyon";

    A.değerler[0, 0] = "";
    A.değerler[0, 1] = " bir ";
    A.değerler[0, 2] = " iki ";
    A.değerler[0, 3] = " üç ";
    A.değerler[0, 4] = " dört ";
    A.değerler[0, 5] = " beş ";
    A.değerler[0, 6] = " altı ";
    A.değerler[0, 7] = " yedi ";
    A.değerler[0, 8] = " sekiz ";
    A.değerler[0, 9] = " dokuz ";

    A.değerler[1, 0] = "";
    A.değerler[1, 1] = " on ";
    A.değerler[1, 2] = " yirmi ";
    A.değerler[1, 3] = " otuz ";
    A.değerler[1, 4] = " kırk";
    A.değerler[1, 5] = " elli ";
    A.değerler[1, 6] = " altmış ";
    A.değerler[1, 7] = " yetmiş ";
    A.değerler[1, 8] = " seksen ";
    A.değerler[1, 9] = " doksan ";

    A.değerler[2, 0] = "";
    A.değerler[2, 1] = " yüz ";
    A.değerler[2, 2] = " ikiyüz ";
    A.değerler[2, 3] = " üçyüz ";
    A.değerler[2, 4] = " dörtyüz ";
    A.değerler[2, 5] = " beşyüz ";
    A.değerler[2, 6] = " altıyüz ";
    A.değerler[2, 7] = " yediyüz ";
    A.değerler[2, 8] = " sekizyüz ";
    A.değerler[2, 9] = " dokuzyüz ";

    while (true)
    {
    A.sayı = Console.ReadLine();

    A.SayılarıAyarla();
    if (A.sayı.Length % 3 > 0)
    {
    A.hangiÜçlüde = (A.sayı.Length / 3) + 1;

    }
    else
    {
    A.hangiÜçlüde = ((A.sayı.Length) / 3);
    }



    A.üçlüBasamağıYaz();
    if (A.paraK != 0)
    {
    A.kuruşKısmınıYaz();
    }
    else
    {
    Console.Write("LİRA");
    }

    N
    Console.WriteLine();

    }

    }


    }
    }



    Anladığımk adarıyla mesela 1250 girince, bir bin iki yüz elli yazdırıyor.

    Bu arada koda yüzeysel baktım ama güzel olmuş.

    Sorunu kodun içindende halledebilirsin inceleyip.. ama şöyle yapmayı dene önce :
    İf kontrolünü oluştur. Eğer sayılar şundan büyük veyaşundan küçükse de.. Sonrasında, bir fonksiyon oluştur. Fonksiyonun içine bu sayıları düzgün yazması içine bir algoritma yaz.




  • quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: sencagri

    Geçen hafta yazmıştım.TL olarak girilen ücreti yazıya döken program. Tek sıkıntısı 4 haneli ve 1 ile başlayan fiyatlarda "bir bin" diyor. Oraya da bir if ifadesi eklenecek ama üşendim şimdi.

    Buyrun:
    using System; 
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace SayıdanYazıya
    {
    class Program
    {


    string[] basamakDeğeri = new string[6];
    string[,] değerler = new string[3, 10];


    int hangiÜçlüde = 0;
    int paraK = 0;
    int uclu = 0;
    string sayı;
    void üçlüBasamağıYaz()
    {

    if (hangiÜçlüde > 0)
    {


    uclu = sayınınÜçlüsünüAl(ref sayı);

    if (uclu != 0)
    {
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, uclu / 100] + değerler[1, (uclu / 10) % 10] + değerler[0, (uclu - ((uclu / 10) * 10))]);
    Console.Write(basamakDeğeri[hangiÜçlüde - 1]);

    }

    hangiÜçlüde--;
    üçlüBasamağıYaz();
    }

    }
    void kuruşKısmınıYaz()
    {
    if (hangiÜçlüde == 0)
    {
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("LİRA");
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, paraK / 100] + değerler[1, (paraK / 10) % 10] + değerler[0, (paraK - ((paraK / 10) * 10))]);
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("KURUŞ");
    Console.ForegroundColor = ConsoleColor.White;

    }

    }

    int sayınınÜçlüsünüAl(ref string sayı)
    {


    if ((sayı.Length % 3) > 0)
    {
    uclu = int.Parse(sayı.Substring(0, sayı.Length % 3));
    sayı = sayı.Substring(sayı.Length % 3);
    return uclu;
    }

    else
    {
    uclu = int.Parse(sayı.Substring(0, 3));
    sayı = sayı.Substring(3);
    return uclu;
    }
    }

    void SayılarıAyarla()
    {
    int devir, paraL=0, nokta;

    nokta = sayı.IndexOf(",");
    if (nokta!=-1)
    {
    paraK = int.Parse(sayı.Substring(nokta + 1));
    paraL = int.Parse(sayı.Substring(0, nokta));
    sayı = paraL.ToString();

    }
    else
    {
    paraK = 0;
    }


    if (paraK>99)
    {
    devir = paraK / 100;
    paraL = paraL + devir;
    paraK = paraK - (devir * 100);
    sayı = paraL.ToString();


    }


    }

    static void Main(string[] args)
    {
    Program A = new Program();




    A.basamakDeğeri[0] = " ";
    A.basamakDeğeri[1] = " Bin ";
    A.basamakDeğeri[2] = " Milyon ";
    A.basamakDeğeri[3] = " Milyar ";
    A.basamakDeğeri[4] = "Trilyon";
    A.basamakDeğeri[5] = "Katrilyon";

    A.değerler[0, 0] = "";
    A.değerler[0, 1] = " bir ";
    A.değerler[0, 2] = " iki ";
    A.değerler[0, 3] = " üç ";
    A.değerler[0, 4] = " dört ";
    A.değerler[0, 5] = " beş ";
    A.değerler[0, 6] = " altı ";
    A.değerler[0, 7] = " yedi ";
    A.değerler[0, 8] = " sekiz ";
    A.değerler[0, 9] = " dokuz ";

    A.değerler[1, 0] = "";
    A.değerler[1, 1] = " on ";
    A.değerler[1, 2] = " yirmi ";
    A.değerler[1, 3] = " otuz ";
    A.değerler[1, 4] = " kırk";
    A.değerler[1, 5] = " elli ";
    A.değerler[1, 6] = " altmış ";
    A.değerler[1, 7] = " yetmiş ";
    A.değerler[1, 8] = " seksen ";
    A.değerler[1, 9] = " doksan ";

    A.değerler[2, 0] = "";
    A.değerler[2, 1] = " yüz ";
    A.değerler[2, 2] = " ikiyüz ";
    A.değerler[2, 3] = " üçyüz ";
    A.değerler[2, 4] = " dörtyüz ";
    A.değerler[2, 5] = " beşyüz ";
    A.değerler[2, 6] = " altıyüz ";
    A.değerler[2, 7] = " yediyüz ";
    A.değerler[2, 8] = " sekizyüz ";
    A.değerler[2, 9] = " dokuzyüz ";

    while (true)
    {
    A.sayı = Console.ReadLine();

    A.SayılarıAyarla();
    if (A.sayı.Length % 3 > 0)
    {
    A.hangiÜçlüde = (A.sayı.Length / 3) + 1;

    }
    else
    {
    A.hangiÜçlüde = ((A.sayı.Length) / 3);
    }



    A.üçlüBasamağıYaz();
    if (A.paraK != 0)
    {
    A.kuruşKısmınıYaz();
    }
    else
    {
    Console.Write("LİRA");
    }

    N
    Console.WriteLine();

    }

    }


    }
    }



    Anladığımk adarıyla mesela 1250 girince, bir bin iki yüz elli yazdırıyor.

    Bu arada koda yüzeysel baktım ama güzel olmuş.

    Sorunu kodun içindende halledebilirsin inceleyip.. ama şöyle yapmayı dene önce :
    İf kontrolünü oluştur. Eğer sayılar şundan büyük veyaşundan küçükse de.. Sonrasında, bir fonksiyon oluştur. Fonksiyonun içine bu sayıları düzgün yazması içine bir algoritma yaz.

    Teşekkürler yorumun için. Aynen dediğin gibi bir if kontrolü ile halledilebilir bir olay.

    Bu aralar farklı bir program üzerine çalışıyorum. Örneğin 257 TL yi 200, 100, 50, 20, 10, 5, 1 TL ve kuruşlar ile kaç farklı şekilde verilebilir. Bunun üzerine kısa ve öz bir algoritma üzerinde çalışıyorum. Bittiği zaman onuda buraya koyarım inşallah.




  • quote:

    Orijinalden alıntı: sencagri

    quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: sencagri

    Geçen hafta yazmıştım.TL olarak girilen ücreti yazıya döken program. Tek sıkıntısı 4 haneli ve 1 ile başlayan fiyatlarda "bir bin" diyor. Oraya da bir if ifadesi eklenecek ama üşendim şimdi.

    Buyrun:
    using System; 
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace SayıdanYazıya
    {
    class Program
    {


    string[] basamakDeğeri = new string[6];
    string[,] değerler = new string[3, 10];


    int hangiÜçlüde = 0;
    int paraK = 0;
    int uclu = 0;
    string sayı;
    void üçlüBasamağıYaz()
    {

    if (hangiÜçlüde > 0)
    {


    uclu = sayınınÜçlüsünüAl(ref sayı);

    if (uclu != 0)
    {
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, uclu / 100] + değerler[1, (uclu / 10) % 10] + değerler[0, (uclu - ((uclu / 10) * 10))]);
    Console.Write(basamakDeğeri[hangiÜçlüde - 1]);

    }

    hangiÜçlüde--;
    üçlüBasamağıYaz();
    }

    }
    void kuruşKısmınıYaz()
    {
    if (hangiÜçlüde == 0)
    {
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("LİRA");
    Console.ForegroundColor = ConsoleColor.White;
    Console.Write(değerler[2, paraK / 100] + değerler[1, (paraK / 10) % 10] + değerler[0, (paraK - ((paraK / 10) * 10))]);
    Console.ForegroundColor = ConsoleColor.Red;
    Console.Write("KURUŞ");
    Console.ForegroundColor = ConsoleColor.White;

    }

    }

    int sayınınÜçlüsünüAl(ref string sayı)
    {


    if ((sayı.Length % 3) > 0)
    {
    uclu = int.Parse(sayı.Substring(0, sayı.Length % 3));
    sayı = sayı.Substring(sayı.Length % 3);
    return uclu;
    }

    else
    {
    uclu = int.Parse(sayı.Substring(0, 3));
    sayı = sayı.Substring(3);
    return uclu;
    }
    }

    void SayılarıAyarla()
    {
    int devir, paraL=0, nokta;

    nokta = sayı.IndexOf(",");
    if (nokta!=-1)
    {
    paraK = int.Parse(sayı.Substring(nokta + 1));
    paraL = int.Parse(sayı.Substring(0, nokta));
    sayı = paraL.ToString();

    }
    else
    {
    paraK = 0;
    }


    if (paraK>99)
    {
    devir = paraK / 100;
    paraL = paraL + devir;
    paraK = paraK - (devir * 100);
    sayı = paraL.ToString();


    }


    }

    static void Main(string[] args)
    {
    Program A = new Program();




    A.basamakDeğeri[0] = " ";
    A.basamakDeğeri[1] = " Bin ";
    A.basamakDeğeri[2] = " Milyon ";
    A.basamakDeğeri[3] = " Milyar ";
    A.basamakDeğeri[4] = "Trilyon";
    A.basamakDeğeri[5] = "Katrilyon";

    A.değerler[0, 0] = "";
    A.değerler[0, 1] = " bir ";
    A.değerler[0, 2] = " iki ";
    A.değerler[0, 3] = " üç ";
    A.değerler[0, 4] = " dört ";
    A.değerler[0, 5] = " beş ";
    A.değerler[0, 6] = " altı ";
    A.değerler[0, 7] = " yedi ";
    A.değerler[0, 8] = " sekiz ";
    A.değerler[0, 9] = " dokuz ";

    A.değerler[1, 0] = "";
    A.değerler[1, 1] = " on ";
    A.değerler[1, 2] = " yirmi ";
    A.değerler[1, 3] = " otuz ";
    A.değerler[1, 4] = " kırk";
    A.değerler[1, 5] = " elli ";
    A.değerler[1, 6] = " altmış ";
    A.değerler[1, 7] = " yetmiş ";
    A.değerler[1, 8] = " seksen ";
    A.değerler[1, 9] = " doksan ";

    A.değerler[2, 0] = "";
    A.değerler[2, 1] = " yüz ";
    A.değerler[2, 2] = " ikiyüz ";
    A.değerler[2, 3] = " üçyüz ";
    A.değerler[2, 4] = " dörtyüz ";
    A.değerler[2, 5] = " beşyüz ";
    A.değerler[2, 6] = " altıyüz ";
    A.değerler[2, 7] = " yediyüz ";
    A.değerler[2, 8] = " sekizyüz ";
    A.değerler[2, 9] = " dokuzyüz ";

    while (true)
    {
    A.sayı = Console.ReadLine();

    A.SayılarıAyarla();
    if (A.sayı.Length % 3 > 0)
    {
    A.hangiÜçlüde = (A.sayı.Length / 3) + 1;

    }
    else
    {
    A.hangiÜçlüde = ((A.sayı.Length) / 3);
    }



    A.üçlüBasamağıYaz();
    if (A.paraK != 0)
    {
    A.kuruşKısmınıYaz();
    }
    else
    {
    Console.Write("LİRA");
    }

    N
    Console.WriteLine();

    }

    }


    }
    }



    Anladığımk adarıyla mesela 1250 girince, bir bin iki yüz elli yazdırıyor.

    Bu arada koda yüzeysel baktım ama güzel olmuş.

    Sorunu kodun içindende halledebilirsin inceleyip.. ama şöyle yapmayı dene önce :
    İf kontrolünü oluştur. Eğer sayılar şundan büyük veyaşundan küçükse de.. Sonrasında, bir fonksiyon oluştur. Fonksiyonun içine bu sayıları düzgün yazması içine bir algoritma yaz.

    Teşekkürler yorumun için. Aynen dediğin gibi bir if kontrolü ile halledilebilir bir olay.

    Bu aralar farklı bir program üzerine çalışıyorum. Örneğin 257 TL yi 200, 100, 50, 20, 10, 5, 1 TL ve kuruşlar ile kaç farklı şekilde verilebilir. Bunun üzerine kısa ve öz bir algoritma üzerinde çalışıyorum. Bittiği zaman onuda buraya koyarım inşallah.

    Evet güzel bir program.. Ayrıca üstteki verdiğin programdan daha rahat yazarsın o programı.




  • quote:

    Orijinalden alıntı: £XE



    Bu arada suriye günlüğünü okuyamadım.. Ve çok merak ettim
  • Up
  • quote:

    Orijinalden alıntı: £XE

    Up

    Hocam while döngüsü , döngünün başında nasıl durdurulur . Yani durduracak değer alındıktan sonra döngünün geri kalanı yürütülmeyecek.
  • quote:

    Orijinalden alıntı: strahd_von_zarovich

    quote:

    Orijinalden alıntı: £XE

    Up

    Hocam while döngüsü , döngünün başında nasıl durdurulur . Yani durduracak değer alındıktan sonra döngünün geri kalanı yürütülmeyecek.

    Bunun içni break komutunu kullanabilirsin. Basit şekilde gösterirsek

     
    #include <iostream>
    using namespace std;

    main()
    {
    int sayi;

    cout << "Bir sayi girin : ";

    while(sayi<5)
    break;

    cout << sayi << "dan buyuk bir sayi girin";
    }




  • Merhaba arkadaşlar

    benim bi yazılım ihtiyacım var.

    Örnek aşagıdadır bu şekilde bi yazılım nasıl olur ne kadara yaparsınız lütfen mail atın.

    1234567891234567/1234567891234567 şeklinde değişken rakamlar mp3 dosyası şeklinde kayıt edilip bana geliyor.
    ben bu mp3 dosyasını tekrar 1234567891234567/1234567891234567 bu rakamlara dönüştürerek başka yere txt dosyasında göndermek istiyorum.

    bu değişimi yapabilecek bir program satan yazıp bana satabilecek arkadaşlarımız varmı ?

    ilgi alakanız için şimdiden teşekkür ederim.

    Murat GÜLER
  • 
Sayfa: önceki 7891011
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.