Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[C]problema con struttuta di controllo if else

5 views
Skip to first unread message

viridovix

unread,
Aug 11, 2005, 9:32:19 AM8/11/05
to
IL codice in C gira sotto Linux 9.2, compilatore gcc.
Si tratta sempre di un client e server connessi tra loro tramite
socket, con protocollo tcp.

qui riporto la parte del server con la struttura if:

[CODE]

char x[1024],y[1024];
unsigned char z,w;
char buf[1024];
char buf2[1024];
do
{
send(ds_sock_acc,"\nInserisci fila :",20,0);
recv(ds_sock_acc,&x,2,0);
printf("%s",&x);
if ((strcmp(x,"A")!=0)||(strcmp(x,"B")!=0)||(strcmp(x,"C")!=0))
{
send(ds_sock_acc,"\nfila inesistente\n",30,0);
}
else (strcpy(buf,"fatto"));
}
while (strcmp(buf,"fatto")!=0);

[/CODE]
purtroppo nn so perchè questo nn funziona :
if ((strcmp(x,"A")!=0)||(strcmp(x,"B")!=0)||(strcmp(x,"C")!=0))

se inserisco dal client il carattere A o B o C comunque sia il sever
spedisce il messaggio fila inesistente.

modificando cosi' riconosce invece ol carattere A:

if ((strcmp(x,"A")!=0)
{
send(ds_sock_acc,"\nfila inesistente\n",30,0);
}

ma ovviamente nn mi fa gli altri confronti
se modifico ulteriormente cosi

if ((strcmp(x,"A")!=0)
{
send(ds_sock_acc,"\nfila inesistente\n",30,0);
}

else if (strcmp(x,"B")!=0)
{
send(ds_sock_acc,"\nfila inesistente\n",30,0);
}

ritorno al problema iniziale qualsiasi carattrere invio da client poi
il server spedisce il messaggio fila inesistente.

nn riesco a capire dove sia la magagna :(

viridovix

unread,
Aug 11, 2005, 9:33:35 AM8/11/05
to
0 new messages