Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <cctype>
- using namespace std;
- int Sprawdz_Dlugosc( char*w)
- {
- char* p = w;
- int Dlugosc =0;
- while (*w)
- {
- if( (*w >= 'A' && *w <= 'Z') ||(*w >= 'a' && *w <= 'z') ||' ')
- {
- Dlugosc++;
- }
- w++;
- }
- w = p;
- return Dlugosc;
- }
- bool Sprawdz_CzyOK( char*w)
- {
- char* p = w;
- while (*w)
- {
- if((*w >= 'A' && *w <= 'Z') ||(*w >= 'a' && *w <= 'z') ||' ')
- {
- }else return false;
- w++;
- }
- w = p;
- return true;
- }
- void Ustawienie_Do_Duzej( char*w)
- {
- char* p = w;
- while (*w)
- {
- *w = (toupper(*w));
- w++;
- }
- w = p;
- }
- void Wypisywanie_Liter (char*w)
- {
- char* p = w;
- int i = 0;
- int j = 0;
- int Dlugosc = Sprawdz_Dlugosc(w);
- //cout << "Dlugosc: " << Dlugosc <<endl;
- char Tekst_ASCI[5][Dlugosc*13];
- //cout << "Dlugosc*13: " << Dlugosc*13<<endl;
- int n=0;
- int l=0;
- //Wypelniam calosc spacjami by pozbyc sie smieciowych wartosci.
- for(i=0; i<5; i++)
- {
- for(j=0; j<(Dlugosc*13); j++)
- {
- Tekst_ASCI[i][j] = 32;
- }
- }
- while(*w)
- {
- //Sprawdzenie do jakiego char prowadzi adres i uzycie go w switchu.
- //Nastepnie przypisanie liter do odpowiednich miejsc w tablicy 2D.
- switch (*w)
- {
- case ' ':
- l+=9;
- break;
- case 'A':
- Tekst_ASCI[0][l+4]='A'; Tekst_ASCI[0][l+5]='A';
- Tekst_ASCI[1][l+3]='A'; Tekst_ASCI[1][l+6]='A';
- Tekst_ASCI[2][l+2]='A'; Tekst_ASCI[2][l+7]='A';
- for(n = 2; n<=7;n++)
- {
- Tekst_ASCI[3][l+n]='A';
- }
- Tekst_ASCI[4][l+1]='A'; Tekst_ASCI[4][l+8]='A';
- l+=10;
- break;
- case 'B':
- for(n = 1; n<=5;n++)
- {
- Tekst_ASCI[0][l+n]='B';
- }
- Tekst_ASCI[1][l+1]='B'; Tekst_ASCI[1][l+6]='B';
- for(n = 1; n<=5;n++)
- {
- Tekst_ASCI[2][l+n]='B';
- }
- Tekst_ASCI[3][l+1]='B'; Tekst_ASCI[3][l+6]='B';
- for(n = 1; n<=5;n++)
- {
- Tekst_ASCI[4][l+n]='B';
- }
- l+=8;
- break;
- case 'C':
- for(n = 3; n<=8;n++)
- {
- Tekst_ASCI[0][l+n]='C';
- }
- Tekst_ASCI[1][l+2]='C';
- Tekst_ASCI[2][l+1]='C';
- Tekst_ASCI[3][l+2]='C';
- for(n = 3; n<=8;n++)
- {
- Tekst_ASCI[4][l+n]='C';
- }
- l+=10;
- break;
- case 'D':
- for(n = 1; n<=5;n++)
- {
- Tekst_ASCI[0][l+n]='D';
- }
- Tekst_ASCI[1][l+1]='D'; Tekst_ASCI[1][l+6]='D';
- Tekst_ASCI[2][l+1]='D'; Tekst_ASCI[2][l+7]='D';
- Tekst_ASCI[3][l+1]='D'; Tekst_ASCI[3][l+6]='D';
- for(n = 1; n<=5;n++)
- {
- Tekst_ASCI[4][l+n]='D';
- }
- l+=9;
- break;
- case 'E':
- for(n = 1; n<=6;n++)
- {
- Tekst_ASCI[0][l+n]='E';
- }
- Tekst_ASCI[1][l+1]='E';
- for(n = 1; n<=5;n++)
- {
- Tekst_ASCI[2][l+n]='E';
- }
- Tekst_ASCI[3][l+1]='E';
- for(n = 1; n<=6;n++)
- {
- Tekst_ASCI[4][l+n]='E';
- }
- l+=8;
- break;
- case 'F':
- for(n = 1; n<=6;n++)
- {
- Tekst_ASCI[0][l+n]='F';
- }
- Tekst_ASCI[1][l+1]='F';
- for(n = 1; n<=5;n++)
- {
- Tekst_ASCI[2][l+n]='F';
- }
- Tekst_ASCI[3][l+1]='F';
- Tekst_ASCI[4][l+1]='F';
- l+=8;
- break;
- case 'G':
- for(n = 2; n<=7;n++)
- {
- Tekst_ASCI[0][l+n]='G';
- }
- Tekst_ASCI[1][l+1]='G';
- Tekst_ASCI[2][l+1]='G';
- for(n = 4; n<=8;n++)
- {
- Tekst_ASCI[2][l+n]='G';
- }
- Tekst_ASCI[3][l+1]='G'; Tekst_ASCI[3][l+8]='G';
- for(n = 2; n<=8;n++)
- {
- Tekst_ASCI[4][l+n]='G';
- }
- l+=9;
- break;
- case 'H':
- Tekst_ASCI[0][l+1]='H'; Tekst_ASCI[0][l+6]='H';
- Tekst_ASCI[1][l+1]='H'; Tekst_ASCI[1][l+6]='H';
- for(n = 1; n<=6;n++)
- {
- Tekst_ASCI[2][l+n]='H';
- }
- Tekst_ASCI[3][l+1]='H'; Tekst_ASCI[3][l+6]='H';
- Tekst_ASCI[4][l+1]='H'; Tekst_ASCI[4][l+6]='H';
- l+=9;
- break;
- case 'I':
- for(n = 1; n<=3;n++)
- {
- Tekst_ASCI[0][l+n]='I';
- }
- Tekst_ASCI[1][l+2]='I';
- Tekst_ASCI[2][l+2]='I';
- Tekst_ASCI[3][l+2]='I';
- for(n = 1; n<=3;n++)
- {
- Tekst_ASCI[4][l+n]='I';
- }
- l+=6;
- break;
- case 'J':
- for(n = 3; n<=6;n++)
- {
- Tekst_ASCI[0][l+n]='J';
- }
- Tekst_ASCI[1][l+6]='J';
- Tekst_ASCI[2][l+6]='J';
- Tekst_ASCI[3][l+6]='J'; Tekst_ASCI[3][l+1]='J';
- for(n = 2; n<=6;n++)
- {
- Tekst_ASCI[4][l+n]='J';
- }
- l+=8;
- break;
- case 'K':
- Tekst_ASCI[0][l+1]='K'; Tekst_ASCI[0][l+6]='K';
- Tekst_ASCI[1][l+1]='K'; Tekst_ASCI[1][l+4]='K';
- Tekst_ASCI[2][l+1]='K'; Tekst_ASCI[2][l+2]='K';
- Tekst_ASCI[3][l+1]='K'; Tekst_ASCI[3][l+4]='K';
- Tekst_ASCI[4][l+1]='K'; Tekst_ASCI[4][l+6]='K';
- l+=8;
- break;
- case 'L':
- Tekst_ASCI[0][l+1]='L';
- Tekst_ASCI[1][l+1]='L';
- Tekst_ASCI[2][l+1]='L';
- Tekst_ASCI[3][l+1]='L';
- for(n = 1; n<=6;n++)
- {
- Tekst_ASCI[4][l+n]='L';
- }
- l+=8;
- break;
- case 'M':
- Tekst_ASCI[0][l+1]='M'; Tekst_ASCI[0][l+9]='M';
- for (n =1 ;n<=3; n++)
- {
- Tekst_ASCI[1][l+n]='M';
- }
- for (n =7 ;n<=9; n++)
- {
- Tekst_ASCI[1][l+n]='M';
- }
- Tekst_ASCI[2][l+1]='M'; Tekst_ASCI[2][l+9]='M';
- for (n =4 ;n<=6; n++)
- {
- Tekst_ASCI[2][l+n]='M';
- }
- Tekst_ASCI[3][l+1]='M';Tekst_ASCI[3][l+5]='M'; Tekst_ASCI[3][l+9]='M';
- Tekst_ASCI[4][l+1]='M'; Tekst_ASCI[4][l+9]='M';
- l+=11;
- break;
- case 'N':
- Tekst_ASCI[0][l+1]='N';Tekst_ASCI[0][l+2]='N'; Tekst_ASCI[0][l+8]='N';
- Tekst_ASCI[1][l+1]='N';Tekst_ASCI[1][l+3]='N'; Tekst_ASCI[1][l+8]='N';
- Tekst_ASCI[2][l+1]='N';Tekst_ASCI[2][l+4]='N'; Tekst_ASCI[2][l+5]='N'; Tekst_ASCI[2][l+8]='N';
- Tekst_ASCI[3][l+1]='N';Tekst_ASCI[3][l+6]='N'; Tekst_ASCI[3][l+8]='N';
- Tekst_ASCI[4][l+1]='N';Tekst_ASCI[4][l+7]='N'; Tekst_ASCI[4][l+8]='N';
- l+=10;
- break;
- case 'O':
- for (n =3 ;n<=8; n++)
- {
- Tekst_ASCI[0][l+n]='O';
- }
- Tekst_ASCI[1][l+2]='O';Tekst_ASCI[1][l+9]='O';
- Tekst_ASCI[2][l+1]='O';Tekst_ASCI[2][l+10]='O';
- Tekst_ASCI[3][l+2]='O';Tekst_ASCI[3][l+9]='O';
- for (n =3 ;n<=8; n++)
- {
- Tekst_ASCI[4][l+n]='O';
- }
- l+=11;
- break;
- case 'P':
- for (n =1 ;n<=5; n++)
- {
- Tekst_ASCI[0][l+n]='P';
- }
- Tekst_ASCI[1][l+1]='P';Tekst_ASCI[1][l+6]='P';
- for (n =1 ;n<=5; n++)
- {
- Tekst_ASCI[2][l+n]='P';
- }
- Tekst_ASCI[3][l+1]='P';
- Tekst_ASCI[4][l+1]='P';
- l+=8;
- break;
- case 'Q':
- for (n =3 ;n<=8; n++)
- {
- Tekst_ASCI[0][l+n]='Q';
- }
- Tekst_ASCI[1][l+2]='Q';Tekst_ASCI[1][l+9]='Q';
- Tekst_ASCI[2][l+1]='Q';Tekst_ASCI[2][l+10]='Q';
- Tekst_ASCI[3][l+2]='Q';Tekst_ASCI[3][l+9]='Q';
- for (n =3 ;n<=8; n++)
- {
- Tekst_ASCI[4][l+n]='Q';
- }
- Tekst_ASCI[4][l+11]='Q';
- l+=13;
- break;
- case 'R':
- for (n =1 ;n<=5; n++)
- {
- Tekst_ASCI[0][l+n]='R';
- }
- Tekst_ASCI[1][l+1]='P';Tekst_ASCI[1][l+6]='R';
- for (n =1 ;n<=5; n++)
- {
- Tekst_ASCI[2][l+n]='R';
- }
- Tekst_ASCI[3][l+1]='R'; Tekst_ASCI[3][l+5]='R';
- Tekst_ASCI[4][l+1]='R'; Tekst_ASCI[4][l+6]='R';
- l+=8;
- break;
- case 'S':
- for (n =2 ;n<=8; n++)
- {
- Tekst_ASCI[0][l+n]='S';
- }
- Tekst_ASCI[1][l+1]='S';
- for (n =3 ;n<=6; n++)
- {
- Tekst_ASCI[2][l+n]='S';
- }
- for (n =7 ;n<=9; n++)
- {
- Tekst_ASCI[3][l+n]='S';
- }
- for (n =2 ;n<=7; n++)
- {
- Tekst_ASCI[4][l+n]='S';
- }
- l+=10;
- break;
- case 'T':
- for(n = 1; n<=9;n++)
- {
- Tekst_ASCI[0][l+n]='T';
- }
- Tekst_ASCI[1][l+5]='T';
- Tekst_ASCI[2][l+5]='T';
- Tekst_ASCI[3][l+5]='T';
- Tekst_ASCI[4][l+5]='T';
- l+=10;
- break;
- case 'U':
- Tekst_ASCI[0][l+1]='U';Tekst_ASCI[0][l+10]='U';
- Tekst_ASCI[1][l+1]='U';Tekst_ASCI[1][l+10]='U';
- Tekst_ASCI[2][l+1]='U';Tekst_ASCI[2][l+10]='U';
- Tekst_ASCI[3][l+2]='U';Tekst_ASCI[3][l+9]='U';
- for (n =3 ;n<=8; n++)
- {
- Tekst_ASCI[4][l+n]='U';
- }
- l+=12;
- break;
- case 'V':
- Tekst_ASCI[0][l+1]='V';Tekst_ASCI[0][l+10]='V';
- Tekst_ASCI[1][l+2]='V';Tekst_ASCI[1][l+9]='V';
- Tekst_ASCI[2][l+3]='V';Tekst_ASCI[2][l+8]='V';
- Tekst_ASCI[3][l+4]='V';Tekst_ASCI[3][l+7]='V';
- Tekst_ASCI[4][l+6]='V';Tekst_ASCI[4][l+5]='V';
- l+=12;
- break;
- case 'W':
- Tekst_ASCI[4][l+1]='W'; Tekst_ASCI[4][l+9]='W';
- for (n =1 ;n<=3; n++)
- {
- Tekst_ASCI[3][l+n]='W';
- }
- for (n =7 ;n<=9; n++)
- {
- Tekst_ASCI[3][l+n]='W';
- }
- Tekst_ASCI[2][l+1]='W'; Tekst_ASCI[2][l+9]='W';
- for (n =4 ;n<=6; n++)
- {
- Tekst_ASCI[2][l+n]='W';
- }
- Tekst_ASCI[1][l+1]='W';Tekst_ASCI[1][l+5]='W'; Tekst_ASCI[1][l+9]='W';
- Tekst_ASCI[0][l+1]='W'; Tekst_ASCI[0][l+9]='W';
- l+=11;
- break;
- case 'X':
- Tekst_ASCI[0][l+1]='X'; Tekst_ASCI[0][l+7]='X';
- Tekst_ASCI[1][l+2]='X'; Tekst_ASCI[1][l+6]='X';
- Tekst_ASCI[2][l+3]='X'; Tekst_ASCI[2][l+4]='X'; Tekst_ASCI[2][l+5]='X';
- Tekst_ASCI[3][l+2]='X'; Tekst_ASCI[3][l+6]='X';
- Tekst_ASCI[4][l+1]='X'; Tekst_ASCI[4][l+7]='X';
- l+=9;
- break;
- case 'Y':
- Tekst_ASCI[0][l+1]='Y'; Tekst_ASCI[0][l+7]='Y';
- Tekst_ASCI[1][l+2]='Y'; Tekst_ASCI[1][l+6]='Y';
- Tekst_ASCI[2][l+3]='Y'; Tekst_ASCI[2][l+4]='Y'; Tekst_ASCI[2][l+5]='Y';
- Tekst_ASCI[3][l+4]='Y';
- Tekst_ASCI[4][l+4]='Y';
- l+=9;
- break;
- case 'Z':
- for (n=1; n<=7; n++)
- {
- Tekst_ASCI[0][l+n]='Z';
- }
- Tekst_ASCI[1][l+6]='Z'; Tekst_ASCI[1][l+7]='Z';
- Tekst_ASCI[2][l+5]='Z'; Tekst_ASCI[2][l+6]='Z';
- Tekst_ASCI[3][l+4]='Z'; Tekst_ASCI[3][l+5]='Z';
- for (n=1; n<=7; n++)
- {
- Tekst_ASCI[4][l+n]='Z';
- }
- l+=9;
- break;
- }
- w++;
- }
- //Wypisanie Liter i - > wiersz , j- kolumna
- cout<<endl;
- //Przejscie do kolejnej kolumny.
- for( i=0; i<5; i++)
- {
- //Wpisanie wszystkich kolumn w pierwszym wierszu.
- for( j=0; j<(Dlugosc*13); j++)
- {
- cout<<Tekst_ASCI[i][j];
- }
- cout<<endl;
- }
- }
- int main() {
- bool WszystOK =false;
- bool WszystOK2 =false;
- int Liczba_Dozwolonych_Znakow = 64;
- char Tekst[128];
- cout << "\n\nWitaj w programie dozwolona maksymalna ilosc znakow to:" <<Liczba_Dozwolonych_Znakow<<" Mozliwe znaki to a-z bez znakow polskich.";
- do {
- cout << "\nWpisz linie tekstu: ";
- cin.getline(Tekst, 128 - 1);
- if (true!=Sprawdz_CzyOK(Tekst))
- {
- cout <<"Uzyto niedozwolonych znakow."<<endl;
- WszystOK2 = false;
- }else WszystOK2 = true;
- if (Sprawdz_Dlugosc(Tekst) > Liczba_Dozwolonych_Znakow)
- {
- cout <<"Uzyto zbyt duzej ilosci znakow."<<endl;
- WszystOK = false;
- }else WszystOK =true;
- }while(WszystOK != true || WszystOK2 != true);
- Ustawienie_Do_Duzej(Tekst);
- Wypisywanie_Liter(Tekst);
- return 0;
- }
Add Comment
Please, Sign In to add comment