PDA

View Full Version : Aiuto Programma con le strutture(DEV-C++)


felgiro
03-06-2007, 16:10
salve a tutti!

ho scritto un semplice programma con le strutture:



#include<stdio.h>
#include<string.h>

struct Auto{
char costruttor[80];
Tipo TipoAuto;
}AutoA;

struct Tipo{
char nome[80+1];
Caratteristic Caratt;
}TipoAuto;

struct Caratteristic{
int cilind;
int porte;
}Caratt;

int main(){

strcpy(AutoA.costruttor,"FIAT");
AutoA.TipoAuto.Caratt.porte=5;
AutoA.TipoAuto.Caratt.cilind=1100;
strcpy(AutoA.TipoAuto.nome,"Ecco la")


printf("%s\n",AutoA.costruttor);
printf("%d",AutoA.TipoAuto.Caratt.cilind);
printf("%d",AutoA.TipoAuto.Caratt.porte);
printf("%d",AutoA.TipoAuto.nome);

printf("\n\n");
system("PAUSE");
return 0;

}





e mi genere questo errore quando compilo:




Compilatore: Default compiler
Esecuzione di gcc.exe...
gcc.exe "C:\Documents and Settings\admin\Desktop\LP1\strutture2.c" -o "C:\Documents and Settings\admin\Desktop\LP1\strutture2.exe" -g3 -I"include" -L"lib" -L".lib" -g3
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:7: error: syntax error before "Tipo"
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:7: warning: no semicolon at end of struct or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:9: warning: data definition has no type or storage class
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:16: error: syntax error before "Caratteristic"
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:16: warning: no semicolon at end of struct or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:18: warning: data definition has no type or storage class
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c: In function `main':
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:32: error: request for member `costruttor' in something not a structure or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:33: error: request for member `TipoAuto' in something not a structure or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:34: error: request for member `TipoAuto' in something not a structure or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:35: error: request for member `TipoAuto' in something not a structure or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:38: error: syntax error before "printf"
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:39: error: request for member `TipoAuto' in something not a structure or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:40: error: request for member `TipoAuto' in something not a structure or union
C:\Documents and Settings\admin\Desktop\LP1\strutture2.c:41: error: request for member `TipoAuto' in something not a structure or union

Esecuzione terminata






Chiedo aiuto!!!!!!!!!!!!!:help: :help:

grazie!!!

andbin
03-06-2007, 16:26
struct Auto{
char costruttor[80];
Tipo TipoAuto;
}AutoA;

struct Tipo{
char nome[80+1];
Caratteristic Caratt;
}TipoAuto;

struct Caratteristic{
int cilind;
int porte;
}Caratt;Le hai definite in ordine sbagliato. Nella prima (struct Auto) Tipo non è ancora conosciuto dal compilatore.

felgiro
03-06-2007, 16:36
ho cercato anche come mi hai suggerito tu,però segnala di nuovo errore sulla stessa riga,cioè: "Tipo *TipoAuto"...
devo modificare anche altre cose??

andbin
03-06-2007, 16:44
ho cercato anche come mi hai suggerito tu,però segnala di nuovo errore sulla stessa riga,cioè: "Tipo *TipoAuto"...
devo modificare anche altre cose??Così è perfettamente corretto:
struct Caratteristic{
int cilind;
int porte;
}Caratt;

struct Tipo{
char nome[80+1];
struct Caratteristic Caratt;
}TipoAuto;

struct Auto{
char costruttor[80];
struct Tipo TipoAuto;
}AutoA;

felgiro
03-06-2007, 16:57
Funziona!!!!!
grazie milleeee!!!!
alla prossima!!!!
:)