Podgląd pojedynczego posta
Stary 07.12.2006, 15:34   #2
Kasprzak
...niepoprawny marzyciel.
 
Avatar użytkownika Kasprzak
 
Data rejestracji: 25.06.2002
Lokalizacja: Poznań
Posty: 4,752
Kasprzak zaczyna zdobywać reputację <1 - 49 pkt>
Nie mam kompilatora, ale kiedy***347; te***380; pisa***322;em taki program, ja rozwi***261;za***322;em to tak (nie wiem czy z tym pobraniem znaku b***281;dzie ok)
Kod:
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

string jednosci[10] = {"", " jeden", " dwa", " trzy", " cztery", " piec", " szesc", " siedem", " osiem", " dziewiec"};
string nastki[10] = {" dziesiec", " jedenascie", " dwanascie", " trzynascie", " czternascie", " pietnascie", " szesnascie", " siedemnascie", " osiemnascie", " dziewietnascie"};
string dziesiatki[10] ={"", "", " dwadziescia", " trzydziesci", " czterdziesci", " piecdziesiat", " szescdziesiat", " siedemdziesiat", " osiemdziesiat", " dziewiecdziesiat"};
string setki[10] = {"", " sto", " dwiescie", " trzysta", " czterysta", " piecset", " szescset", " siedemset", " osiemset", " dziewiecset"};
string wielkosci[6] = {"", " tys.", " mln.", " mld.", " bln.", " bld."};

int main(int argc, char *argv[])
{
  long int liczba;
  int reszta, rzad, i;
  string slowa;
  cout << "Podaj liczbe ktora chcesz zamienic na slowa " << endl;
  cin >> liczba;
  i = 1;
  rzad = 0;
  if (liczba <0)
   {
     slowa = slowa + " minus";
     liczba = abs(liczba);
   }
  if (liczba ==0)
      slowa = slowa + " zero";
  while (liczba > 0)
   {
    reszta = liczba % 10;
    liczba  = liczba / 10;
    if ( i == 1 )
       slowa = wielkosci[rzad] + slowa;
    if ( i==3 )
     {
       slowa = setki[reszta] + slowa;
       i = 0;
       rzad++;
     }
    if ( i==2 )
       slowa = dziesiatki[reszta] + slowa;
    if ( i == 1 && liczba % 10 != 1)
       slowa = jednosci[reszta] + slowa; 
    if ( i == 1 && liczba % 10 == 1)
     {
       slowa = nastki[reszta] + slowa; 
       liczba = liczba / 10; 
       i++;
     }
    i++;
   }
char znak;
do {
  cout << slowa; 
  cout << endl << endl;
  system("PAUSE");
  return EXIT_SUCCESS;}
 while ((znak=getch() ) !='0');  
return 0;
}
__________________
Pozdrawiam!
Kasprzak jest offline   Odpowiedz cytując ten post