Transformarea unei litere mari în literă mică în C++

Dându-se un caracter c reprezentând o literă, să se transforme litera în literă mică.

Exemplu. Pentru c = 'A', răspunsul este a, iar pentru c = 'b', răspunsul este tot b.

Metoda 1 (codul ASCII)

Ne vom folosi de codul ASCII al caracterului citit, c.

Ce este codul ASCII al unui caracter?

Când se stabileau bazele programării, era nevoie de o modalitate ușoară de a reprezenta caractere (litere, simboluri diverse sau chiar cifre). S-a dovedit că cea mai ușoară metodă ar fi să i se atribuie fiecărui caracter câte un număr unic, astfel, un text putea fi reprezentat foarte ușor în cifre și implicit în binar (deoarece calculatoarele funcționează în binar).

Astfel, s-a standardizat un tabel de acest tip numit ASCII (A merican S tandard C ode for I nformation I nterchange). Mai exact, s-au ales 128 (și mai târziu 256) de caractere, primului caracter fiindu-i atribuit valoarea 0, al doilea — valoarea 1, …, al 128-lea — valoarea 127.

Aceste valori nu sunt așezate aleatoriu: dacă litera a (a mic) are codul 97, atunci litera b are codul 98 și așa mai departe. Iată tabelul ASCII complet (sursa: ResearchGate.net):

https://i.ibb.co/jrBXK8b/image.png

Cum se transformă o literă mare în literă mică?

Observăm pentru început că literele mici au codurile ASCII între 97 și 122, iar literele mari au codurile ASCII între 65 și 90. Astfel, pentru a transforma litera A în a, vom aduna 97 - 65 = 32, pentru a transforma litera B în b, vom aduna 98 - 66 = 32, și așa mai departe. Prin urmare, pentru a transforma o literă mare în literă mică, vom aduna 32 la codul său ASCII.

Implementare în C++

Iată codul care transformă o literă mare în literă mică:

#include <iostream>

using namespace std;

int main()
{
    //Declarăm și citim caracterul nostru, c
    char c;
    cin >> c;

    //Afișăm litera mică
    if('a' <= c && c <= 'z') { //Dacă c este deja literă mică, o afișăm
        cout << c;
    } else { //Altfel, dacă c este literă mare
        c = c + 32; //Adunăm 32 pentru a obține litera mică (vezi mai sus pentru explicații)
        cout << c; //Afișăm litera modificată
    }
    return 0;
}

Metoda 2 (funcția predefinită tolower)

Există o funcție în biblioteca <cstring> numită tolower, care ia ca parametru un caracter literă și îl transformă în literă mică. Așadar, codul nostru se reduce la următorul:

#include <iostream>
#include <cstring> //Pentru a folosi funcția tolower

using namespace std;

int main()
{
    //Declarăm și citim caracterul nostru, c
    char c;
    cin >> c;

    //Afișăm litera mică
    cout << tolower(c);
    return 0;
}

Alte resurse și bibliografie

DS

Autorul acestei lecții

Dominic Satnoianu

Această lecție a fost redactată de către Dominic Satnoianu.

© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.

Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.

Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te