|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
|
[C] problema su struttura
Codice:
# 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
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"?
__________________
PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote Mobile: Samsung Galaxy Wonder i8150 cm9 |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
Non dichiari da nessuna parte una variabile di tipo ordinazione. Usando la typedef dici solo come sarà fatta una tale variabile, ma non la crei da nessuna parte.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2008
Città: Messina
Messaggi: 991
|
Vero. In quel modo io definisco un tipo e non una variabile. E scrivere ordinazione.colore equivale a scrivere int.colore Non ci avevo pensato a questo errore. Ok grazie per la dritta, proseguo col programma.
__________________
PC/HTPC: Mac Mini 3,1 late 2009 | My Book Studio 2TB | LG M237WD monitor/tv | Logitech Z4 | Apple Magic Mouse | Apple Wireless Keyboard | Apple Remote Mobile: Samsung Galaxy Wonder i8150 cm9 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:11.




















