Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - gioco delle  coppie di carte
Forum - C/C++ - gioco delle coppie di carte - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
espaoloema (Normal User)
Newbie


Messaggi: 11
Iscritto: 18/02/2010

Segnala al moderatore
Postato alle 14:08
Venerdì, 19/02/2010
allora ragazzi...ho implementato un pò di cose...ma ho un problema con le struct...
c'è un incompatibilità tra variabili...infatti nella stract il seme lo definisco char...e ovviamente qnd lavoro col while nn me lo consente..come posso risolvere?!?!?
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5.  
  6. // enumerazioni
  7.  
  8. typedef enum {bastoni,coppe,denari,spade } SEME;
  9.  
  10.  
  11. // strutture
  12.  
  13. typedef struct {
  14.         char seme;
  15.         int valore;  
  16. } CARTA;
  17.  
  18.  
  19. //prototipi
  20.  
  21.  
  22. void mescola (CARTA mazzo[][10], int colonne[], int righe[], int); //prototipo della funzione per mescolare le carte
  23. void visualizza_aI (CARTA v[][10], int n, int m);//prototipo della funzione per visualizzare le carte
  24.  
  25.  
  26.  
  27. //main
  28.  
  29. void main ()
  30.  
  31.  
  32.        
  33.         CARTA mazzo[4][10]={0};
  34.         int colonne[10] = {0};
  35.     int righe [4] = {0};
  36.        
  37.         srand(time(NULL));
  38.        
  39.         mescola(mazzo, colonne, righe,40); //chiamo la funzione per mescoalre
  40.         visualizza_aI(mazzo,4,10);
  41.        
  42. }
  43.  
  44. // funzioni
  45.  
  46. void visualizza_aI (CARTA v[][10], int n,int m)
  47. {
  48.         int i,j;
  49.         for (i=0;i<n;i++)
  50.         {
  51.                 for (j=0;j<m;j++)
  52.                         printf("%3d",v[i][j]);
  53.                 printf("\n");
  54.         }
  55. }
  56.  
  57.  
  58.  
  59. void mescola (CARTA mazzo [] [10], int colonne[], int righe[], int ncarte)  //inizio funzione mescola
  60. {
  61.         int row, column, k;
  62.        
  63.         for (k = 1; k <= ncarte ; k++){                   //ciclo per il numero di carte da mescolare e assegnare
  64.                 do{
  65.                         row = rand() %4;                         //pesca a "caso" un seme
  66.                         column = rand() %10;                      //pesca a "caso" un numero
  67.                 } while (mazzo [row][column] ->!= 0);           //controlla che non sia già stata presa
  68.                
  69.                 mazzo[row][column] = k%10;
  70.                 righe[row]++;
  71.                 colonne[column]++;
  72.         }
  73. }


Ultima modifica effettuata da espaoloema il 19/02/2010 alle 15:21
PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 14:38
Venerdì, 19/02/2010
Per il seme delle carte potresti fare un ENUM, oppure, se proprio vuoi usare le stringhe, il confronto si fa con strcmp.

PM Quote
Avatar
espaoloema (Normal User)
Newbie


Messaggi: 11
Iscritto: 18/02/2010

Segnala al moderatore
Postato alle 14:53
Venerdì, 19/02/2010
se tipo voglio dare a bastoni il valore 1, in modo da nn camboare il while come devo fare???

PM Quote
Avatar
espaoloema (Normal User)
Newbie


Messaggi: 11
Iscritto: 18/02/2010

Segnala al moderatore
Postato alle 16:38
Sabato, 20/02/2010
ragazzi ho risolto, grazie mille per la disponibilità...
passo al 2 esercizio!!!

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo