[Risolto] Conversione da carattere a numero intero

di il
17 risposte

17 Risposte - Pagina 2

  • Re: [Risolto] Conversione da carattere a numero intero

    Io come avete intuito vorrei solamente che mi converta un carattere nel valore numerico del codice ascii.

    Ho pensato di sottrarre 48 dato che come ho detto facendo assembly ho fatto un ragionamento analogo e dato che li sottraggo/sommo 30h che equivale a 48 ho pensato di fare lo stesso in C++.

    Infine non avevo pensato a questa riga di codice:
        int codice = (int) lettera; 
    Che poi dopo tutto faccio delle conversioni analoghe sulla console in C#, però appunto non essendo C# ho chiesto a voi!
    Grazie
  • Re: [Risolto] Conversione da carattere a numero intero

    Vai tranquillo: quella riga è sufficiente per ottenere il codice ASCII di una lettera.
  • Re: [Risolto] Conversione da carattere a numero intero

    Ho corretto il programma e questo è il mio risultato:
    
    #include <iostream>
    #include <stdlib.h>
    #include <string.h>
    using namespace std;
    
    int main()
    {
        int n;
        int ripeti;
        char scelta;
        int conversione;
        char lettera;
        int numlettere=0;
        const int nmax=10;
        char vnumeri[nmax];
    
            cout << "Convertitore da carattere a numero intero!" << endl;
            cout<<""<<endl;
    
     do{
    
           cout<<"Numeri di conversioni da fare"<<endl;
           cout<<"1 sola conversione premi a"<<endl;
           cout<<"2 o piu' conversioni premi b"<<endl;
           cout<<"Digita la lettera che indica la tua scelta: ";
           cin>>scelta;
    
    
        switch(scelta)
        {
    
            case 'a' :
    
            cout<<"carattere: ";
            cin>>lettera;
    
             n = lettera-48; //48 è 30h in assembly!
    
            cout<<"Il valore numero del carattere digitato e': "<<n<<endl;
    
            break;
    
    
            case 'b':
    
                cout<<"Quante lettere vuoi digitare per sapere il loro valore numerico? ";
                cin>>numlettere;
    
                //ciclo for per input
                for(int i=0;i<numlettere;i++)
                {
                    cout<<i+1<<" carattere: ";
                    cin>>vnumeri[i];
                }
    
                //conversione di tutte le lettere in input e stampa
                 for(int i=0;i<numlettere;i++)
                 {
                      conversione = int(vnumeri[i]);
                      cout<<"Il carattere "<<vnumeri[i]<<" vale: "<<conversione<<endl;
                 }
            break;
    
            default:
                cout<<"Errore"<<endl;
        }
    
            cout<<"Ripetere il convertitore per un altra volta?[1=si/0=no]: ";
            cin>>ripeti;
            cout<<""<<endl;
            
      }while(ripeti==1);
    
        cout<<"Premi un tasto per uscire!"<<endl;
    
        return 0;
    }
    
    Grazie a tutti!
Devi accedere o registrarti per scrivere nel forum
17 risposte