-hide-
22-12-2008, 16:42
# include <stdio.h>
# include <stdlib.h>
# define NCHAR 20
typedef struct { //OPEN struct
short int giorno;
short int mese;
int anno;
} //CLOSED struct
data;
typedef struct { //OPEN struct
short int ore;
short int minuti;
} // CLOSED struct
ora;
typedef struct { //OPEN struct
char marca_modello[NCHAR];
char colore [NCHAR];
char cognome [NCHAR];
char nome [NCHAR];
char danni [50];
int lavaggio;
data data_consegna;
ora ora_consegna;
} //CLOSED struct
ordinazione;
int main ()
{ //OPEN main
short int scelta; // Scelta per il menù
short int s; //Scelta del lavaggio
for (;scelta!=0;)
{ //OPEN for
printf ("1 - Inserisci articolo\n");
printf ("0 - Esci dal programma\n\n");
printf (" Digita: ");
scanf ("%hd", &scelta);
switch (scelta)
{ //OPEN switch
case 0: //Exit
break;
case 1: //Inserisci articolo
printf ("Inserisci di seguito gli elementi richiesti\n");
printf ("Modello della macchina: ");
scanf ("%s", ordinazione.marca_modello);
printf ("Colore: ");
scanf ("%s", ordinazione.colore);
printf ("Cognome proprietario: ");
scanf ("%s", ordinazione.cognome);
printf ("Nome propietario: ");
scanf ("%s", ordinazione.nome);
printf ("Descrizione danni prima della consegna: ");
scanf ("%s", ordinazione.danni);
printf ("Tipo di lavaggio: ");
printf ("\t11 - Interno\n");
printf ("\t12 - Esterno\n");
printf ("\t13 - Entrambi\n\n");
scanf ("%hd", &s);
switch (s)
{ //OPEN switch2
case 11: printf ("Esterno");
break;
case 12: printf ("Interno");
break;
case 13: printf ("Entrambi");
break;
default: printf ("Scelta sbagliata");
} //CLOSED switch2
} //CLOSED switch1
} //CLOSED for
return 0;
} //CLOSED main
Questo è il codice del programma.
L'errore è sulla parola "ordinazione" negli scanf. Perché non posso indirizzare all'unica struttura creata. Si deve perforza definire una nuova struttura di tipo "ordinazione"?
# include <stdlib.h>
# define NCHAR 20
typedef struct { //OPEN struct
short int giorno;
short int mese;
int anno;
} //CLOSED struct
data;
typedef struct { //OPEN struct
short int ore;
short int minuti;
} // CLOSED struct
ora;
typedef struct { //OPEN struct
char marca_modello[NCHAR];
char colore [NCHAR];
char cognome [NCHAR];
char nome [NCHAR];
char danni [50];
int lavaggio;
data data_consegna;
ora ora_consegna;
} //CLOSED struct
ordinazione;
int main ()
{ //OPEN main
short int scelta; // Scelta per il menù
short int s; //Scelta del lavaggio
for (;scelta!=0;)
{ //OPEN for
printf ("1 - Inserisci articolo\n");
printf ("0 - Esci dal programma\n\n");
printf (" Digita: ");
scanf ("%hd", &scelta);
switch (scelta)
{ //OPEN switch
case 0: //Exit
break;
case 1: //Inserisci articolo
printf ("Inserisci di seguito gli elementi richiesti\n");
printf ("Modello della macchina: ");
scanf ("%s", ordinazione.marca_modello);
printf ("Colore: ");
scanf ("%s", ordinazione.colore);
printf ("Cognome proprietario: ");
scanf ("%s", ordinazione.cognome);
printf ("Nome propietario: ");
scanf ("%s", ordinazione.nome);
printf ("Descrizione danni prima della consegna: ");
scanf ("%s", ordinazione.danni);
printf ("Tipo di lavaggio: ");
printf ("\t11 - Interno\n");
printf ("\t12 - Esterno\n");
printf ("\t13 - Entrambi\n\n");
scanf ("%hd", &s);
switch (s)
{ //OPEN switch2
case 11: printf ("Esterno");
break;
case 12: printf ("Interno");
break;
case 13: printf ("Entrambi");
break;
default: printf ("Scelta sbagliata");
} //CLOSED switch2
} //CLOSED switch1
} //CLOSED for
return 0;
} //CLOSED main
Questo è il codice del programma.
L'errore è sulla parola "ordinazione" negli scanf. Perché non posso indirizzare all'unica struttura creata. Si deve perforza definire una nuova struttura di tipo "ordinazione"?