Killer Application
03-01-2011, 14:14
Ad un mio "studente" ho fatto realizzare un elenco telefonico con ricerca integrata.
Dato un nome, restituisce tutti i numeri di telefono ad esso collegati.
(è solo l'inizio, poi ci aggiungo altre cose)
Ma ho notato che il software crasha irreparabilmente all'interno del for della funzione cerca.
Se tolgo il for e lo sostituisco con una serie di If tutto è perfetto.
Lo compilo con dev-c++, che usa gcc se non ricordo male.
#include<iostream.h>
#include<conio.h>
void cerca( char * matrix[10][3],char * nome){
int j,i;
for(j=0;j<10;j++){
if(strcmp(nome, matrix[j][0])==0){
cout<<"il numero di telefono e'"<<matrix[j][2];
}
}
}
main()
{
char * matrix[10][3];
char * nome;
int i,j;
matrix[0][0]="Nome";
matrix[0][1]="Cognome";
matrix[0][2]="Numero di Telefono";
matrix[1][0]="Abaco";
matrix[1][1]="Truccato";
matrix[1][2]="0578198877";
matrix[2][0]="Abenzio";
matrix[2][1]="Gatti";
matrix[2][2]="0578400033 ";
matrix[3][0]="Abele";
matrix[3][1]="Lamborghini";
matrix[3][2]="0578948732";
matrix[4][0]="Abelardo";
matrix[4][1]="Luttarini";
matrix[4][2]="0578552522";
matrix[5][0]="Alda";
matrix[5][1]="Galletti";
matrix[5][2]="0578239199";
matrix[6][0]="Adeodato";
matrix[6][1]="Baldi";
matrix[6][2]="0578816437";
matrix[7][0]="Ercolano";
matrix[7][1]="Baronio";
matrix[7][2]="057816211";
matrix[8][0]="Caio";
matrix[8][1]="Bartoletti";
matrix[8][2]="0578750108";
matrix[9][0]="Cornelio";
matrix[9][1]="Savelli";
matrix[9][2]="0578202685";
cout<<"di quale persona vuoi cercare il numero di telefono?";
cin>>nome;
cout<<nome<<endl;
cerca(matrix,nome);
for(j=0;j<10;j++){
for(i=0;i<3;i++){
cout<<matrix[j][i]<<" ";
}
cout<<"\n";
}
getch();
}
Dato un nome, restituisce tutti i numeri di telefono ad esso collegati.
(è solo l'inizio, poi ci aggiungo altre cose)
Ma ho notato che il software crasha irreparabilmente all'interno del for della funzione cerca.
Se tolgo il for e lo sostituisco con una serie di If tutto è perfetto.
Lo compilo con dev-c++, che usa gcc se non ricordo male.
#include<iostream.h>
#include<conio.h>
void cerca( char * matrix[10][3],char * nome){
int j,i;
for(j=0;j<10;j++){
if(strcmp(nome, matrix[j][0])==0){
cout<<"il numero di telefono e'"<<matrix[j][2];
}
}
}
main()
{
char * matrix[10][3];
char * nome;
int i,j;
matrix[0][0]="Nome";
matrix[0][1]="Cognome";
matrix[0][2]="Numero di Telefono";
matrix[1][0]="Abaco";
matrix[1][1]="Truccato";
matrix[1][2]="0578198877";
matrix[2][0]="Abenzio";
matrix[2][1]="Gatti";
matrix[2][2]="0578400033 ";
matrix[3][0]="Abele";
matrix[3][1]="Lamborghini";
matrix[3][2]="0578948732";
matrix[4][0]="Abelardo";
matrix[4][1]="Luttarini";
matrix[4][2]="0578552522";
matrix[5][0]="Alda";
matrix[5][1]="Galletti";
matrix[5][2]="0578239199";
matrix[6][0]="Adeodato";
matrix[6][1]="Baldi";
matrix[6][2]="0578816437";
matrix[7][0]="Ercolano";
matrix[7][1]="Baronio";
matrix[7][2]="057816211";
matrix[8][0]="Caio";
matrix[8][1]="Bartoletti";
matrix[8][2]="0578750108";
matrix[9][0]="Cornelio";
matrix[9][1]="Savelli";
matrix[9][2]="0578202685";
cout<<"di quale persona vuoi cercare il numero di telefono?";
cin>>nome;
cout<<nome<<endl;
cerca(matrix,nome);
for(j=0;j<10;j++){
for(i=0;i<3;i++){
cout<<matrix[j][i]<<" ";
}
cout<<"\n";
}
getch();
}