PDA

Visualizza la versione completa : [C++] domanda semplice sui caratteri


squid
10-02-2005, 16:00
Ciao a tutti!
Domanda semplicissima, ma non so proprio come fare.

Se ho un vattore di caratteri che contiene SOLO una lettera, vedi la lettera a.

Come faccio a farla diventare A?

Grazie... è importante!

Iena87
10-02-2005, 16:28
const n=10;
char vet[n]; /* Vettore di dieci caratteri */
int i;

while((i<10)||(vet[i]!='a')){
if(vet[i]=='a')
vet[i]='A';
else
i++;
}


Scorro il vettore finchè non finisce (i<10) o finchè non incontra la 'a'...quando la incontra la sostituisce con la 'A'...

Per standardizzare questo codice e creare un algoritmo che trovato un carattere minuscolo lo converte in maiuscolo, dovresti agire sui codici ASCII dei caratteri.

:ciauz:

netarrow
10-02-2005, 17:23
la a minuscola con l'ASCI si fa '97'.
La A maiuscola con '65'.

Come puoi notare la differenza è di 32, basta sommare.

:ciauz:

squid
10-02-2005, 18:00
Grazieeeeeee

LeleFT
10-02-2005, 18:21
Per trasformare una lettera da MAIUSCOLA a minuscola è sufficiente metterla in OR bit a bit con 32, viceversa, per trasformare una lettera da minuscola a MAIUSCOLA è sufficiente metterla in AND bit a bit con 223. Esempio:


char lettera = 'A';
lettera = lettera | 32; /* La converto in minuscola */
printf("Lettera minuscola: %c", lettera);

lettera = lettera & 223; /* La riconverto in maiuscola */
printf("Lettera MAIUSCOLA: %c", lettera);

Ciao. :ciauz:

anx721
10-02-2005, 20:28
Oppure si può usare la funzione toupper:

#include <ctype.h>

int toupper( int ch );

Loading