Поскольку в C это кажется невозможным использовать переключатель с символами (только целыми числами), пытающийся сделать простую подсказку с использованием функции if, проблема возникает после точки scanf программа всегда сбой в этих точках puts("Confirmas que quieres borrar[s\\n]")
или «вы уверены, что хотите ее стереть?».Невозможно заставить функцию работать, программа всегда сбрасывается после запроса
void borrar_peliculas(struct videoclub peliculas[30],int p) {
char titulo_pelicula[30], resp_eliminar;
int k = 0;
puts("\a\nBorrador de peliculas");
puts("\nDime el titulo de la pelicula a ser borrada\n");
scanf("%30s", titulo_pelicula);
for (k = 0;k < p ;k++) {
if (strcmp(peliculas[k].nombre,titulo_pelicula) ==0) {
puts("\nConfirmas que quieres borrar[s\\n]\n");
fflush(stdin);
scanf("%c", resp_eliminar);
if(resp_eliminar=='s') {
peliculas[k].id = 0;
strcpy(peliculas[k].nombre," ");
strcpy(peliculas[k].categoria," ");
strcpy(peliculas[k].nom_actor," ");
strcpy(peliculas[k].ape_actor," ");
peliculas[k].nota = 0;
break;
}
if(resp_eliminar=='n') {
puts("\a\nSaliendo\n");
break;
}
} else {
puts("\nNo encontrado\n");
}
}
}
Можно «переключиться» на 'char'. Как вы пытались это сделать раньше? – jwodder
Отсортируйте свой отступ, прежде чем ожидать, что другие люди прочитают ваш код. –
i использовано case 's' или case 'n': –