Advertisement
Guest User

Untitled

a guest
Mar 13th, 2014
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.81 KB | None | 0 0
  1. char toromai(int a) /* Arab számot alakít római számmá */
  2. {
  3.     int tmp,n=0;
  4.     char romai[20];
  5.     char error[10] = "#ÉRTÉK!";
  6.     char egyesek[][10]  = {"I","II","III","IV","V","VI","VII","VIII","IX"};
  7.     char tizesek[][10]  = {"X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
  8.     char szazasok[][10] = {"C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
  9.     char ezresek[][4]  = {"M","MM","MMM"};
  10.  
  11.     tmp=a;
  12.     while(tmp>0)
  13.     {
  14.         tmp/=10;
  15.         n++;
  16.     }
  17.  
  18.     if(1<=a<4000)
  19.     {
  20.         romai[n]='\0';
  21.         if(n==4)
  22.         {
  23.             strcat(romai,ezresek[(a/1000)-1]);
  24.             a%=1000;
  25.             n--;
  26.         }
  27.         if(n==3)
  28.         {
  29.             strcat(romai,szazasok[(a/100)-1]);
  30.             a%=100;
  31.             n--;
  32.         }
  33.         if(n==2)
  34.         {
  35.             strcat(romai,tizesek[(a/10)-1]);
  36.             a%=10;
  37.             n--;
  38.         }
  39.         else strcat(romai,egyesek[a-1]);
  40.        
  41.         return romai[20];
  42.     }
  43.     else return error[10];
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement