Buongiorno a tutti , sono alle prese con questo pezzo di programma riguardante una lista :
printf("\nVuoi effettuare una ricerca? 1=si,0=no");
scanf("%d",&scelta_1);
if(scelta_1==0){
printf("\n\nNessuna ricerca , stampo la lista: \n\n");
print_list(head);
Save_to_file(head,FILENAME);
system("pause");
return 0;}
else {
printf("\n\nInserire dati per la ricerca: ");
scanf("%s",trial);
Search_in_list(head,trial);}
printf("\nVuoi eliminare il record? 1=si,0=no");
scanf("%d",&scelta_2);
if(scelta_2==0){
printf("\n\nnessuna eliminazione\n\n");
print_list(head);}
else {
printf("\n Cancello il record trovato:\n\n");
head = delete_record(head, trial);
print_list(head);}
Save_to_file(head,FILENAME);
printf("Indice: \n\n");
print_list(head);
system("pause");
return 0;
}
La questione è molto semplice , una volta inseriti tutti i nominativi , il programma mi permette di effettuare una ricerca tra i nomi inseriti.
Se la ricerca va a buon fine io posso scegliere se eliminare o meno il record, fin qui tutto ok .
Il problema nasce dal fatto che se il record non viene trovato nella lista mi dice lo stesso se io voglio eliminare o meno il record(ma il record non c'è!!!!)
Come posso risolvere tale ambiguità ?
Praticamente dovrei creare una condizione sulla variabile trial , ma questa è un char e non posso fare come se fosse di tipo int.