Girilen Sayıyı Roma Rakamlarına Çevirn Program

Kurtbeyi

Misafir Editör
Katılım
5 Şubat 2022
Mesajlar
501
Tepkime puanı
44
Konum
istanbul
Cinsiyet
  1. Bay
Takım
Fenerbahçe
Girilen Sayıyı Roma Rakamlarına Çevirn Program

Kod:
#include <stdio.h>
#include <conio.h>

int main()
{

int sayi;

printf("Lutfen roma rakamlarina cevirmek istediginiz sayiyi giriniz: n");
scanf("%d", sayi);

while(sayi!=0) /*Sayimizi roma rakamlari kuralina gore azaltmaya basliyacagiz ve 0 oldugunda donguden cikacak. */
{
while(sayi>999) /* sayi 9999dan buyukse roma rakami olarak ekrana M yazdirilir.*/
{
sayi=sayi-1000; /*Sayidan 1000 cikartilir*/
printf("M");
}

if(sayi>=900) /*Roma rakamları mantığına göre 900 90 9 40 ve 4 un yazım şekli ayridir.*/
{
sayi=sayi-900;
printf("CM"); /*C = 100 M= 1000 900 icin 9 tane c yada 1 tane d 4 tane c konmaz. 1000'den 100 cıkartılır. */
}

if(sayi>=500) /*Sayi 500 den buyuk ve esitse D kullaniriz*/
{
sayi=sayi-500;
printf("D");
}

while(sayi>99) /* Yine ozel kısım olan 99 incelenir. 99'dan buyuk oldugu surece ekrana C yazariz. C=100 oldugunu unutmayalim*/
{
sayi=sayi-100;
printf("C");
}

if(sayi>=90)/*900 yazim mantıgını biliyoruz. o halde 90 XC yani 100-10 seklinde yazariz.*/
{
sayi=sayi-90;
printf("XC");
}

if(sayi>=50)/*Sayimiz 50den buyukse L kullanalim*/
{
sayi=sayi-50;
printf("L");
}

if(sayi>=40)/*Yine ozel durum mantigi 40 = 50-10 XL*/
{
sayi=sayi-40;
printf("XL");
}

while(sayi>9)
{
sayi=sayi-10;/*Sayi 10dan buyuk oldugu surece ekrana X yazariz*/
printf("X");
}

if(sayi>=9)/*Yine 9 u IX seklinde yaziyoruz. 10-1*/
{
sayi=sayi-9;
printf("IX");
}

if(sayi>=5)/*Sayi 5 den buyuk oldugu surece V yazariz*/
{
sayi=sayi-5;
printf("V");
}

if(sayi>=4)/*4=5-1 seklinde IV yazılır*/
{
sayi=sayi-4;
printf("IV");
}

while(sayi>0);/* Ve son olarak elimizde 1-2-3 gibi bir deger kalir ve bunlar icin de I kullanırız.*/
{
sayi=sayi-1;
printf("I");
}
if(sayi==0) /*Bu kontrol ile de dongunun herhangi bir yerinde sayimiz 0'a ulastiginda donguden cikariz.*/
break;

}
printf("coded by tylnn");
getch();
}
 

Benzer konular

İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş