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: