Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - switch_case_errore inizializzazione
Forum - C/C++ - switch_case_errore inizializzazione

Avatar
claudia_brontola (Normal User)
Rookie


Messaggi: 40
Iscritto: 06/11/2012

Segnala al moderatore
Postato alle 11:15
Giovedì, 22/11/2012
mi trovo davanti a questo errore...

inizializzazione di 't' ignorata da un'etichetta 'case'    

inizializzazione di numposti ignorata da un etichetta 'case'

ecco il codice...



case '1':
                    recv(conn,buffer,sizeof(buffer),0);
                        char postidainv[dim1*dim2];
                        matrixtoposti(postidainv);
                        send(conn,postidainv,dim1*dim2,0);
                        send(conn,"\n",strlen(buffer),0);
                caricamappa();
        break;


            //prenotare i posti

        case '2':    
            recv(conn,buffer,sizeof(buffer),0);
            int t=0;
            char risp[7];
            int numposti=(int) buffer[1];
            
            
            int s;
            
            while(t<numposti)
            {
                
                    s=occupaposto((buffer[2]),(buffer[3]));
                    risp[5]=buffer[2];
                    risp[6]=buffer[3];
                    if(s==-2)
                    {
                        //posto non disponibile
                            risp[0]='Y';
                            risp[1]='Y';
                            risp[2]='Y';
                            risp[3]='Y';
                    }
                    else
                        if(s==-1)
                        {
                                //posto è occupato
                            risp[0]='E';
                            risp[1]='E';
                            risp[2]='E';
                            risp[3]='E';
                        }
                        else
                        {
                                //posto libero
                            errore=sprintf(risp,"%d",s);
                            if(errore<0)
                            {
                                if(WSAGetLastError()==WSAEINTR)
                                {
                                        SendMessage(HWND_BROADCAST,my_mex_type,0,0);
                                        exit(-1);
                                }
                            }
                        }
                        send(conn,risp,7,0);
                        t++;
            } //chiude il while


                send(conn,"\n",strlen(buffer),0);
                caricamappa();
        break;


            //disdire i posti

        case '3':
        if(priorita==0 || priorita ==2)
        {
            if(buffer[1]=='C')
            {
                    int cod;
                    char codice[4];
                    if(recv(conn,codice,sizeof(codice),0)<0)
                    {
                            printf("impossibile leggere il messaggio");
                            if(WSAGetLastError()==WSAEINTR)
                            {
                                    SendMessage(HWND_BROADCAST,my_mex_type,0,0);
                                        exit(-1);
                            }
                    }
                    sscanf(codice,"%d",&cod);
                    char postodadisdire[2];
                    if(recv(conn,postodadisdire,sizeof(postodadisdire),0)<0)
                    {
                            if(WSAGetLastError()==WSAEINTR)
                            {
                                    SendMessage(HWND_BROADCAST,my_mex_type,0,0);
                                        exit(-1);
                            }
                    }
                    int s=liberaposto(cod,(postodadisdire[0])-1,(postodadisdire[1])-1);
                    char risp[2];
                    if(s==1)
                    {
                            risp[0]='1';   //1 indica prenotazione disdetta
                            risp[1]='1';
                            send(conn,risp,sizeof(risp),0);
                    }
                    else
                    {
                            risp[0]='E'; //con E indico che è occupato
                            risp[1]='E';
                    }

                    send(conn,"\n",strlen(buffer),0);
            }
        }
            else
                {
                    send(conn,"r",MAX,0);
                    goto k;
                    break;
                }
            salvamappa();
            salvacodici();
        break;

        default: break;


sapete spiegarmi il xke ????



..Si ritorna solo andando via ..
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5473
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:25
Giovedì, 22/11/2012
Inserisci il codice di ogni case tra parentesi

Codice sorgente - presumibilmente C/C++

  1. case '1':
  2. {
  3.  
  4. ...
  5.  
  6. }
  7. break;



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
claudia_brontola (Normal User)
Rookie


Messaggi: 40
Iscritto: 06/11/2012

Segnala al moderatore
Postato alle 11:37
Giovedì, 22/11/2012
grazie :) risolto...


grazie davvero..



..Si ritorna solo andando via ..
PM Quote