Arrey di strutture

di il
5 risposte

Arrey di strutture

Ciao a tutti ho un problema con gli array di strutture la roulette è implementata come un array di strutture x il gioco della roulette in cui ogni elemento contiene informazione sul numero e sul colore. Mi sapete spiegare come devo fare perchè ogni mio tentativo porta un errore diverso.il mio problema è inizializzare le caselle il codice è questo:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define DIM 37
typedef struct{
char colore [6];
char pari_dispari [8];
} casella [DIM];

int main() {//inizio main
/***************************
parte roulette
***************************/
int punt, pari, dispari;
char zero,strcpy;
char rosso,casella,verde,nero;
int sc,fisso;
int partita,i;
srand(time(NULL));


strcmp(casella.colore[0],"verde");









/*scelta della puntata */
printf ("Scegli il tipo di puntata che vuoi fare\n");
printf ("Digita 1 per puntare sul colore\n");

printf ("Digita 2 per puntare sul numero pari o dispari\n");

printf ("Digita 3 per puntare sulla prima o seconda meta' dei numeri\n");

printf ("Digita 4 per puntare sulla prima, seconda o terza dozzina\n");

printf ("Digita 5 per puntare sulla prima seconda o terza colonna\n");

printf ("Digita 6 per puntare sul numero fisso\n");
scanf ("%d",&punt);
if (punt<1&&punt>6)
printf ("Valore errato digita un numero valido");
partita=rand()%36;
//inizio switch case
switch (punt){

case 1:printf ("Digita 0 per puntare sul verde 1 per puntare sul rosso o 2 per puntare sul nero");
scanf ("%d",&sc);


case 2:printf ("Digita 1 per puntare sul pari o 2 per puntare sul dispari");
scanf ("%d",&sc);

case 3:printf ("Digita 1 per puntare sulla prima meta o 2 per puntare sulla seconda meta");
scanf ("%d",&sc);

case 4:printf ("Digita 1 per puntare sulla 1a dozzina,2 per la seconda e 3 per la terza");
scanf ("%d",&sc);

case 5:printf ("Digita 1 per puntare sulla 1a colonna,2 per la seconda e 3 per la terza");
scanf ("%d",&sc);
case 6:printf ("Digita il numero che vuoi puntare");
scanf ("%d",&fisso);
}//fine switch case


}//chiusura main


5 Risposte

  • Re: Arrey di strutture

    
    char strcpy;  //errore non chiamare una variabile con lo stesso nome di una funzione
    
    strcmp(casella.colore[0],"verde");  //errore strcmp a vuoto.
    switch (punt){
    
    case 1:printf ("Digita 0 per puntare sul verde 1 per puntare sul rosso o 2 per puntare sul nero");
           scanf ("%d",&sc);
    
    
    case 2:printf ("Digita 1 per puntare sul pari o 2 per puntare sul dispari");
           scanf ("%d",&sc);
    
    case 3:printf ("Digita 1 per puntare sulla prima meta o 2 per puntare sulla seconda meta");
           scanf ("%d",&sc);
    
    case 4:printf ("Digita 1 per puntare sulla 1a dozzina,2 per la seconda e 3 per la terza");
           scanf ("%d",&sc);
    
    case 5:printf ("Digita 1 per puntare sulla 1a colonna,2 per la seconda e 3 per la terza");
           scanf ("%d",&sc);
    case 6:printf ("Digita il numero che vuoi puntare");
           scanf ("%d",&fisso);
    }//fine switch case
    
    
    errore switch. dopo ogni case ci va il break;
    
    Altro non so perche non lo messo sotto il compilatore ma inizia a correggere questi.
  • Re: Arrey di strutture

    Ho corretto quegli errori il problema e' che non riesco ad inizializzare le caselle con i tipi char mentre per gli int e' più semplice
  • Re: Arrey di strutture

    Esempio?
  • Re: Arrey di strutture

    Typedef struct{
    char colore [6];
    char pari_dispari [8];
    } casella [DIM];

    ad esempio devo far si che la casella zero abbia il colore verde (char colore [6])e poi lo zero deve avere come caratteristica che sia pari.
    mentre per riempire l'arrey si fa casella.colore [0]=XXX;
    come devo fare per mettere un char??
    e poi per confrontarlo con la scelta dell'utente come posso fare??
  • Re: Arrey di strutture

    
    
    typedef struct{
    char colore [6];
    char pari_dispari [8];
    } casella;
    
    casella caselle[DIM];
    
    strcpy(caselle[0].colore,"verde");
    
    if(strcmp(caselle[0].colore,"verde") == 0)
    //uguali
    
Devi accedere o registrarti per scrivere nel forum
5 risposte