zamiana liczb na cyfry

0

Witam,
mam do napisania program w języku C,który zamienia liczby na tekst (przedział nie jest istotny, może być 1-1000) .
Nie jestem zbyt dobry w programowaniu ale bym to tak widział:

1. program pyta o liczbę

  1. wprowadzasz liczbę
  2. program sprawdza ile znaków ma wprowadzona liczba
    4, jeśli liczba ma jeden znak od 0 do 9 (to podpinamy pod switch chyba)
  3. jeśli dwa znaki od 10 do 99 to pierw sprawdza pierwszą liczbę (dziesięć, dwadzieścia, itd), później drugą liczba sprawdza (punktu 4)
  4. itd setki
  5. tysiąc
    8 . wypisuje-wynik

Mógłby ktoś się wypowiedzieć na temat tych kroków. Program musi być jak najprostrzy ponieważ później muszę go wytłumaczyć.
Pierwszy i drugi punkt jako tako potrafię ale następne nie wiem jak zrobić.

0

Liczby na tekst powiadasz? chodzi zapewne o zamianę 1 na jeden itd? Najłatwiej chyba będzie liczbę na string-a zamienić i potem zależnie od jego długości wypisywać stringi z właściwej tablicy z ew dodatkami np tysięcy. Pamiętaj tylko że jak będzie np 1001 to ma nie pisać 1 tysiąc set jeden, tylko tysiąc jeden. Generalne prosty program, ale o ile pamiętam dość długi (robiłem coś takiego na spoj-a tyle że w c++)

0

Niewiedza to maly problem, gorszy bijacy smrod lenistwa od czlowieka zglaszajacego sie na forum. Konwersje int na string i string na int

0

gdzie jest błąd?

#include <stdio.h>
#include <math.h>
main()
{
int a;
printf("Podaj liczbe zakres 0-9: ");
scanf("%d\n",&a);
switch(a)
{

  case 0: printf("zero "); 
  case 1: printf("jeden "); 
  case 2: printf("dwa "); 
  case 3: printf("trzy "); 
  case 4: printf("cztery "); 
  case 5: printf("piec ");
  case 6: printf("szesc "); 
  case 7: printf("siedem ");
  case 8: printf("osiem "); 
  case 9: printf("dziewiec "); 

}
printf("%d\n",a);
return 0;
}

zamiast 1 i 2 tam jest shlas

0

to się wkleja w znaczniki code i wtedy jest znaczek...

poczytaj o instrukcji break. Oraz nie potrzebnie w scanfie sczytujesz nowa linie

0

zrobiłem tak i działa ale jak dalej polecieć

#include <stdio.h>
#include <math.h> 

main()
{
int a;
printf("Podaj liczbe zakres 0-9: ");
scanf("%d",&a);
switch(a)
{

  case 0: printf("zero "); break;
  case 1: printf("jeden "); break;
  case 2: printf("dwa "); break;
  case 3: printf("trzy "); break;
  case 4: printf("cztery "); break;
  case 5: printf("piec ");break;
  case 6: printf("szesc "); break;
  case 7: printf("siedem ");break;
  case 8: printf("osiem "); break;
  case 9: printf("dziewiec "); break;

}

return 0;
}

0

Kod jest bez sensu. Po co tracić czas na switch'a ?

const char * jednosci[] = { "zero", "jeden", "dwa", "trzy", "cztery", "piec", "szesc", "siedem", "osiem", "dziewiec" };
printf("%s ", jednosci[a]); // jedziemy do odpowiedniego elementu i mamy

pozdrawiam.

0
#include <stdio.h>
#include <math.h> 

const char * setki[10] = { "", "sto ", "dwiescie ", "trzysta ", "czterysta ",
"piecset ", "szescset ", "siedemset ", "osiemset ", "dziewiecset " };

const char * nastki[10] = { "dziesiec", "jedenascie", "dwanascie", "trzynascie", "czternascie"
"pietnascie", "szesnascie", "siedemnascie", "osiemnascie", "dziewietnascie" };

const char * dziesiatki[10] = { "", "dziesiec ", "dwadziescia ", "trzydziesci ", "czterdziesci ",
"piecdziesiat ", "szescdziesiat ", "siedemdziesiat ", "osiemdziesiat ", "dziewiecdziesiat " };

const char * jednosci[10] = { "", "jeden ", "dwa ", "trzy ", "cztery ",
"piec ", "szesc ", "siedem ", "osiem ", "dziewiec " };

...

0

jak zadeklarować w tablicy zmienne z przypisaniem?

np: 900=dziewiecset ,800=osiemset itd

1 użytkowników online, w tym zalogowanych: 0, gości: 1