Kurtbeyi
Misafir Editör
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();
}