Buongiorno a tutti.
Avrei bisogno del vostro aiuto per correggere alcuni messaggi di errore/warning su questo programmino (implementa il gioco forza 4 in linguaggio C).
Ecco i messaggi di errore (compilatore MinGW):
In function 'main':
9:5: warning : missing braces around initializer
9:5: warning : (near initialization for 'gameZone[0]')
42:83: error : expected ':' before ';' token"
"In function 'insertName':codice:int main() { char gameZone[ MAXLINE ][ MAXCOLUMN ] = { 0 }; /* Questo è il campo di gioco */ int line, column; /* Variabili che mi servono per limitare la grandezza del campo di gioco */ int limits; /* Serve per limitare la scelta dell'utente. Su campi di gioco diversi la scelta può cambiare */ int mode; /* Serve per memorizzare la modalità di gioco */ int turnMax; /* Turni massimi possibili */ int turn = 0; int victory; Player playerOne, playerTwo; /* Dichiaro i due di giocatori con il tipo struct player */ intro(); clrscr(); start(); clrscr(); gameMode( &mode ); /* Passo &mode perchè il parametro di questa funzione è un puntatore */ clrscr(); insertName( playerOne.name, playerTwo.name, mode ); clrscr(); chooseGameZone( &line, &column, &limits, &turnMax ); clrscr(); chooseSign( &playerOne, &playerTwo ); createGameZone( gameZone, line, column ); do { clrscr(); printGameZone( gameZone, turn, line, column ); /* Qui il giocatore sceglie la mossa che deve fare */ turn % 2 == 0 ? printf( "\n\n\n\n\n%s", turn % 2 == 0 ? playerOne.name : playerTwo.name ); printf( ", fai la tua mossa" ); while( choosePosition( mode, gameZone, &turn, limits, line, playerOne.sign, playerTwo.sign ) ); /* Finchè la mossa non è corretta non uscire dal ciclo */ } while( !( victory = win( gameZone, turn, turnMax, line, column ) ) ); /* Il valore di victory mi serve per determinare il messaggio finale */ clrscr(); printf( "\t\t\t Situazione finale" ); printGameZone( gameZone, turn, line, column ); getch(); /* Stoppa il programma per vedere la situazione finale */ clrscr(); end( playerOne.name, playerTwo.name, victory, turn ); clrscr(); getch(); return 0; }
112:10: warning: format '%s' expects type 'char*' but argument 2 has type 'char**'
117:10: warning: format '%s' expects type 'char*' but argument 2 has type 'char**'
Ho riportato solo le parti di codice interessate dai messaggi (in realta' non riesco ad individuare gli errori indicati!).codice:/* Funzione insertName */ /* Due parametri ( due stringhe ) e nessun uscita */ /* Inserisce il nickname nella struttura Player */ void insertName( char *t, char *n ) { do { printf( "Inserisci il tuo nome [Player 1]" ); scanf( "%s",&t ); printf( "\t%s\n\n", t ); gets( n ); printf( "\n" ); printf( "Inserisci il tuo nome [Player 2]" ); scanf( "%s",&t ); printf( "\t%s\n\n", t ); if( strcmpi( n, "CPU" ) == 0 ) printf( "Il nome %s non puo' essere usato! Usane un altro!\n\n", *n ); } while( strcmpi( n, "CPU" ) == 0 ); }
Spero che riusciate ad aiutarmi ad individuare e correggere gli errori.
grazie mille a tutti

Rispondi quotando
