Fondamenti di Informatica
Esercizi di riepilogo
1
Fondamenti di Informatica
MNP5
0010000000110110110110100010010110000
2
Fondamenti di Informatica
MNP5
0010000000110110110110100010010110000
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
00001100
...
000
000
001
001
010
010
010
010
011
011
011
011
011
...
0
1
0
1
00
01
10
11
000
001
010
011
100
3
Fondamenti di Informatica
Puntatori
4
Fondamenti di Informatica
5
Fondamenti di Informatica
TXT2PHONE
6
Fondamenti di Informatica
TXT2PHONE
• Lettura file (fgets): per ogni riga
– Estrazione dati
• struct con:
– nome compagnia
– numero in forma testuale
– Conversione stringa numero da forma
testuale a cifre
– Scrittura riga nel file di uscita
7
Fondamenti di Informatica
TXT2PHONE
char txt2digit (char ch)
{
char phone_text_table ['z' - 'a'
{
'2', '2', '2',
/* abc
'3', '3', '3',
/* def
'4', '4', '4',
/* ghi
'5', '5', '5',
/* jkl
'6', '6', '6',
/* mno
'7', '7', '7', '7', /* pqrs
'8', '8', '8',
/* tuv
'9', '9', '9', '9' /* wxyz
};
+ 1] =
*/
*/
*/
*/
*/
*/
*/
*/
return phone_text_table[tolower(ch) - 'a'];
}
8
Fondamenti di Informatica
TXT2PHONE
void txt2phone (char s[], char t[])
{
int i = 0, j = 0;
while (s[i] != '\0')
{
if (s[i] >= '0' && s[i] <= '9')
t[j++] = s[i++];
else if ((s[i] >= 'a' && s[i] <= 'z') ||
(s[i] >= 'A' && s[i] <= 'Z'))
t[j++] = txt2digit (s[i++]);
else
i++;
}
t[j] = '\0';
return;
}
9
Fondamenti di Informatica
Noise gate
10
Fondamenti di Informatica
11
Scarica

esercizi di riepilogo