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