|
|
|
![]() |
|
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: 15:17.