Loading:


    C++ Zamiana liczb arabskich z przedziału od 0 do 3999 na liczby rzymskie

    Program zamienia liczby arabskie z przedziału od 0 do 3999 na liczby rzymskie


    Treść zadania:

    Napisać program zamieniający liczby arabskie z przedziału od 0 do 3999 na liczby rzymskie. Użyć zainicjowanej tablicy struktur struct RZYM {char *s; int w; };, gdzie s wskazuje na tekst (np. "CM"), a w zawiera wartość z tym tekstem związaną (np. 900). Do konwersji napisać funkcję, która otrzyma w parametrach liczbę, a w wyniku zwróci wskazanie na tekst postaci rzymskiej. Zapętlić program tak długo, jak długo podawana do konwersji liczba mieści się w zadanym przedziale.



    Napisz Artyku³

    Listing


    #include <stdio.h>
    #include <string.h>

    struct Rzym_t
    {
      char *s;
      int w;
    };

    static const Rzym_t Rzym[]=
    {
      {"M",  1000},
      {"CM",  900},
      {"D",   500},
      {"CD",  400},
      {"C",   100},
      {"XC",   90},
      {"L",    50},
      {"XL",   40},
      {"X",    10},
      {"IX",    9},
      {"V",     5},
      {"IV",    4},
      {"I",     1},
    };

    const char *dectorom( int liczba )
    {
      int i;
      static char Rliczba[20];
     
      Rliczba[0] = '\0';
     
      for (i=0; liczba && i<sizeof(Rzym)/sizeof(Rzym[0]); i++)
      {
        while ( Rzym[i].w <= liczba )
        {
          strcat( Rliczba, Rzym[i].s );
          liczba -= Rzym[i].w;
        }
      }
      return Rliczba;
    }

    int main()
    {
      int liczba;
     
      printf("\n");
      printf("1539\n");
      printf("grupa C\n\n");
      printf("\tProgram przeksztalca liczby arabskie na rzymskie.\n\n");
     
     
      for(;;)
      {
        printf("Podaj liczbe arabska: ");
       
            scanf("%d", &liczba);
       
            if(liczba<1 || liczba>3999)
                    return 0;
       
            printf("\nLiczba Rzymska: %s\n\n", dectorom(liczba));
      }
      scanf("%d", &liczba);
    }




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors