Problema per mettere a video in ASCII delle lettere

di il
1 risposte

Problema per mettere a video in ASCII delle lettere

Buongiorno a tutti.
Dato che non avevo niente da fare durante le ore di sistemi avevo visto un sito che "trasformava le lettere inserite in ASCII ART".
Es:
lettera inserita =c.
Output=
####
#
#
####
e volevo provarlo a farlo in c++.
Per le lettere basta un semplice switch e finisce qua, ma per le parole avevo in mente questo:
#include <iostream>
#include <string.h>//strlen()

using namespace std;


struct dati
{
    char alfabeto[21]={'A','B','C','D','E','F','G','H','I','L','M','N','O','P','Q','R','S','T','U','V','Z'};//L'alfabeto da confrontare successivamente per utilizzare l'indice per la configurazione da mettere a video.
    string config[5][21];//configurazione ,primo indice =colonne della parola da mettere a video, secondo indice=tutte le lettere dell'alfabeto italiano.

};

int main()
{
    dati dati;
    int i,x,j;
    char scelta[20];
    dati.config[0][0]=" ##### ";//configurazione della lettera A
    dati.config[1][0]=" #   # ";
    dati.config[2][0]=" ##### ";
    dati.config[3][0]=" #   # ";
    dati.config[4][0]=" #   # ";

    dati.config[0][1]=" ###   ";//configurazione della lettera A
    dati.config[1][1]=" #  #  ";
    dati.config[2][1]=" ####  ";
    dati.config[3][1]=" #  #  ";
    dati.config[4][1]=" ###   ";

    dati.config[0][2]=" ####  ";//configurazione della lettera A
    dati.config[1][2]=" #     ";
    dati.config[2][2]=" #     ";
    dati.config[3][2]=" #     ";
    dati.config[4][2]=" ####  ";


    cout<<"INSERISCI LA PAROLA DA CONVERTIRE"<<endl;
    cin>>scelta;
    x=strlen(scelta);//x è uguale alla lunghezza della parola inserita.
    for(i=0;i<x;i++)//ciclo che confronta da i=0 a x le lettere una per una con l'alfabeto definito e mette la configurazione di quest'ultima.
        if(scelta[i]==dati.alfabeto[i])
            for(j=0;j<5;j++)
                cout<<dati.config[j][i]<<endl;

    return 0;
}
il problema principale che dovrei mettere a video le lettere della parola di seguito e non in colonna , qualche aiuto,avrei pensato di mettere a video più matrici a video ma non ho proprio IDEA di come fare

1 Risposte

  • Re: Problema per mettere a video in ASCII delle lettere

    Direi che la struttura non serve dato che puoi usare il codice ASCII (fatto appositamente ...), il programma va un po' riordinato e i cicli scambiati (il principale deve essere quello delle 5 righe).

    Prova con la parola ABACA
    
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	string config[5][21];
    	string scelta;
        int i,x,j;
        
    	config[0][0]=" ##### ";//configurazione della lettera A
        config[1][0]=" #   # ";
        config[2][0]=" ##### ";
        config[3][0]=" #   # ";
        config[4][0]=" #   # ";
    
        config[0][1]=" ###   ";//configurazione della lettera A
        config[1][1]=" #  #  ";
        config[2][1]=" ####  ";
        config[3][1]=" #  #  ";
        config[4][1]=" ###   ";
    
        config[0][2]=" ####  ";//configurazione della lettera A
        config[1][2]=" #     ";
        config[2][2]=" #     ";
        config[3][2]=" #     ";
        config[4][2]=" ####  ";
    
        cout<<"INSERISCI LA PAROLA DA CONVERTIRE"<<endl;
        cin>>scelta;
    
        x = scelta.length();
        
    	for(j=0; j<5; j++)
    	{
    		for(i=0;i<x;i++)
    			cout << config[j][scelta[i]-'A'] << "  ";
    	
    		cout << endl;
    	}
    
        return 0;
    }
    
Devi accedere o registrarti per scrivere nel forum
1 risposte