Ho un problema in c con la seguente funzione che trasforma i caratteri maiuscoli in caratteri minuscoli. L'ho utilizzato funzione delete del seguente codice:
codice:
/*Funzione per eliminare un prodotto dato il nome*/
void EliminaProdotto (int mycar[50])
{
int risultato;
char deleteprodotto[50];
if(ContaProdotti(mycar) > 0)
{
printf("Inserisci il nome del prodotto che vuoi eliminare dal carrello = ");
scanf("%s", deleteprodotto);
risultato = Delete(mycar, deleteprodotto);
if(risultato != 0)
{
printf("Prodotto eliminato correttamente\n");
} else {
printf("Non esiste alcun prodotto con questo nome\n");
}
}
}
int Delete (int mycar[50], char deleteprodotto[50])
{
int i,j,successo=0;
listaprodotti();
for(i=0;i<50 && successo==0;i++)
{
if((j = mycar[i]) == -1)
{
successo = 0;
} else if(strcmp(strlwr(deleteprodotto),strlwr(elemento[j].nome)) == 0)
{
mycar[i] = -1;
successo = 1;
return 1;
}
}
return 0;
}
Se la parola non ha spazi il tutto funziona tranquillamente, altrimenti mi dice che non ha trovato alcun prodotto con questo nome...come posso risolvere?