Testo dell'esercizio
dato un file contenente nomi ed eta efettuare le seguenti operazioni direttamente da file :
minimo
masismo
media
ricerca di nomi corrispondenti ad un eta
ricerca dell'eta di un nome
mostra soluzione
016 | print "0) esci\n1) minimo\n2) massimo\n3) media\n4) nomi corrispondenti ad un eta`\n5) ricerca\nscelta : " ; |
017 | fscanf (STDIN, "%d" , $scelta ); |
022 | print minimo( $f_name ). "\n" ; |
025 | print massimo( $f_name ). "\n" ; |
028 | print media( $f_name ). "\n" ; |
031 | print "quale eta : " ; |
032 | fscanf (STDIN, "%d" , $etap ); |
033 | eton( $f_name , $etap ); |
037 | fscanf (STDIN, "%s" , $nome ); |
038 | cerca_f( $f_name , $nome ); |
041 | print "opzione non valida\n" ; |
046 | function minimo( $f_name ){ |
048 | $f = fopen ( $f_name , "r" ) or die ( "il file non e` stato aperto\n" ); |
049 | fscanf ( $f , "%s %d" , $nome , $eta ); |
051 | fscanf ( $f , "%s %d" , $nome , $eta2 ); |
052 | if ( $eta != "" && $eta2 != "" && $eta2 < $eta ) |
061 | function massimo( $f_name ){ |
063 | $f = fopen ( $f_name , "r" ) or die ( "il file non e` stato aperto\n" ); |
064 | fscanf ( $f , "%s %d" , $nome , $eta ); |
066 | fscanf ( $f , "%s %d" , $nome , $eta2 ); |
067 | if ( $eta != "" && $eta2 != "" && $eta2 > $eta ) |
076 | function media( $f_name ){ |
082 | $f = fopen ( $f_name , "r" ) or die ( "il file non e` stato aperto\n" ); |
084 | fscanf ( $f , "%s %d" , $nome , $eta ); |
096 | function eton( $f_name , $etap ){ |
101 | $f = fopen ( $f_name , "r" ); |
103 | fscanf ( $f , "%s %d" , $nome , $eta ); |
111 | print "non c'e` nessuno che ha " . $etap . " anni\n" ; |
114 | function cerca_f( $file_name , $nome ){ |
115 | $f = fopen ( $file_name , "r" ); |
117 | while (! feof ( $f ) && ! $flag ){ |
118 | fscanf ( $f , $nome . " %d" , $eta ); |
123 | print $nome . " ha " . $eta . " anni\n" ; |
125 | print $nome . " non trovato\n" ; |
torna