Salve, volevo esercitarmi un pò con le stringhe quindi ho ideato una funzione di nome ''semaforo'' che riceve dal main 3 stringhe dichiarate in input e 1 stringa utente.
Vorrei confrontare una stringa dichiarata da tastiera con la scanf con una delle tre stringhe con i caratteri già dichiarati, esempio:
char *stringa1="verde" o allo stesso modo char stringa1[6]={'v','e','r','d','e'} oppure char stringa1[6] e poi strcpy(stringa,"verde")
char utente[7]
Fin qui tutto ok, ma quando vado a comparare la mia stringa con quelle 3, il programma invece di stampare un messaggio termina.
Ho provato anche ad includere string.h e usare la funzione strcmp ma o sono io che non so usarla o non posso comparare più di 2 stringhe o mi restituisce un intero che non mi serve a niente.
Ho provato anche con lo switch ma sono costretto a fare Scelta==INTERO anziché Scelta==STRINGA (che è quello che voglio).
Grazie a tutti in anticipo.
Vi mostro il codice completo:
#include <stdlib.h>
#include <stdio.h>
int main()
{
char *stringa1="verde",*stringa2="giallo",*stringa3="rosso",utente[7];
printf("VERDE\n");
printf("GIALLO\n");
printf("ROSSO\n");
printf("Inserisci il colore: \n");
scanf("%s",utente);
if(stringa1==utente){
puts("procedi");
}
if(stringa2==utente){
puts("sbrigati");
}
if(stringa3==utente){
puts("fermati");
}
system("pause");
return 0;
}