Salve, son sempre quello che sta scrivendo il riproduttore a riga di comando
purtroppo ho un problema con il ciclo do - while... In teoria quello che ho scritto qua sotto dovrebbe essere un semplicissimo ciclo che controlla l'input inserito e finchè non corrisponde ad uno dei tre comandi cicla il codice... dov'è che sbaglio visto che non esce mai dal ciclo?

codice:
#define START 'r'				
#define STOP 'p'				
#define ESCI 'q'				

do
{
  scanf (" %c", &comando);
}while (comando != START || comando != STOP || comando != ESCI);
un'altra domandina:
dovrei effettuare un controllo per verificare l'esistenza del file messo in input, ho pensato di fare così:
codice:
do
{	
  printf ("Inserisci il nome file da riprodurre: ");
  scanf (" %s", nome_file);
}while (fopen(nome_file, "r") == NULL);
è giusto?

ultima poi ho finito, promesso
nel caso della registrazione devo invece verificare che il nome inserito sia valido (cioè terminante per ".mp3")
ho fatto in questo modo, potete dirmi se è corretto? Esiste un sistema più semplice?
codice:
do
{
  printf("Inserisci nome del file da registrare: ");
  scanf (" %s", nome_file);
  dim_nome = strlen (nome_file);
		
  for (i = dim_nome - 3, x = 0; i>= dim_nome; i++, x++)
    stringa[x] = nome_file[i];
}while (strcmp(stringa, ".mp3") != 0);
Grazie