Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int obetnijRzad(int liczbaW, int rzad);
- string minusuj();
- string do20(int liczbaW);
- string dziesiatki(int liczbaW);
- string setki(int liczbaW);
- string tysiace(int liczbaW);
- string naTekst();
- int liczba;
- int main()
- {
- cout << "Liczby-Tekst v2.3 (C) Grzesiek11 2017-2018" << endl;
- while (1)
- {
- cout << "Wprowadz liczbe do zamiany na tekst (od -999999 do 999999): ";
- cin >> liczba;
- if (liczba > 999999 || liczba < -999999)
- {
- cout << "Liczba przekracza mozliwy zakres." << endl;
- }
- else
- {
- cout << naTekst() << endl;
- }
- }
- }
- int obetnijRzad(int liczbaW, int rzad)
- {
- int rzadR = 1;
- int obcieta = 0;
- int wielkoscRz = 0;
- for (int i = 0; i < rzad; i++)
- {
- rzadR = rzadR * 10;
- }
- wielkoscRz = liczbaW / rzadR;
- obcieta = liczbaW - wielkoscRz * rzadR;
- return obcieta;
- }
- string minusuj()
- {
- if (liczba < 0)
- {
- liczba = -liczba;
- return "minus ";
- }
- return "";
- }
- string do20(int liczbaW)
- {
- switch (liczbaW)
- {
- case 1:
- return "jeden";
- case 2:
- return "dwa";
- case 3:
- return "trzy";
- case 4:
- return "cztery";
- case 5:
- return "piec";
- case 6:
- return "szesc";
- case 7:
- return "siedem";
- case 8:
- return "osiem";
- case 9:
- return "dziewiec";
- case 10:
- return "dziesiec";
- case 11:
- return "jedenascie";
- case 12:
- return "dwanascie";
- case 13:
- return "trzynascie";
- case 14:
- return "czternascie";
- case 15:
- return "pietnascie";
- case 16:
- return "szesnascie";
- case 17:
- return "siedemnascie";
- case 18:
- return "osiemnascie";
- case 19:
- return "dziewietnascie";
- }
- return "";
- }
- string dziesiatki(int liczbaW)
- {
- int liczbaT;
- string doZwrotu = "";
- if (liczbaW < 20)
- {
- return do20(liczbaW);
- }
- else
- {
- liczbaT = liczbaW / 10;
- doZwrotu = doZwrotu + do20(liczbaT);
- if (liczbaW >= 50 && liczbaW < 100)
- {
- doZwrotu = doZwrotu + "dziesiat ";
- }
- else if (liczbaW >=30 && liczbaW < 40)
- {
- doZwrotu = doZwrotu + "dziesci ";
- }
- else if (liczbaW >=40 && liczbaW < 50)
- {
- doZwrotu = "czterdziesci ";
- }
- else if (liczbaW >=20 && liczbaW < 30)
- {
- doZwrotu = doZwrotu + "dziescia ";
- }
- doZwrotu = doZwrotu + do20(liczbaW - liczbaT * 10);
- }
- return doZwrotu;
- }
- string setki(int liczbaW)
- {
- int liczbaT;
- string doZwrotu = "";
- if (liczbaW >= 100)
- {
- liczbaT = liczbaW / 100;
- doZwrotu = doZwrotu + dziesiatki(liczbaT);
- if (liczbaW >= 500 && liczbaW < 1000)
- {
- doZwrotu = doZwrotu + "set ";
- }
- else if (liczbaW >= 300 && liczbaW < 500)
- {
- doZwrotu = doZwrotu + "sta ";
- }
- else if (liczbaW >=200 && liczbaW < 300)
- {
- doZwrotu = "dwiescie ";
- }
- else if (liczbaW >=100 && liczbaW < 200)
- {
- doZwrotu = "sto ";
- }
- }
- return doZwrotu;
- }
- string tysiace(int liczbaW)
- {
- int liczbaT;
- string doZwrotu = "";
- liczbaT = liczbaW / 1000;
- if (liczbaW < 100000)
- {
- doZwrotu = doZwrotu + dziesiatki(liczbaT);
- }
- else
- {
- doZwrotu = doZwrotu + setki(liczbaT);
- }
- if (liczbaW >= 5000)
- {
- doZwrotu = doZwrotu + " tysiecy ";
- }
- else if (liczbaW >= 2000 && liczbaW < 5000)
- {
- doZwrotu = doZwrotu + " tysiace ";
- }
- else if (liczbaW >= 1000 && liczbaW < 2000)
- {
- doZwrotu = "tysiac ";
- }
- return doZwrotu;
- }
- string naTekst()
- {
- int liczbaT;
- string caly = "";;
- caly = caly + minusuj();
- caly = caly + tysiace(liczbaT);
- liczbaT = obetnijRzad(liczba,3);
- caly = caly + setki(liczbaT);
- liczbaT = obetnijRzad(liczba,2);
- caly = caly + dziesiatki(liczbaT);
- if (liczba == 0)
- {
- caly = "zero";
- }
- return caly;
- }
Add Comment
Please, Sign In to add comment