Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

problem konwersji ciagu cyfr

Ostatnio zmodyfikowano 2014-10-14 20:17
Autor Wiadomość
medium
Temat założony przez niniejszego użytkownika
problem konwersji ciagu cyfr
» 2014-10-14 20:17:13
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <conio.h>

void changeToRoman(int a)
{   
    int s;
    int d;
    int j;
    int t;   
    int plik2;
   
   plik2 = open("liczbyRzymskie.txt",O_WRONLY|O_APPEND);
if(plik2 == -1)
{
perror("Blad otwarcia pliku!");
exit(1);
}
    if(a!=0)
     {
       j = a%10;
       d = (a/10)%10;
       s = a/100;
       t = a/1000;
      
      
  switch(t)
   {
      case 1: write (plik2,"M",1); break;
      case 2: write (plik2,"MM",2); break;
      case 3: write (plik2,"MMM",3); break;
   }
 
switch(s)
   {
      case 1: write (plik2,"C",1); break;
      case 2: write (plik2,"CC",2); break;
      case 3: write (plik2,"CCC",3); break;
      case 4: write (plik2,"CD",2); break;
      case 5: write (plik2,"D",1); break;
      case 6: write (plik2,"DC",2); break;
      case 7: write (plik2,"DCC",3); break;
      case 8: write (plik2,"DCCC",4); break;
      case 9: write (plik2,"CM",2); break;
   }
  
    switch(d)
   {
      case 1: write (plik2,"X",1); break;
      case 2: write (plik2,"XX",2); break;
      case 3: write (plik2,"XXX",3); break;
      case 4: write (plik2,"XL",2); break;
      case 5: write (plik2,"L",1); break;
      case 6: write (plik2,"LX",2); break;
      case 7: write (plik2,"LXX",3); break;
      case 8: write (plik2,"LXXX",4); break;
      case 9: write (plik2,"XC",2); break;
  
   }
switch(j)
   {
      case 1: write (plik2,"I",1); break;
      case 2: write (plik2,"II",2); break;
      case 3: write (plik2,"III",3); break;
      case 4: write (plik2,"IV",2); break;
      case 5: write (plik2,"V",1); break;
      case 6: write (plik2,"VI",2); break;
      case 7: write (plik2,"VII",3); break;
      case 8: write (plik2,"VIII",4); break;
      case 9: write (plik2,"IX",2); break;
   }    
 
   write (plik2," ",1);
   close(plik2);
}
}

int main()
{
    int plik;
    int l;
char znak[15];
plik = open("liczbyArabskie.txt", O_RDONLY);
if(plik == -1)
{
perror("Blad otwarcia pliku!");
exit(1);
}

   int size = 0;
   while((size=read(plik, znak,4))>0)
{
l = atoi(znak);
if(l > 0)
{
changeToRoman(l);
}
}
int i=0;
scanf("%c", &i);
    return 0;
}

W tekscie wejsciowym mam podane:
ghubhj 4 ijhiubgui 2 ikgbiu 1242 412 ijhiou 63 uighbi 2014 iubujbk 1 555 5

A na wyjsciu wyskakuje:
MXLII CDXII LXIII XIV DLV DLV


Co robie nie tak :/ ?
P-118475
« 1 »
  Strona 1 z 1