Visualizza messaggio singolo
Vecchio 10-07-2004, 18.16.39   #155
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Ecco qui:

Codice:
void PosizionaNavi(int numeroNavi)
{
   int Count = numeroNavi, Count2;
   char c_col = ' ';
   char c_raw = ' ';
   char coorx[3];
   int coory[3];
   coorx[0] = '\0';

   printf("Inserire le coordinate per %i navi.\n",numeroNavi);
   
   while(Count > 0)
   {
      printf("Nave %i:    X_", Count);
      
      // a-f 
      while((c_col < 97) || (c_col > 102)) // invio = conferma
         c_col = getch();
      coorx[0] = c_col;
      
      // coor contiene la colonna .. inserire qui il codice per gestirla
            
      printf("%c    Y_", c_col);
      c_col = ' '; // reset

      // 0-9 
      while(((c_raw < 48) || (c_raw > 57))) // invio = conferma
         c_raw = getch();
      printf("%c", c_raw);
      c_raw = ' '; // reset
      coory[0] = (c_raw-48);

      // 0-9 o ENTER per non dare coordinata a cifra singola
      while(((c_raw < 48) || (c_raw > 57)) && (c_raw != 13)) // invio = conferma
         c_raw = getch();
      coory[1] = (c_raw-48);
      printf("%c", c_raw);
      c_raw = ' '; // reset
      printf("\n\r"); 
      Count --;
   }

}
Spero che tenga bene i tab...

in questa implementazione non permetto proprio all'utente di inserire lo spazio .. e non uso puntatori ..per gestire le coordinate a 2 cifre obbligo l'utente a darmi la seconda cifra oppure a premere invio per andare alla coordinata successiva ..

In quseto esempio non ho gestito gli array, ma ti fornisco 'coorx' e 'coory' che ad ogni "passaggio" del ciclo principale conterranno le coordinate della nave.

Spero sia utile e comprensibile.

Bye
P8257 WebMaster non è collegato   Rispondi citando