Loading:

Mikołajkowa promocja 3za2 - w tym roku przygotuj większą skarpetę!

C++ Liczba słownie z przedziału od 0 do 999

Program wczytuje od użytkownika liczbe z przedziału od 0 do 999 i wyświetla ją słownie.


Treść zadania:

2.    Zainicjować odpowiednie tablice wskaźników do tekstów i napisać program, który liczbę z przedziału od 0 do 999 wyprowadzi w postaci tekstu. Posłużyć się tablicami:
char    *J[]=    {””,”jeden”, ”dwa”, ”trzy”, ... , ”osiemnascie”, ”dziewietnascie”},
          *D[]=    {””,”dziesiec”, ”dwadziescia”, ... , ”osiemdziesiat”, ”dziewiecdziesiat”},
          *S[]=    {””,”sto”, ”dwiescie”, ”trzysta”, ... , ”osiemset”, ”dziewiecset”};



Napisz Artykuł

Listing


#include <cstdlib>
#include <iostream>

char
*J[]=   {"","jeden", "dwa", "trzy","cztery", "piec", "szesc", "siedem", "osiem", "dziewiec", "dziesiec", "jedenescie", "dwanascie", "trzynascie", "czternascie", "pietnascie", "szesnascie", "siedemnascie", "osiemnascie", "dziewietnascie"},
*D[]=   {"","dziesiec", "dwadziescia", "trzydziesci", "czterdziesci", "piedziesiat", "szescdziesiat", "siedemdziesiat", "osiemdziesiat", "dziewiecdziesiat"},
*S[]=   {"","sto", "dwiescie", "trzysta", "czterysta", "piecset", "szecset", "siedemset", "osiemset", "dziewiecset"};


int czytaj()
{
    int l;
    do
    {
        printf("Podaj liczbę całkowitą z zakresu 0-999: \n");
        scanf("%d",&l);
        if(l<0||l>999)printf("podana liczba nie miesci sie w zakresie. \n\n");
        }
    while(l<=0||l>=999);
    return l;
}
int zam(int l)
{
        int j,d,s,t;
        if((l<20) && (l!=10))printf("slownie: %s\n\n", J[l]);
        else if((l>=10)&&(l<100))
        {
             d=(l/10);
             j=(l%10);
             printf("slownie: %s %s \n\n",D[d],J[j]);
        }else if(l>=100)
        {
              s=(l/100);
              t=(l%100);
              d=(t/10);
              j=(t%10);
              printf("słownie %s %s %s\n\n",S[s],D[d],J[j]);
        }
     
        return 0;
}

int main()
{
    char p;
    do
    {
         int l=czytaj();
         zam(l);
         do
         {
                printf("czy powtorzyc (t/n)?");
                scanf("%s",&p);
                if(p!='t')
                {
                          if(p!='n')printf("\nwybierz 't' lub 'n'. \n\n");
                }
                }while(p!='t'&&p!='n');
         printf("\n");
         }while(p=='t');
                   
         scanf("%s",&p);
         return 0;
}
   


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=1572

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
Dlaczego mi to nie działa?:( zapisuję plik jako test.exe odpalam a tu mi wywala błąd od MS-DOS że napotkano niedozwoloną instrukcję.
autor: .... | 417 | 2009-08-17 18:19:46


    • 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-17 v.1.5 | design: diviXdesign & rainbowcolors