C++ girilen sayının rakamlarını yazıyla yazdırma

an in

Femtopat
Katılım
2 Kasım 2022
Mesajlar
5
Daha fazla  
Cinsiyet
Erkek
C++'ta sayı girilmesi istenecek ve girilen sayısının rakamları yazı ile yazılacak. Örnek: 1453 bir dört beş üç. Bunu nasıl yaparım? Yardımcı olur musunuz?
 
C++ hakim değilim ama girilen sayıyı öncesinde verdiğiniz değerler ile bağlayabilirsiniz diye tahmin ediyorum. Python'da şöyle bişey sonuç verdi, belki yardımcı olur.


Python:
sayi1 = "bir"
sayi2 = "iki"
sayi3 = "üç"


giris = input("Bir sayi giriniz: ")
if giris == "1":
    print(sayi1)
 
C++:
#include <iostream>
#include <string>
using namespace std;

int main()
{
    int num;
    string output;
    string numbers[10] =
        {"sıfır", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz"};
    cout << "Sayı giriniz: ";
    cin >> num;

    while (num > 0)
    {
       output = numbers[num % 10] + " " + output;
       num = num / 10;
    }
    cout << output;
 
    return 0;
}

Çıktı:
Kod:
Sayı giriniz: 29101923
iki dokuz bir sıfır bir dokuz iki üç
 
Son düzenleme:
Okulda c# gördüğümüz için c# dilinde yazabildim c++ benziyor zaten belki işinize yarar.
C#:
int sayi, birler, onlar, yuzler;

sayi = Convert.ToInt32(Console.ReadLine())

birler = sayi % 10;

onlar = (sayi / 10) % 10;

yuzler = (sayi / 100) % 10;

string[] birlik = { "", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz" };

string[] onluk = { "", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan" };

if (yuzler == 0 && onlar == 0 && birler == 0) Console.Write("Sıfır");

else

if (yuzler == 0)

{ Console.Write(""); }

else if (yuzler != 1)

{ Console.Write(birlik[yuzler] + "yüz "); }

else if (yuzler == 1)

{ Console.Write("yüz "); }

Console.Write(onluk[onlar] + " ");

Console.Write(birlik[birler]);

Console.ReadLine();
 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Geri
Yukarı