AntonioVillanueva

Codificador en ASCII artistico

Mar 13th, 2020
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. /*
  5. Antonio Villanueva Segura
  6. L ancho letra ,H altura letra e, artASCII
  7. T texto a traducIr en artASCII
  8.  */
  9.  
  10. using namespace std;
  11.  
  12. //Retorna indice de la letra y fuerza mayusculas
  13. int indiceLetra(char letra){
  14.     letra=toupper(letra);
  15.     return letra>='A' ? (letra-'A'): ('Z'-'A'+1);
  16. }
  17.  
  18. //Codificador de un texto en artASCII .parametros entrada texto,abecedario artAscii,ancho , alto
  19. string codificador(string texto,string art,int l,int h){
  20.     string TAM ("ABCDEFGHIJKLMNOPQRSTUVWXYZ?"); //27
  21.     string artASCII;
  22.    
  23.     //Recorre las lineas , altura h
  24.     for (int linea=0;linea<h;linea++){
  25.        
  26.         //Recorre las letras a codificar en artASCII
  27.         for (unsigned p_texto= 0;p_texto<texto.size();p_texto++){//Numero de letras a codificar
  28.            
  29.             //Cada letra tiene un ancho l largueur.la posicion es L*27*linea + offset alfabetico b es 1*4
  30.             for (unsigned columna=l*TAM.size()*linea; columna<l*TAM.size()*linea + l ; columna++ ){
  31.                     cout <<art[columna+indiceLetra(texto[p_texto])*l];
  32.             }          
  33.         }
  34.         cout <<endl;  
  35.     }
  36.     return artASCII;
  37. }
  38.  
  39. int main()
  40. {
  41.  
  42.     //Abecdario en clave artASCII es importante que esta cadena este alineada a izquierda por los espacios
  43. string artASCII("\
  44. #  ##   ## ##  ### ###  ## # # ###  ## # # #   # # ###  #  ##   #  ##   ## ### # # # # # # # # # # ### ### \
  45. # # # # #   # # #   #   #   # #  #    # # # #   ### # # # # # # # # # # #    #  # # # # # # # # # #   #   # \
  46. ### ##  #   # # ##  ##  # # ###  #    # ##  #   ### # # # # ##  # # ##   #   #  # # # # ###  #   #   #   ## \
  47. # # # # #   # # #   #   # # # #  #  # # # # #   # # # # # # #    ## # #   #  #  # # # # ### # #  #  #       \
  48. # # ##   ## ##  ### #    ## # # ###  #  # # ### # # # #  #  #     # # # ##   #  ###  #  # # # #  #  ###  # \
  49. ");
  50.  
  51.     codificador ("ANTONIO@VILLANUEVA",artASCII,4,5);//Texto de entrada,abecedario artASCII , ancho y alto
  52.  
  53. }
Add Comment
Please, Sign In to add comment