Gli errori riportati da Dev C++ in fase di compilazione sono i seguenti, entrambi nella funzione FillDeck:codice:#include <stdio.h> #include <stdlib.h> #include <time.h> struct card{ char *face; char *suit; }; typedef struct card Card; void FillDeck(Card * const wDeck, const char * wFace[], const char wSuit[]); void shuffle(Card * const wDeck); void deal(const Card * const wDeck); int main(){ Card deck[52]; const char *face[]={"Asso", "Due", "Tre", "Quattro", "Cinque", "Sei", "Sette", "Otto", "Nove", "Dieci", "Jack", "Regina", "Re"}; const char *suit[]={"Cuori", "Fiori", "Picche", "Quadri"}; srand(time(NULL)); FillDeck(deck, face, suit); shuffle(deck); deal(deck); return 0; } void FillDeck(Card * const wDeck, const char * wFace[], const char *wSuit[]){ int i; for(i=0; i<=51; i++){ wDeck[i].face=wFace[i%13]; wDeck[i].suit=wSuit[i/13]; } } void shuffle(Card * const wDeck){ int i; int j; Card temp; for (i=0; i<=51; i++){ j=rand()%52; temp=wDeck[i]; wDeck[i]=wDeck[j]; wDeck[j]=temp; } } void deal(const Card * const wDeck){ int i; for(i=0; i<=51; i++) printf("%5s of %-8s%c", wDeck[i].face, wDeck[i].suit, (i+1)%2?'\t':'\n'); }
c:36: warning: assignment discards qualifiers from pointer target type
c:37: warning: assignment makes pointer from integer without a cast
Voi ci capite qualcosa? a me sembra perfetta...
edit: il codice riempie una struttura Card, mescola i dati e stampa a video.
edit2: la tag [C] è scomparsa durante il primo edit e con la modifica non funziona... si modifica solo il titolo all'interno. siete sotto vb?

Rispondi quotando