Ritorna alla pagina del corso.

Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.

01: /*
02:     3 leggere da tastiera una cifra come char. Stamparne il codice
03:    ASCII. Successivamente, memorizzare il valore che rappresenta
04:    (quindi non il codice ASCII ma un valore tra 0 e 9) in una
05:    variabile di tipo int e stamparla.
06: */
07: 
08: #include<stdio.h>
09: #include<stdlib.h>
10: 
11: int main(int argc, char **argv){
12: 
13:   char cifra;
14:   printf("Inserire una cifra: ");
15:   scanf("%c", &cifra); // in cifra non finisce il valore della cifra che ho inserito ma il relativo codice ASCII
16:   printf("DEBUG: l'utente ha inserito '%c' con codice ASCII %d\n", cifra, cifra);
17: 
18:   // per convertire il codice ASCII di una cifra nel relativo valore che rappresenta
19:   // basta sottrarre il codice ASCII del simbolo '0' (che vale 48).
20:   // infatti i codici ASCII delle cifre sono tutti consecutivi
21:   
22:   int valore = cifra - 48; 
23:   // ATTENZIONE non e' necessario conoscere il codice ASCII a memoria, potevo scrivere
24:   // int valore = cifra - '0';
25:   // un singolo carattere tra apici singoli (') equivale al suo codice ASCII
26: 
27:   printf("La cifra inserita e letta come simbolo rappresenta il numero %d\n", valore);
28: 
29: 
30:   return 0;
31: }
32: 
33: